GitHub源项目:babysor/Realtime-Voice-Clone-Chinese: 🚀AI拟声: 5秒内克隆您的声音并生成任意语音内容 Clone a voice in 5 seconds to generate arbitrary speech in real-time (github.com)
本人小白,不了解原理,此帖仅抛砖引玉,适用于傻瓜式操作,会改路径的参考原帖
先把项目代码下载下来 然后见下 1. 安装要求
Python 3.7 或更高版本 ,亲测3.9可行
安装pytorch。可上pytorch.org官网下载显卡匹配的cuda版本,pip安装
如果在用 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。参考csdn的帖子:ffmpeg的安装与使用_赵至柔的博客-CSDN博客_ffmpeg
运行pip install -r requirements.txt 来安装剩余的必要包。此步骤在下载的code文件夹下用cmd运行,否则install -r后标明txt路径
安装 webrtcvad 用 pip install webrtcvad-wheels。
2. 使用数据集训练合成器(不想训练直接用见3.)
下载 数据集并解压:确保您可以访问 下载的数据集下train 文件夹中的所有音频文件(如.wav)
数据集下载地址:www.openslr.org/93/ www.openslr.org/62/ 据说aishell3训练出更好效果 盘下新建data文件夹,将下载的aishell3放进去
使用音频和梅尔频谱图进行预处理:下载得code文件夹下cmd打开 python synthesizer_preprocess_audio.py <datasets_root> --dataset {dataset} ( {dataset} 用adatatang_200zh, magicdata, aishell3替换,三选一,看你下载的是哪个数据集;;;<datasets_root>用D:\data\替换
假如發生 頁面文件太小,無法完成操作,,將虛擬內存改大,或改為100G(102400),例如:档案放置D槽就更改D槽的虚拟内存 以下三步本人没试过,使用方法同上,具体见开源项目
预处理嵌入: python synthesizer_preprocess_embeds.py <datasets_root>/SV2TTS/synthesizer
训练合成器: python synthesizer_train.py mandarin <datasets_root>/SV2TTS/synthesizer
当您在训练文件夹 synthesizer/saved_models/ 中看到注意线显示和损失满足您的需要时,请转到下一步。
3.使用预先训练好的合成器
实在没有设备或者不想慢慢调试,可以使用网友贡献的模型(欢迎持续分享):作者:@miven 下载地址:https://pan.baidu.com/s/1PI-hM3sn5wbeChRryX-RCQ 提取码:2021 希望有大佬炼好仙丹分享,目前这个模型一般 将下载的文件下三个文件夹复制到code文件夹替换 运行code下demo_toolbox.py文件,出现ui,使用方法见视频 如果跑出来这个错误RuntimeError: Error(s) in loading state_dict for Tacotron: size mismatch for encoder.embedding.weight: copying a param with shape torch.Size([70, 512]) from checkpoint, the shape in current model is torch.Size([75, 512])你可以把文件中:synthesizer/utils/symbols.py 第11行的symbols 改为: _characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz12340!\'(),-.:;? ' 最后,感谢源作者使项目支持中文语音!侵权立删! ps:本教程在原readme文件上修改 彩蛋:源作者微信交流群issue自找