Fun-CineForge-Demo / README_zh.md
xuan3986's picture
Upload 111 files
03022ee verified

A newer version of the Gradio SDK is available: 6.10.0

Upgrade

English | 简体中文」

🎬 Fun-CineForge:一种用于多样化影视场景零样本配音的统一数据集管道和模型

license

Fun-CineForge 包含一个生产大规模配音数据集的端到端数据集管道,和一个基于多模态大模型的配音模型,该模型专为多样的电影场景而设计。利用该管道,我们构建了首个大规模中文电视剧配音数据集 CineDub-CN,该数据集包含丰富的标注和多样化的场景。在独白、旁白、对话和多说话人场景中,我们的配音模型在音频质量、唇形同步、音色转换和指令遵循等方面全部优于最先进的方法。

数据集 & 样例 🎬

您可以访问此 https://funcineforge.github.io/ 获取我们的 CineDub-CN 数据集和 CineDub-EN 数据集样例和演示样例。

环境安装

Fun-CineForge 依赖 Conda 和 Python 环境。执行 setup.py 自动安装整个项目环境和开源模型。

# Conda
git clone git@github.com:FunAudioLLM/FunCineForge.git
conda create -n FunCineForge python=3.10 -y && conda activate FunCineForge
sudo apt-get install ffmpeg
# 初始化设置
python setup.py

数据集管道 🔨

数据收集

如果您想自行生产数据,我们建议您参考下面的要求收集相应的电影或影视剧。

  1. 视频来源:电视剧或电影,非纪录片,人物独白或对话场景较多,人脸清晰且无遮挡(如无面罩、面纱)。
  2. 语音要求:发音标准,吐字清晰,人声突出。避免方言浓重、背景噪音过大或口语感过强的素材。
  3. 图片要求:高分辨率,面部细节清晰,光线充足,避免极端阴暗或强烈逆光的场景。

使用方法

  • [1] 将视频格式、名称标准化;裁剪长视频的片头片尾;提取裁剪后视频的音频。(默认是从起止各裁剪 10 秒。)
python normalize_trim.py --root datasets/raw_zh --intro 10 --outro 10
cd speech_separation
python run.py --root datasets/clean/zh --gpus 0 1 2 3
  • [3] VideoClipper. 对于长视频,使用 VideoClipper 获取句子级别的字幕文件,并根据时间戳将长视频剪辑成片段。现在它支持中英双语。以下是中文示例。英文建议采用 gpu 加速处理。
cd video_clip
bash run.sh --stage 1 --stop_stage 2 --input datasets/raw_zh --output datasets/clean/zh --lang zh --device cpu
  • 视频时长限制及清理检查。(若不使用--execute参数,则仅打印已预删除的文件。检查后,若需确认删除,请添加--execute参数。)
python clean_video.py --root datasets/clean/zh
python clean_srt.py --root datasets/clean/zh --lang zh
  • [4] Speaker Diarization. 多模态主动说话人识别,得到 RTTM 文件;识别说话人的面部帧,提取帧级的说话人面部和唇部原始数据,从面部帧中识别说话帧,提取说话帧的面部特征。
cd speaker_diarization
bash run.sh --stage 1 --stop_stage 4 --hf_access_token hf_xxx --root datasets/clean/zh --gpus "0 1 2 3"
  • (参考)基于 CosyVoice3 tokenizer 提取 speech tokens 用于大模型训练。
python speech_tokenizer.py --root datasets/clean/zh
  • [5] 多模态思维链校正。该系统基于通用多模态大模型,以音频、ASR 抄本和 RTTM 文件为输入,利用思维链推理来提取线索,并校正专用模型的结果,并标注人物年龄、性别和音色。实验结果表明,该策略将词错率从4.53% 降低到 0.94%,说话人识别错误率从 8.38% 降低到 1.20%,其质量可与人工转录相媲美,甚至更优。添加--resume选项可启用断点思维链推理,以避免重复思维链推理造成的资源浪费。现支持中英文。
python cot.py --root_dir datasets/clean/zh --lang zh --provider google --model gemini-3-pro-preview --api_key xxx --resume
python cot.py --root_dir datasets/clean/en --lang en --provider google --model gemini-3-pro-preview --api_key xxx --resume
  • 数据集检索文件的构建会读取生产的所有数据,双向校验脚本内容和说话人分离结果。
python build_datasets.py --root_zh datasets/clean/zh --root_en datasets/clean/en --out_dir datasets/clean --save

配音模型 ⚙️

我们开源了推理代码和 infer.sh 脚本,在 data 文件夹中提供了一些测试样例,以供体验。推理需要一张消费级 GPU。按下面的命令运行:

cd exps
bash infer.sh

从原始视频和 SRT 脚本进行多人配音的 API 调用接口在开发中 ...

近期更新 🚀

  • 2025/12/18:Fun-CineForge 数据集管道工具包上线!🔥
  • 2026/01/19:发布中文演示样例和 CineDub-CN 数据集样例。 🔥
  • 2026/01/25:修复了一些环境和运行问题。
  • 2026/02/09:优化了数据管道,新增支持英文视频的能力。
  • 2026/03/05:发布英文演示样例和 CineDub-EN 数据集样例。 🔥
  • 2026/03/16:开源推理代码和 checkpoints。 🔥

发表 📚

如果您使用了我们的数据集或代码,请引用以下论文:

@misc{liu2026funcineforgeunifieddatasettoolkit,
    title={FunCineForge: A Unified Dataset Toolkit and Model for Zero-Shot Movie Dubbing in Diverse Cinematic Scenes}, 
    author={Jiaxuan Liu and Yang Xiang and Han Zhao and Xiangang Li and Zhenhua Ling},
    year={2026},
    eprint={2601.14777},
    archivePrefix={arXiv},
    primaryClass={cs.CV},
}

社区交流 🍟

Fun-CineForge 开源项目由通义实验室语音团队和中国科学技术大学 NERCSLIP 学生开发并维护,我们欢迎您在 Fun-CineForge GitHub Issues 参与问题讨论,或联系我们合作开发。 有任何问题您可以联系开发者

⭐ 希望您你支持 Fun-CineForge,谢谢。

免责声明

该仓库包含的研究成果:

⚠️ 目前非通义实验室商业化产品

⚠️ 供学术研究/前沿探索用途

⚠️ 数据集样例受特定许可条款约束