之前介绍过几个音频克隆的可以项目:
CosyVoice:https://www.cnblogs.com/cj8988/p/18975495
IndexTTS:https://www.cnblogs.com/cj8988/p/18973016
GPT-SoVITS:https://www.cnblogs.com/cj8988/p/18962212
IndexTTs-多人:https://www.cnblogs.com/cj8988/p/18973609
本章在介绍一个多人对话的(两人对话)开源项目(8GPU可以跑):MOSS-TTSD
亮点:
高度富有表现力的对话语音:MOSS-TTSD 基于统一的语义声学神经音频编解码器、预先训练的大型语言模型、数百万小时的 TTS 数据以及 40 万小时的合成和真实对话语音,可生成具有自然对话韵律的高度富有表现力、类似人类的对话语音。
双人语音克隆:MOSS-TTSD 支持零样本双人语音克隆,并可根据对话脚本生成具有准确说话人切换的对话语音。
中英双语支持:MOSS-TTSD 能够以中文和英文生成极具表现力的语音。
长篇语音生成:得益于低比特率编解码器和训练框架的优化,MOSS-TTSD 已经可以进行长篇语音生成的训练。
完全开源和商业就绪:MOSS-TTSD 及其未来更新将完全开源并支持免费商业使用。
下载安装:
开源地址:https://github.com/OpenMOSS/MOSS-TTSD
模型下载:https://huggingface.co/fnlp/XY_Tokenizer_TTSD_V0/tree/main
模型存放位置在现在的文件夹下:MOSS-TTSD\XY_Tokenizer\weights\
安装:
进入window的虚拟环境conda中:
创建环境: conda create -n moss_ttsd python=3.10 激活环境: conda activate moss_ttsd 安装: pip install -r requirements.txt 加速:这个先使用下面的命名安装,如果成功那就皆大欢喜 #pip install flash-attn
如果flash-attn安装失败,就不用折腾了,我用了很多方法好像都没有成功,所以修改代码,不使用flash-attn。
修改generation_utils.py:找到load_model()函数
将参数默认值修改一下 attn_implementation="flash_attention_2"
修改为attn_implementation="sdpa"
运行:python gradio_demo.py
第一次运行时会下载模型:fnlp/MOSS-TTSD-v0.5,需要很长的时间。
下载完成后,浏览器访问:http://127.0.0.1:7860/
注意,我试过Single单音频支持不太好(我的音频只有一个人说话,估计两个人说话还是可以的),所以这里直接使用两个音频进行实验。
结果:
音频1 | 音频2 | 合成音频 |