MOSS-TTSD:开源双语对话语音合成模型,让AI播客制作更简单

MOSS-TTSD模型示意图

在人工智能技术飞速发展的今天,语音合成技术已经从简单的文本转语音(TTS)进化到了更加复杂的对话式语音生成。MOSS-TTSD(Text to Spoken Dialogue Generation)正是这一领域的创新之作,它不仅支持中英文双语对话生成,还具备语音克隆和长会话语音生成能力,为AI播客制作提供了全新的可能性。

什么是MOSS-TTSD?

MOSS-TTSD是一款开源的双语对话语音合成模型,能够将对话脚本转化为自然、富有表现力的对话式语音。与传统的TTS系统不同,MOSS-TTSD专注于对话场景,能够准确地处理说话人切换,生成具有自然对话韵律的语音。

简单来说,如果你有一段对话脚本,比如:

[S1]你好,最近怎么样?
[S2]我很好,谢谢关心。你呢?
[S1]我也很好,谢谢!

MOSS-TTSD可以将这段脚本转化为两个说话人自然对话的音频,就像真实的人在对话一样。

为什么MOSS-TTSD值得关注?

在AI语音合成领域,MOSS-TTSD有几个关键优势:

  1. 高度表达性的对话语音:基于统一语义-声学神经音频编解码器、预训练的大语言模型、数百万小时的TTS数据以及40万小时的合成和真实对话语音训练,MOSS-TTSD能够生成高度表达、类人般的对话语音。

  2. 双说话人语音克隆:MOSS-TTSD支持零样本双说话人语音克隆,可以根据对话脚本准确生成说话人切换的对话语音。

  3. 中英文双语支持:MOSS-TTSD能够以高表达性在中英文中进行语音生成。

  4. 长格式语音生成:通过低比特率编解码器和训练框架优化,MOSS-TTSD已针对长语音生成进行训练。

  5. 完全开源且商业可用:MOSS-TTSD及其未来更新将完全开源,支持免费商业使用。

MOSS-TTSD v0.5版本:更稳定的对话语音生成

2025年7月4日,MOSS-TTSD v0.5版本正式发布。相比早期版本,v0.5在音色切换准确性、语音克隆能力和模型稳定性方面都有显著提升。建议用户默认使用v0.5模型。

MOSS-TTSD的核心功能详解

1. 高度表达性的对话语音

MOSS-TTSD的语音生成不仅准确,还富有情感和表现力。它通过以下技术实现:

  • 统一语义-声学神经音频编解码器
  • 预训练的大语言模型
  • 数百万小时的TTS数据
  • 40万小时的合成和真实对话语音

这些技术的结合使得MOSS-TTSD能够生成具有自然对话韵律的语音,让AI对话听起来更加真实。

2. 两说话人语音克隆

MOSS-TTSD支持零样本两说话人语音克隆,这意味着你不需要为每个说话人单独训练模型,只需提供一段参考语音和对应的参考文本,MOSS-TTSD就能准确地模仿该说话人的声音。

例如,你可以提供Speaker 1的参考语音和文本,以及Speaker 2的参考语音和文本,MOSS-TTSD就能在对话中准确切换这两个说话人的声音。

3. 中英文双语支持

MOSS-TTSD支持中英文对话生成,这意味着你可以在同一对话中混合使用中英文,或者完全用中文或英文生成对话。这对于需要多语言内容的播客制作者来说是一个巨大的优势。

4. 长格式语音生成

MOSS-TTSD经过优化,可以生成长达数分钟的连续语音。这对于播客制作特别有用,因为播客通常需要较长的连续内容。

如何安装和使用MOSS-TTSD

安装环境

MOSS-TTSD需要Python 3.10+和PyTorch 2.0+环境。以下是安装步骤:

# 创建conda环境
conda create -n moss_ttsd python=3.10 -y
conda activate moss_ttsd

# 安装依赖
pip install -r requirements.txt
pip install flash-attn

