MockingBird/README-CN.md

4.7 KiB
Raw Blame History

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

mockingbird

MIT License

English | 中文

DEMO VIDEO

特性

🌍 中文 支持普通话并使用多种中文数据集进行测试adatatang_200zh, magicdata, aishell3

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

🌍 Windows + Linux 在修复 nits 后在 Windows 操作系统和 linux 操作系统中进行测试

🤩 Easy & Awesome 仅使用新训练的合成器synthesizer就有良好效果复用预训练的编码器/声码器

快速开始

0训练新手友好版可以参考 Quick Start (Newbie)

1. 安装要求

按照原始存储库测试您是否已准备好所有环境。 Python 3.7 或更高版本 需要运行工具箱。

如果在用 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 来安装剩余的必要包。
  • 安装 webrtcvad 用 pip install webrtcvad-wheels

2. 使用数据集训练合成器

  • 下载 数据集并解压:确保您可以访问 train 文件夹中的所有音频文件(如.wav
  • 进行音频和梅尔频谱图预处理: python pre.py <datasets_root>

可以传入参数 --dataset {dataset} 支持 adatatang_200zh, magicdata, aishell3, BZNSYP

假如你下载的 aidatatang_200zh文件放在D盘train文件路径为 D:\data\aidatatang_200zh\corpus\train , 你的datasets_root就是 D:\data\

假如發生 頁面文件太小,無法完成操作,請參考這篇文章將虛擬內存更改為100G(102400),例如:档案放置D槽就更改D槽的虚拟内存

  • 训练合成器: python synthesizer_train.py mandarin <datasets_root>/SV2TTS/synthesizer

  • 当您在训练文件夹 synthesizer/saved_models/ 中看到注意线显示和损失满足您的需要时,请转到下一步。

仅供参考,我的注意力是在 18k 步之后出现的,并且在 50k 步之后损失变得低于 0.4 attention_step_20500_sample_1 step-135500-mel-spectrogram_sample_1

2.2 使用预先训练好的合成器

实在没有设备或者不想慢慢调试,可以使用网友贡献的模型(欢迎持续分享):

作者 下载链接 效果预览
@miven https://pan.baidu.com/s/1PI-hM3sn5wbeChRryX-RCQ 提取码2021 https://www.bilibili.com/video/BV1uh411B7AD/)

2.3 训练声码器 (Optional)

  • 预处理数据: python vocoder_preprocess.py <datasets_root>

  • 训练声码器: python vocoder_train.py mandarin <datasets_root>

3. 启动工具箱

然后您可以尝试使用工具箱: python demo_toolbox.py -d <datasets_root>

Good news🤩: 可直接使用中文

TODO

  • 允许直接使用中文
  • 添加演示视频
  • 添加对更多数据集的支持
  • 上传预训练模型
  • 支持parallel tacotron
  • 服务化与容器化
  • 🙏 欢迎补充

引用及论文

该库一开始从仅支持英语的Real-Time-Voice-Cloning 分叉出来的,鸣谢作者。

URL Designation 标题 实现源码
1806.04558 SV2TTS Transfer Learning from Speaker Verification to Multispeaker Text-To-Speech Synthesis This repo
1802.08435 WaveRNN (vocoder) Efficient Neural Audio Synthesis fatchord/WaveRNN
1703.10135 Tacotron (synthesizer) Tacotron: Towards End-to-End Speech Synthesis fatchord/WaveRNN
1710.10467 GE2E (encoder) Generalized End-To-End Loss for Speaker Verification 本代码库