MOSS-TTSD 是一个开源的对话语音生成模型,支持中文和英文双语。它可以将双人对话文本转化为自然、富有表现力的语音,适合用于AI播客制作、语言研究等场景。模型基于低比特率编码技术,支持零样本双人语音克隆和长达960秒的单次语音生成。MOSS-TTSD 提供完整的模型权重和推理代码,允许免费商用。用户可通过 GitHub 访问最新版本,当前为 v0.5,优化了音色切换和模型稳定性。
功能列表
- 支持中英文双语对话语音生成,输出自然且富有表现力的语音。
- 实现零样本双人语音克隆,准确区分对话中不同说话者。
- 支持长达960秒的单次长语音生成,适合播客或长篇内容制作。
- 提供播客生成工具 Podever,可将 PDF、URL 或长文本转为高质量播客。
- 开源模型权重、推理代码和 API 接口,支持免费商用。
- 提供模型微调脚本,支持全模型微调和 LoRA 微调,适配自定义数据集。
使用帮助
安装流程
MOSS-TTSD 的安装需要在支持 Python 的环境中进行。以下是详细的安装步骤:
- 创建虚拟环境
使用 conda 或 pip 创建一个独立的 Python 环境,确保不干扰其他项目。推荐使用 Python 3.10。运行以下命令:conda create -n moss_ttsd python=3.10 -y conda activate moss_ttsd
- 克隆代码库
从 GitHub 下载 MOSS-TTSD 的代码库。打开终端,运行:git clone https://github.com/OpenMOSS/MOSS-TTSD.git cd MOSS-TTSD
- 安装依赖
代码库包含一个requirements.txt
文件,列出所需依赖。安装依赖项:pip install -r requirements.txt pip install flash-attn
注意:
flash-attn
是加速注意力机制的库,需确保 GPU 环境支持。 - 下载模型权重
MOSS-TTSD 的模型权重可在 Hugging Face 或 GitHub Release 页面下载。推荐使用 v0.5 版本。将下载的模型权重放置在项目根目录或指定路径。 - 验证安装
运行示例脚本检查环境是否正确配置:python demo.py
如果成功,会生成一个简单的对话语音文件。
主要功能操作
1. 对话语音生成
MOSS-TTSD 的核心功能是将对话文本转为语音。用户需准备一个包含双人对话的文本文件,格式示例:
Speaker1: 你好,今天天气怎么样?
Speaker2: 很好,阳光明媚!
运行推理脚本生成语音:
python inference.py --model_path <path_to_model> --input_text <path_to_text_file> --output_dir <output_directory>
输出为 WAV 格式的语音文件,自动区分两位说话者的音色。
2. 语音克隆
MOSS-TTSD 支持零样本语音克隆。用户提供一段目标说话者的音频(至少10秒),模型即可生成该音色的对话语音。操作步骤:
- 准备目标音频文件(如
speaker1.wav
和speaker2.wav
)。 - 修改配置文件
config.yaml
,指定音频路径:speaker1: path/to/speaker1.wav speaker2: path/to/speaker2.wav
- 运行克隆脚本:
python clone_voice.py --config config.yaml --input_text dialogue.txt --output_dir cloned_output
3. 播客生成(Podever)
Podever 是 MOSS-TTSD 的播客生成工具,可将长文本、PDF 或 URL 转为播客。操作步骤:
- 安装 Podever 扩展:
pip install podever
- 准备输入文件(如 PDF 或 URL)。
- 运行命令:
python podever.py --input <input_file_or_url> --output podcast.wav
Podever 自动提取文本,生成双人对话风格的播客,适合科普内容或书籍朗读。
4. 模型微调
用户可使用自定义数据集微调模型。步骤如下:
- 准备数据集,格式为 JSON,包含对话文本和对应音频。
- 运行微调脚本:
python finetune/finetune.py --model_path <path_to_model> --data_dir <path_to_processed_data> --output_dir <output_directory> --training_config <training_config_file>
- 支持 LoRA 微调,降低计算资源需求:
python finetune/finetune.py --model_path <path_to_model> --data_dir <path_to_processed_data> --output_dir <output_directory> --training_config <training_config_file> --lora_config <lora_config_file>
注意事项
- 确保输入音频的 DNSMOS 分数≥2.8,以保证音质。
- 模型对短促的对话回馈(如“嗯”“哦”)可能不够敏感,建议文本中明确标注说话者。
- 运行时需至少 12GB GPU 显存,推荐使用 NVIDIA GPU。
应用场景
- AI播客制作
MOSS-TTSD 可将文章、书籍或网页内容转为双人对话播客。用户只需提供文本,Podever 工具即可生成自然流畅的音频,适合自媒体创作者快速制作内容。 - 语言学习工具
教师可使用 MOSS-TTSD 生成中英双语对话音频,帮助学生练习听力和口语。语音克隆功能可模拟真实人物的音色,增加学习趣味性。 - 无障碍辅助
MOSS-TTSD 可为视障人士生成有声读物或对话式新闻播报。长语音生成支持一次输出完整章节,减少操作频率。 - 学术研究
研究人员可利用 MOSS-TTSD 的开源特性,探索语音合成技术。模型支持微调,适合开发定制化语音应用。
QA
- MOSS-TTSD 支持哪些语言?
目前支持中文和英文双语对话生成,未来可能扩展更多语言。 - 如何提高语音生成的质量?
使用高质量输入音频(DNSMOS≥2.8),并确保对话文本清晰标注说话者。微调模型可进一步提升效果。 - 是否可以商用?
是的,MOSS-TTSD 采用 Apache 2.0 许可证,支持免费商用,但需遵守法律和道德规范。 - 模型运行需要什么硬件?
推荐 NVIDIA GPU,显存至少 12GB。CPU 运行可能较慢,不建议生产环境使用。