# 下载XY Tokenizer
mkdir -p XY_Tokenizer/weights
huggingface-cli download fnlp/XY_Tokenizer_TTSD_V0 xy_tokenizer.ckpt --local-dir ./XY_Tokenizer/weights/

使用MOSS-TTSD

MOSS-TTSD支持三种主要使用方式:本地推理、Web UI和API调用。

1. 本地推理

要运行MOSS-TTSD本地推理,需要准备一个JSONL格式的输入文件。MOSS-TTSD支持三种输入格式:

格式1:纯文本输入(无语音克隆)

{
  "text": "[S1]Speaker 1 dialogue content[S2]Speaker 2 dialogue content[S1]..."
}

格式2:分开的说话人音频参考

{
   "base_path": "/path/to/audio/files",
   "text": "[S1]Speaker 1 dialogue content[S2]Speaker 2 dialogue content[S1]...",
   "prompt_audio_speaker1": "path/to/speaker1_audio.wav",
   "prompt_text_speaker1": "Reference text for speaker 1 voice cloning",
   "prompt_audio_speaker2": "path/to/speaker2_audio.wav",
   "prompt_text_speaker2": "Reference text for speaker 2 voice cloning"
}

格式3:共享音频参考

{
   "base_path": "/path/to/audio/files",
   "text": "[S1]Speaker 1 dialogue content[S2]Speaker 2 dialogue content[S1]...",
   "prompt_audio": "path/to/shared_reference_audio.wav",
   "prompt_text": "[S1]Reference text for speaker 1[S2]Reference text for speaker 2"
}

运行推理脚本:

python inference.py --jsonl examples/examples.jsonl --output_dir outputs --seed 42 --use_normalize

2. Web UI使用

要启动MOSS-TTSD的Web UI,只需运行:

python gradio_demo.py

这将启动一个本地Gradio界面,让你可以通过网页界面轻松生成对话语音。

3. API使用

MOSS-TTSD还提供批量处理工具,可以使用SiliconFlow API进行并发处理:

# 设置环境变量
export SILICONFLOW_API_KEY="your_siliconflow_api_key"
export SILICONFLOW_API_BASE="https://api.siliconflow.cn/v1"

# 运行批量处理
python use_api.py --jsonl_file your_data.jsonl --output_dir your_output --max_workers 8

GPU需求与性能

MOSS-TTSD设计高效,VRAM需求较低。生成600秒音频时,模型使用不到7GB VRAM。VRAM需求与音频长度的关系可以用以下公式估算:

其中,是音频长度(秒),是VRAM成本(GB)。

生成音频长度(秒) GPU内存成本(GB)
120 6.08
300 6.39
360 6.5
600 6.91

播客生成工具:Podever

MOSS-TTSD还提供了一个名为Podever的播客生成管道,可以自动将PDF、URL或长文本文件转换为高质量播客。

使用Podever生成播客:

# 处理网页文章
python podcast_generate.py "https://www.open-moss.com/cn/moss-ttsd/"

# 处理PDF文件
python podcast_generate.py "examples/Attention Is All You Need.pdf"

# 处理文本文件
python podcast_generate.py "examples/example.txt"

# 指定输出目录
python podcast_generate.py "your_input" -o "your_output"

# 生成英文播客
python podcast_generate.py "your_input" -l en

MOSS-TTSD的细调(Fine-tuning)

MOSS-TTSD提供了细调功能,允许用户使用自己的数据集对模型进行微调。

数据准备

首先,需要按照JSONL格式准备训练数据。MOSS-TTSD支持两种JSONL格式:

格式1:单个音频文件与完整转录

{
  "file_path": "/path/to/audio.wav",
  "full_transcript": "[S1]Speaker content[S2]Speaker content..."
}

格式2:分开的参考和主要音频文件

