🚀 文本转语音模型项目
本项目提供了一系列文本转语音(TTS)模型,可用于语音生成。借助这些模型,用户能够将文本转化为自然流畅的语音,在多种场景中发挥作用,如有声读物制作、语音导航等。
🚀 快速开始
点击以下链接获取更多信息:
你还可以免费使用我们的Google Colab笔记本 来微调TTS模型。阅读我们关于TTS支持的博客:unsloth.ai/blog/tts。
支持的模型及性能
✨ 主要特性
CSM 1B模型发布
2025年3月13日,我们发布了1B的CSM变体。代码可在GitHub上获取:SesameAILabs/csm。
CSM模型介绍
CSM(对话语音模型)是来自 Sesame 的语音生成模型,它可以根据文本和音频输入生成RVQ音频代码。该模型架构采用了 Llama 主干和一个较小的音频解码器,用于生成 Mimi 音频代码。
一个经过微调的CSM变体为我们 博客文章 中展示的 交互式语音演示 提供支持。此外,还有一个托管的 HuggingFace空间 可用于测试音频生成。
📦 安装指南
git clone git@github.com:SesameAILabs/csm.git
cd csm
python3.10 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
huggingface-cli login
💻 使用示例
基础用法
from generator import load_csm_1b
import torchaudio
generator = load_csm_1b(device="cuda")
audio = generator.generate(
text="Hello from Sesame.",
speaker=0,
context=[],
max_audio_length_ms=10_000,
)
torchaudio.save("audio.wav", audio.unsqueeze(0).cpu(), generator.sample_rate)
高级用法
CSM在提供上下文时效果最佳。你可以使用 Segment
为每个说话者的话语向模型提供提示或上下文。
speakers = [0, 1, 0, 0]
transcripts = [
"Hey how are you doing.",
"Pretty good, pretty good.",
"I'm great.",
"So happy to be speaking to you.",
]
audio_paths = [
"utterance_0.wav",
"utterance_1.wav",
"utterance_2.wav",
"utterance_3.wav",
]
def load_audio(audio_path):
audio_tensor, sample_rate = torchaudio.load(audio_path)
audio_tensor = torchaudio.functional.resample(
audio_tensor.squeeze(0), orig_freq=sample_rate, new_freq=generator.sample_rate
)
return audio_tensor
segments = [
Segment(text=transcript, speaker=speaker, audio=load_audio(audio_path))
for transcript, speaker, audio_path in zip(transcripts, speakers, audio_paths)
]
audio = generator.generate(
text="Me too, this is some cool stuff huh?",
speaker=1,
context=segments,
max_audio_length_ms=10_000,
)
torchaudio.save("audio.wav", audio.unsqueeze(0).cpu(), generator.sample_rate)
📚 详细文档
常见问题解答
- 该模型是否自带语音?
本项目开源的是基础生成模型,它能够产生多种语音,但未针对任何特定语音进行微调。
- 能否与该模型进行对话?
CSM是一个音频生成模型,并非通用的多模态大语言模型,它不能生成文本。我们建议使用单独的大语言模型进行文本生成。
- 该模型是否支持其他语言?
由于训练数据中存在数据污染,该模型对非英语语言有一定的处理能力,但效果可能不佳。
模型的误用和滥用 ⚠️
本项目提供了高质量的语音生成模型,仅用于研究和教育目的。我们鼓励负责任和符合道德的使用方式,并明确禁止以下行为:
- 冒充或欺诈:未经真实个人明确同意,不得使用该模型生成模仿其声音的语音。
- 传播虚假信息或欺骗:不得使用该模型创建具有欺骗性或误导性的内容,如虚假新闻或欺诈性电话。
- 非法或有害活动:不得将该模型用于任何非法、有害或恶意目的。
使用该模型即表示你同意遵守所有适用的法律法规和道德准则。我们对任何误用行为不承担责任,并强烈谴责对该技术的不道德应用。
作者
Johan Schalkwyk、Ankit Kumar、Dan Lyth、Sefik Emre Eskimez、Zack Hodari、Cinjon Resnick、Ramon Sanabria、Raven Jiang 以及Sesame团队。
📄 许可证
本项目采用Apache - 2.0许可证。