大家应该都知道声音克隆技术,通俗的来说就是借助深度学习算法,可以完全模拟某个人的声音,而且由机器合成的语音连情绪都能够完美表达出来,基本可以以假乱真,只要不见面,你根本就察觉不出来向你发出声音的知识一个机器。

语音克隆最大的创新之一是减少创建语音所需的原始数据量。过去,该系统需要数十甚至数百小时的音频。但是,今天猿妹要和大家分享的这个工具5秒钟就可以克隆成功,这个工具名叫——MockingBird。

MockingBird已经登上Github热榜,收获3.5K的Star,累计分支 303(Github地址:https://github.com/babysor/MockingBird)

MockingBird具有如下特性:

  • 支持普通话并使用多种中文数据集进行测试

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

  • 支持 Windows + Linux

  • 仅使用新训练的合成器(synthesizer)就有良好效果,复用预训练的编码器/声码器

MockingBird如何使用

MockingBird的安装要求如下:

  • 首先,MockingBird需要Python 3.7 或更高版本

  • 安装 PyTorch

  • 安装 ffmpeg。

  • 运行pip install -r requirements.txt 来安装剩余的必要包。

  • 安装 webrtcvad 用 pip install webrtcvad-wheels。

接着,你需要使用数据集训练合成器:

  • 下载 数据集并解压:确保您可以访问 train 文件夹中的所有音频文件(如.wav)

  • 使用音频和梅尔频谱图进行预处理:python synthesizer_preprocess_audio.py 可以传入参数 --dataset {dataset} 支持 adatatang_200zh, magicdata, aishell3

  • 预处理嵌入:python synthesizer_preprocess_embeds.py /SV2TTS/synthesizer

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

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

使用预先训练好的合成器,如果没有设备或者不想慢慢调试,可以使用网友贡献的模型。

训练声码器

  • 预处理数据: python vocoder_preprocess.py

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

启动工具箱

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