{
   "reference_audio": "/path/to/reference.wav",
   "reference_text": "[S1]Reference content for voice cloning[S2]Reference content for voice cloning",
   "audio": "/path/to/main.wav",
   "text": "[S1]Speaker content[S2]Speaker content..."
}

数据预处理

使用数据预处理脚本:

python finetune/data_preprocess.py --jsonl <path_to_jsonl> --model_path <path_to_model> --output_dir <output_directory> --data_name <data_name> [--use_normalize]

模型细调

细调可以使用全模型微调或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细调:

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> --lora

MOSS-TTSD的应用场景

1. AI播客制作

MOSS-TTSD最直接的应用是AI播客制作。通过Podever工具,你可以将任何文本内容快速转换为高质量的播客,大大降低了播客制作的门槛。

2. 语音助手对话训练

MOSS-TTSD可以用于生成高质量的对话训练数据,帮助训练更自然的语音助手。

3. 语言学习工具

MOSS-TTSD可以生成中英文对话,为语言学习者提供真实的对话练习场景。

4. 辅助技术

对于有语言障碍的人群,MOSS-TTSD可以生成自然的语音,帮助他们更好地与他人交流。

MOSS-TTSD的限制与未来展望

目前,MOSS-TTSD仍存在一些不稳定性,如说话人切换错误和音色克隆偏差。开发团队表示将在后续版本中进一步优化模型的稳定性。

常见问题解答(FAQ)

Q: MOSS-TTSD支持哪些语言?

A: MOSS-TTSD支持中英文双语对话生成,可以在同一对话中混合使用中英文,也可以完全使用中文或英文生成对话。

Q: MOSS-TTSD需要多少GPU内存?

A: MOSS-TTSD设计高效,VRAM需求较低。生成600秒音频时,模型使用不到7GB VRAM。VRAM需求与音频长度的关系可以用公式估算:y = 0.00172x + 5.8832(x为音频长度,y为VRAM成本)。

Q: MOSS-TTSD可以用于商业用途吗?

A: 是的,MOSS-TTSD完全开源,遵循Apache 2.0许可,支持免费商业使用。

Q: 如何使用MOSS-TTSD进行语音克隆?

A: MOSS-TTSD支持两种语音克隆方式:分开的说话人音频参考和共享音频参考。你需要提供参考语音文件和对应的参考文本,MOSS-TTSD就能准确模仿说话人声音。

Q: MOSS-TTSD可以生成多长的语音?

A: MOSS-TTSD经过优化,可以生成较长的连续语音。通过低比特率编解码器和训练框架优化,MOSS-TTSD已针对长语音生成进行了训练。

Q: MOSS-TTSD的v0.5版本有什么改进?

A: MOSS-TTSD v0.5版本在音色切换准确性、语音克隆能力和模型稳定性方面都有显著提升。建议用户默认使用v0.5模型。

如何开始使用MOSS-TTSD

  1. 安装环境:按照上述步骤安装MOSS-TTSD所需的环境和依赖。
  2. 下载模型:MOSS-TTSD模型可在Hugging Face获取。
  3. 准备输入数据:按照JSONL格式准备对话脚本。
  4. 运行推理:使用提供的脚本进行语音生成。
  5. 尝试播客生成:使用Podever工具将文本快速转换为播客。

结语

MOSS-TTSD代表了对话式语音合成技术的最新进展,它不仅提供了高质量的语音生成能力,还降低了AI播客制作的门槛。通过开源和商业可用的策略,MOSS-TTSD为开发者和内容创作者提供了强大的工具,使他们能够专注于内容创作,而无需担心语音合成的技术细节。

随着语音合成技术的不断发展,MOSS-TTSD有望在AI播客、语音助手训练、语言学习等多个领域发挥更大的作用。对于想要尝试AI语音合成的开发者和内容创作者来说,MOSS-TTSD是一个值得尝试的工具。

如需了解更多关于MOSS-TTSD的信息,可以访问中文博客英文博客,查看详细的教程和示例。