开源前线(ID:OpenSourceTop) 猿妹整编
综合自:https://github.com/babysor/MockingBird
大家应该都知道声音克隆技术,通俗的来说就是借助深度学习算法,可以完全模拟某个人的声音,而且由机器合成的语音连情绪都能够完美表达出来,基本可以以假乱真,只要不见面,你根本就察觉不出来向你发出声音的知识一个机器。
语音克隆最大的创新之一是减少创建语音所需的原始数据量。过去,该系统需要数十甚至数百小时的音频。但是,今天猿妹要和大家分享的这个工具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/ target=_blank class=infotextkey>Python 3.7 或更高版本
- 安装 PyTorch
- 安装 ffmpeg。
- 运行pip install -r requirements.txt 来安装剩余的必要包。
- 安装 webrtcvad 用 pip install webrtcvad-wheels。
接着,你需要使用数据集训练合成器:
- 下载 数据集并解压:确保您可以访问 train 文件夹中的所有音频文件(如.wav)
- 使用音频和梅尔频谱图进行预处理:python synthesizer_preprocess_audio.py <datasets_root> 可以传入参数 --dataset {dataset} 支持 adatatang_200zh, magicdata, aishell3
- 预处理嵌入:python synthesizer_preprocess_embeds.py <datasets_root>/SV2TTS/synthesizer
- 训练合成器:python synthesizer_train.py mandarin <datasets_root>/SV2TTS/synthesizer
- 当你在训练文件夹 synthesizer/saved_models/ 中看到注意线显示和损失满足您的需要时,请转到下一步。
使用预先训练好的合成器,如果没有设备或者不想慢慢调试,可以使用网友贡献的模型。
训练声码器
- 预处理数据: python vocoder_preprocess.py <datasets_root>
- 训练声码器: python vocoder_train.py mandarin <datasets_root>
启动工具箱
然后你可以尝试使用工具箱:python demo_toolbox.py -d <datasets_root>