project
WorldSonus - 港科大联合上海交大开源的流式视频配音框架
WorldSonus 是港科大 Qifeng Chen 组联合 Noiz AI、MetaX、上海交大开源的流式视频配音框架,视频流边生成, 用 100ms 一块实时输出 48kHz 立体声音频。
WorldSonus是什么
WorldSonus 是港科大联合 Noiz AI、MetaX、上海交大开源的流式视频配音框架,视频流边生成, 用 100ms 一块实时输出 48kHz 立体声音频。WorldSonus 采用因果 AR 扩散架构与 5 秒 Ring-KV 缓存,支持生成中途无缝更换音效提示词,左右声道跟随场景声源方位与镜头运动。五档测试集音质全面超越 AudioX、ThinkSound 等双向离线模型。
WorldSonus的主要功能
- 实时流式配音:视频流边生成边输出音频,每 100ms 一块、单块计算仅 41.2ms,显存占用恒定、可无限时长的跟流。
- 中途交互改声:生成过程中可随时改写文字音效指令,在最近块边界无缝切换,会话状态不丢失、无需重算历史帧。
- 空间立体声:输出 48kHz 双声道,声源方位与镜头运动实时反映在左右声道上。
- 模块化即插即用:独立于视觉骨干,只接收”已实现的视频帧”,可挂接任意世界模型或游戏引擎。
- 开放域通用:除交互式场景外,在 VGGSound 等通用视频上音质仍超越离线双向模型。
WorldSonus的技术原理
- 分块因果流式生成(AR-Diffusion):将音频编码进因果立体声 VAE 的连续潜空间,每 100ms 对应 3 个 latent 帧;decoder-only Transformer 每步只读”上一音频块+当前视频块”两个聚合 token,配合 W=50 块的 Ring-KV 循环缓存实现有界记忆,再用轻量 flow head 以 rectified-flow 目标去噪当前块。
- 双时间尺度视觉条件:冻结 DINOv3 将每帧编码为 patch 网格并拼接帧差图捕捉运动,每帧聚成 1 个 token;3 个帧 token 再聚合为 1 个块级语义 token 送入 AR 骨干管长程连贯,3 个帧对齐 token 则绕过骨干直接喂给 flow head 管音画同步的细粒度渲染,长程规划与局部渲染解耦。
- ShiftNCE 训练期对齐蒸馏:把冻结的 Synchformer 当训练期教师,用对比学习把同步能力蒸馏进 AR 隐状态:正样本为时间对齐窗口,负样本为同视频错开若干块的窗口,对高相似度偏移做假负样本过滤;推理时零开销,去掉后 DeSync 从 0.831 恶化到 1.067。
- 时变提示调度与原地提示控制:提示词经 T5Gemma 2 压缩为 token 集并缓存于 cross-attention;中途换词只在最近块边界原地替换这份缓存,Ring-KV 与视听状态均不动。训练时特意混入中途切换、撤指令、加指令四种时变调度,模型由此学会无缝转场。
微信关注回复“开源”,加入AI开源项目交流群
如何使用WorldSonus
- 环境准备:准备 Python 3.10+、CUDA 显卡、FFmpeg/ffprobe,确保 GPU 驱动已安装。
- 拉取代码:
git clone https://github.com/NoizAI/WorldSonus.git并进入项目目录。 - 安装依赖:运行
bash scripts/setup.sh .venv(自动安装 CUDA 12.4 版 PyTorch),然后source .venv/bin/activate和pip install -e '.[features]'。 - 下载主模型权重:运行
python scripts/download_model.py --output assets拉取 WorldSonus 权重。 - 下载编码器:运行
python scripts/download_encoders.py --output assets获取 DINOv3 与 T5Gemma 2。 - 离线整段配音:执行
python -m worldsonus.infer --video input.mp4 --prompt "音效描述文字" --output output.wav,自动完成特征提取、生成与解码,输出 48kHz 立体声 WAV。 - 可选参数:用
--start 5 --seconds 10截取视频窗口,或省略--prompt做纯视频条件生成。 - 流式实时生成:加上
--stream参数即可分块增量生成音频。 - 边生成边播放:加
--stream --pcm-stdout将原始 PCM 通过管道直送ffplay -f f32le -ar 48000 -ac 2 -i - -nodisp -autoexit实现即时试听。
WorldSonus的核心优势
-
流式因果架构:用 100ms 为一块、单块仅 41.2ms实时生成音频,显存恒定、可无限跟流。
-
中途改词:生成过程中可随时无缝替换音效指令,状态不丢、延迟仍在实时线内。
-
空间立体声:48kHz 双声道输出,声源方位与镜头运动实时对齐。
-
模块化易集成:只接收已生成的视频帧,可挂接任意世界模型或游戏引擎。
-
音质反超离线模型:在五档测试集上 FAD 等指标全面优于能看到完整视频的双向基线。
-
长程稳定:5 秒 Ring-KV 缓存下连续生成 30 秒无漂移、无崩塌。
WorldSonus的项目地址
- 项目官网:https://noizai.github.io/WorldSonus/
- GitHub仓库:https://github.com/NoizAI/WorldSonus
- HuggingFace模型库:https://huggingface.co/FF2416/WorldSonus
- arXiv技术论文:https://arxiv.org/abs/2610.08760
WorldSonus的同类竞品对比
| 维度 | WorldSonus | ThinkSound |
|---|---|---|
| 架构 | 因果流式 AR-Diffusion | 双向 Diffusion + 多模态 LLM 思维链推理 |
| 视觉条件 | 仅过去+当前帧(严格因果) | 需完整视频片段 |
| 生成方式 | 100ms 分块流式输出 | 整段离线生成 |
| 实时性 | RTF 0.41(41.2ms/块) | 非实时 |
| 输出 | 48kHz 立体声 | 立体声 |
| 中途改词 | 支持,块边界无缝切换 | 不支持 |
| FAD(VGG10s) | 1.79 | 2.18 |
| FAD(Inter10s) | 2.62 | 6.27 |
| FAD(Inter30s) | 2.03 | 7.00 |
| DeSync(VGG5s) | 0.686 | 0.481(全场最优) |
| DeSync(Inter10s) | 0.820 | 0.738 |
| BiasSkill(Inter30s) | 15.90 | 0.63 |
| 用户偏好(总体) | 80.0%胜率 | 20.0% |
| 用户偏好(空间对齐) | 90.0% 胜率 | 10.0% |
| 长程稳定 | 30s 无漂移 | 无流式能力,不涉及 |
| 权重开源 | 是(CC BY-NC 4.0,4.12GB) | 是(Apache 2.0) |
| 商用许可 | 非商用 | 可商用 |
WorldSonus的应用场景
-
世界模型与游戏引擎实时配音:为 GameGen-X、LingBot-World 2.0 等交互式世界模型及游戏引擎的画面流实时生成环境音,画面走到哪、声音跟到哪。
-
虚拟直播与数字人:直播画面边生成边同步出声,主播可中途语音/文字指令即时改变音效,无需停播重录。
-
长视频流边生成边配乐:电影预告片、AI 生成长视频等场景下,无需等整段渲染完成即可逐块产出 48kHz 立体声配乐,大幅缩短后期周期。
-
VR/AR 与仿真训练环境:在虚拟仿真、自动驾驶训练、军事推演等环境中,为动态视角的画面流生成相机对齐的空间音频,提升沉浸感与训练真实度。
-
智能体/机器人感知:为具身智能体提供实时视听同步信号,使其在视觉输入的同时获得立体声环境反馈,辅助导航与交互决策。