babysor /MockingBird

🚀Clone a voice in 5 seconds to generate arbitrary speech in real-time

★ 36,875⑂ 5,151👁 298⑃ 102● 889▤ 1◈ 20
PythonNOASSERTIONCreated 2021-08-07
36,875
stars
+4+-8+-22
5,151
forks
298
watchers
102
prs
889
issues
1
releases
20
discussions

README

实时语音克隆 - 中文/普通话
!mockingbird



 English  | 中文

 DEMO VIDEO | Wiki教程) | 训练教程

 特性
🌍 中文 支持普通话并使用多种中文数据集进行测试:aidatatang_200zh, magicdata, aishell3, biaobei, MozillaCommonVoice, data_aishell 等

🤩 PyTorch 适用于 pytorch,已在 1.9.0 版本(最新于 2021 年 8 月)中测试,GPU Tesla T4 和 GTX 2060

🌍 Windows + Linux 可在 Windows 操作系统和 linux 操作系统中运行(苹果系统M1版也有社区成功运行案例)

🤩 Easy & Awesome 仅需下载或新训练合成器(synthesizer)就有良好效果,复用预训练的编码器/声码器,或实时的HiFi-GAN作为vocoder

🌍 Webserver Ready 可伺服你的训练结果,供远程调用


 开始
 1. 安装要求
 1.1 通用配置
 按照原始存储库测试您是否已准备好所有环境。
运行工具箱(demo_toolbox.py)需要 Python 3.7 或更高版本 。

 安装 PyTorch。
 如果在用 pip 方式安装的时候出现 ERROR: Could not find a version that satisfies the requirement torch==1.9.0+cu102 (from versions: 0.1.2, 0.1.2.post1, 0.1.2.post2) 这个错误可能是 python 版本过低,3.9 可以安装成功
 安装 ffmpeg。
 运行pip install -r requirements.txt 来安装剩余的必要包。
 这里的环境建议使用 Repo Tag 0.0.1 Pytorch1.9.0 with Torchvision0.10.0 and cudatoolkit10.2 requirements.txt webrtcvad-wheels 因为 requiremants.txt 是在几个月前导出的,所以不适配新版本
 安装 webrtcvad pip install webrtcvad-wheels。

或者
- 用conda 或者 mamba 安装依赖

  conda env create -n env_name -f env.yml

  mamba env create -n env_name -f env.yml

  会创建新环境安装必须的依赖. 之后用 conda activate env_name 切换环境就完成了.
   env.yml只包含了运行时必要的依赖,暂时不包括monotonic-align,如果想要装GPU版本的pytorch可以查看官网教程。

 1.2 M1芯片Mac环境配置(Inference Time)
 以下环境按x86-64搭建,使用原生的demo_toolbox.py,可作为在不改代码情况下快速使用的workaround。

    如需使用M1芯片训练,因demo_toolbox.py依赖的PyQt5不支持M1,则应按需修改代码,或者尝试使用web.py。

 安装PyQt5,参考这个链接
   用Rosetta打开Terminal,参考这个链接
   用系统Python创建项目虚拟环境
    
    /usr/bin/python3 -m venv /PathToMockingBird/venv
    source /PathToMockingBird/venv/bin/activate
    
   升级pip并安装PyQt5
    
    pip install --upgrade pip
    pip install pyqt5
    
 安装pyworld和ctc-segmentation
   这里两个文件直接pip install的时候找不到wheel,尝试从c里build时找不到Python.h报错
   安装pyworld
     brew install python 通过brew安装python时会自动安装Python.h
     export CPLUS_INCLUDE_PATH=/opt/homebrew/Frameworks/Python.framework/Headers 对于M1,brew安装Python.h到上述路径。把路径添加到环境变量里
     pip install pyworld

   安装ctc-segmentation
     因上述方法没有成功,选择从github clone源码手动编译
     git clone https://github.com/lumaku/ctc-segmentation.git 克隆到任意位置
     cd ctc-segmentation
     source /PathToMockingBird/venv/bin/activate 假设一开始未开启,打开MockingBird项目的虚拟环境
     cythonize -3 ctc_segmentation/ctc_segmentation_dyn.pyx
     /usr/bin/arch -x86_64 python setup.py build 要注意明确用x86-64架构编译
     /usr/bin/arch -x86_64 python setup.py install --optimize=1 --skip-build用x86-64架构安装

 安装其他依赖
     /usr/bin/arch -x86_64 pip install torch torchvision torchaudio 这里用pip安装PyTorch,明确架构是x86
     pip install ffmpeg  安装ffmpeg
     pip install -r requirements.txt

 运行
   参考这个链接
  ,让项目跑在x86架构环境上
   vim /PathToMockingBird/venv/bin/pythonM1
   写入以下代码
    
    !/usr/bin/env zsh
    mydir=${0:a:h}
    /usr/bin/arch -x86_64 $mydir/python "$@"
    
   chmod +x pythonM1 设为可执行文件
   如果使用PyCharm,则把Interpreter指向pythonM1,否则也可命令行运行/PathToMockingBird/venv/bin/pythonM1 demo_toolbox.py

 2. 准备预训练模型
考虑训练您自己专属的模型或者下载社区他人训练好的模型:
 近期创建了知乎专题 将不定期更新炼丹小技巧or心得,也欢迎提问
 2.1 使用数据集自己训练encoder模型 (可选)

Top issues

Discussions

Latest release

A previous version checkpoint v0.0.1 2021-11-07

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON