MockingBird
- 支持中文:支持普通话并使用多种中文数据集进行测试:aidatatang_200zh, magicdata, aishell3, biaobei, MozillaCommonVoice, data_aishell 等
- Windows + Linux:可在 Windows 操作系统和 linux 操作系统中运行(苹果系统M1版也有社区成功运行案例)
- 简单部署:仅需下载或新训练合成器(synthesizer)就有良好效果,复用预训练的编码器/声码器,或实时的HiFi-GAN作为vocoder
- 网络服务:可伺服你的训练结果,供远程调用。
为什么不需要安装环境即可使用?
此压缩包内已内置便携版的Python,并且将需要用到的环境、依赖、模型都打包进去,不需要手动安装任何东西。
如何使用
下载压缩包后找一个还有至少5G空间的盘,解压压缩包,注意不能有中文路径!
进入后双击运行工具箱/运行工具箱-vc模式/运行web程序,即可运行该项目。
- 在【Utterance(音频)】位置选择我内置的某一条音频,点击【Load Above(加载上面)】选中一条音频,此时你能在左边的【Current(当前)】位置看到这条音频。或者你也可以点击【打开本地】打开一条你自己要模仿的音频,再或者点击录音,录制你自己的声音作为输入。
- 接下来点击【Synthesizer】选择声学模型,pretrained-11-7-21_75k是作者提供的模型,下面的qh开头的是用海子姐的语音微调过的模型,rty开头的是用然天一大佬的合作音娘三七的语音微调过的模型。微调后的模型更适合模仿对应角色的语音。如果你上面选择的是qh或者rty开头的输入音频,你可以在下面选择对应的模型来获取更好的合成效果。如果你选择的是别的语音,选择作者提供的模型可能效果会更好。
- 关于【Vocoder】即声码器的选择可以先使用g_hifigan来快速合成音频听效果,如果效果还可以则可以选择pretrained获取更慢但更好的效果。
- 合成音频分为两步,一是声学模型合成梅尔图,你可以点击【Synthesize only】来进行合成,如果你合成的梅尔图效果比较清晰,则可以继续下一步,如果不清晰则可以尝试多合成几次。第二步是合成音频,你可以点击【Vocode only】来进行合成,当你想更换声码器时你可以在更换后点击【Vocode only】避免重复合成梅尔图。【Synthesize and Vocode】则是同时进行这两步。
- 合成完毕后左下角【Toolbox Output】位置会出现新的音频,你合成过的音频都会放在这里,你可以选择【Replay】重听,或点击【Export】导出。下面的【Audio Output】可以选择播放的音频设备右侧的其它选项:
【Random seed】:可能是固定每次合成中的随机种子。
【Enhance vocoder output】:自动裁剪输入音频中的非语音部分以获得更好的模仿效果。【Style/Accuracy】:不知道(可以问问作者)
【最大句长】:拉满,不然合成长句的时候可能会有截断的现象。
其他:
- 更换声学模型或声码器等情况下点击合成,可能会有窗口布局改变且合成失败的情况,再次点击合成即可。
- 当出现颤音的时候重新运行声码器基本都能解决
工具箱|VC模式
首先选择/上传/录制 两条音频,在【当前】中选择一条点击【选择为被转换的语音输入】,然后在【当前】中选择另一条,然后不要点【选择为被转换的语音输入】。然后再点击【Extract and Convert】此时程序将尝试用之后选择音频的音色来读之前选择音频的内容。
WEB程序
双击运行web程序,然后复制给出的地址,粘贴到浏览器里(如果不能访问请尝试访问127.0.0.1:8080)。然后游玩顺序就和工具箱基本一致了,在左侧切换模式,右侧的工作区可以上传音频/使用示例音频进行合成.
其他细节
- 环境中安装的是CPU版本的Pytorch,只能用于合成,不能用于训练,如果你想训练需要自己安装GPU版本的Pytorch,以及Cuda Cudnn这些环境,你需要更深入的知识。
- 如果你需要安装其他包,你可以运行文件夹中的【命令行】 然后使用
python -m pip
代替原本的 pip 命令进行安装。 - 关于C++编译环境,之所以需要这个是因为目前有些包中包含C语言源码,需要编译才能安装,我已经将唯一一个需要编译的包 ctc_segmentation 编译完后打包放在了lib下,然后已经安装完成,如果以后还有这种问题可以用类似的方式解决,找个有编译环境的人给你打个编译完的包。
- 关于重新获取项目:你可能需要备份所有位置下的.pt文件 然后删除源MockingBird文件夹,双击【获取项目】重新从github上克隆项目。
- 关于更新项目:双击【更新项目】
- 关于github访问失败:可能偶现出现,可以反复尝试点击“重试”按钮,或者可以尝试使用手机流量热点共享网络给电脑,该方式可以大概率解决该问题。
- 其他模型:在github项目的issue里,有其他网友分享的模型,下载后把pt文件放在
MockingBird\synthesizer\saved_models
下即可。 - 关于MockingBird和PaddleSpeech:这两者其实不是一个赛道上的产品,但是恰巧都能实现语音克隆的功能,我个人觉得还是paddlespeech的小样本微调更有实践价值,MockingBird因为作者很忙等原因,目前的开发进度很缓慢,而且最重要的是搞不到其他开源的数据集可供使用,理论上如果数据集无限供应的话MB的效果起码会和PS一样好。而且PS这边的TTS全职开发者数量高达两个,已经高出了MB这边百分之百,这是何等巨大的优势(雾)。PS的数据标注,预处理,微调训练也已完成了自动化操作,简化了许多人力。建议有语音克隆需求的小伙伴在双方都尝试一下,寻找适合自的解决方案。