HuggingFace镜像/Fun-CineForge
模型介绍文件和版本分析
下载使用量0

🎬 Fun-CineForge:面向多样化电影场景的零样本电影配音统一数据集管道与模型

license

开源资源 |环境配置 |数据集管道 |配音模型 |最近更新 |学术论文 |交流联系

Fun-CineForge 包含一个用于生成大规模配音数据集的端到端数据集管道,以及一个基于多模态大语言模型(MLLM)、专为多样化电影场景设计的配音模型。通过该管道,我们构建了首个大规模中文影视配音数据集 CineDub-CN,其中包含丰富的标注信息和多样化的场景。在独白、旁白、对话及多说话人场景中,我们的配音模型在音频质量、唇形同步、音色转换和指令遵循能力方面均持续优于当前最先进的方法。

开源资源 🎬

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

GitHub 链接:https://github.com/FunAudioLLM/FunCineForge/

ModelScope 链接:https://www.modelscope.cn/models/FunAudioLLM/Fun-CineForge/

CineDub 样本: huggingface modelscope

环境安装

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
# Initial settings
python setup.py

数据集处理流程 🔨

数据收集

若您希望生成自己的数据,建议参考以下要求收集相应的电影或电视剧资源。

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

使用方法

  • [1] 统一视频格式与命名;对长视频进行首尾裁剪;从裁剪后的视频中提取音频。(默认首尾各裁剪10秒。)
python normalize_trim.py --root datasets/raw_zh --intro 10 --outro 10
  • [2] 语音分离。音频用于将人声与器乐分离。
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] 说话人 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"
  • (Reference) 基于 CosyVoice3 分词器提取语音令牌,用于 llm 训练。
python speech_tokenizer.py --root datasets/clean/zh
  • [5] 多模态CoT修正。系统基于通用MLLM,以音频、ASR文本和RTTM文件作为输入。它利用思维链(Chain-of-Thought,CoT)推理提取线索,并修正专业模型的结果。同时,系统还会标注角色年龄、性别和 vocal timbre。实验结果表明,该策略将CER从4.53%降低至0.94%,将说话人分轨错误率从8.38%降低至1.20%,实现了与人工转录相当甚至更优的质量。添加 --resume 可启用断点CoT推理,防止重复CoT推理造成资源浪费。目前支持中文和英文。
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

多 speaker 视频配音 API(基于原始视频和 SRT 脚本)正在开发中……

近期更新 🚀

  • 2025/12/18:Fun-CineForge 数据集处理工具包上线!🔥
  • 2026/01/19:发布中文演示样例及 CineDub-CN 数据集样例。🔥
  • 2026/01/25:修复部分环境配置及操作问题。
  • 2026/02/09:优化数据处理流程,新增对英文视频的支持。
  • 2026/03/05:发布英文演示样例及 CineDub-EN 数据集样例。🔥
  • 2026/03/16:开源推理代码及模型 checkpoint。🔥

学术论文 📚

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

@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 的支持。感谢!

免责声明

本仓库包含研究性成果:

⚠️ 目前并非通义实验室的商业产品。

⚠️ 发布仅用于学术研究/前沿探索目的。

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