许可证:apache-2.0
语言:
- 英语
标签:
- 文本转语音
基础模型:sesame/csm-1b
任务标签:文本转语音
库名称:transformers
CSM 1B(Safetensors格式)
由原始版本转换为多种Safetensors格式,并支持下载统计。
2025年3月13日 - 我们发布了10亿参数的CSM变体。代码已在GitHub开源:SesameAILabs/csm。
CSM(对话语音模型)是Sesame开发的语音生成模型,可通过文本和音频输入生成RVQ音频编码。该模型架构采用Llama主干网络和轻量级音频解码器,可生成Mimi音频编码。
经过微调的CSM版本已应用于我们博客文章中展示的交互式语音演示。
您也可以通过托管在HuggingFace空间的实例测试音频生成功能。
使用方法
环境配置
python -m venv .venv
source .venv/bin/activate
curl -s -L https://raw.githubusercontent.com/SesameAILabs/csm/refs/heads/main/requirements.txt | pip install -r /dev/stdin
huggingface-cli login
生成语句
from generator import load_csm_1b
import torchaudio
generator = load_csm_1b(device="cuda")
audio = generator.generate(
text="来自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 = [
"最近过得怎么样",
"还不错,挺好的",
"我状态很好",
"很高兴和你交流",
]
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="我也是,这些技术很酷对吧?",
speaker=1,
context=segments,
max_audio_length_ms=10_000,
)
torchaudio.save("audio.wav", audio.unsqueeze(0).cpu(), generator.sample_rate)
常见问题
该模型包含预置音色吗?
开源版本为基础生成模型,虽能生成多种音色,但未针对特定音色进行微调。
能否进行对话交互?
CSM是专用音频生成模型,非多模态大语言模型,无法生成文本。建议搭配独立LLM进行文本生成。
支持其他语言吗?
由于训练数据混杂,模型具备有限非英语生成能力,但效果可能欠佳。
滥用警告⚠️
本项目为研究和教育用途提供高质量语音生成模型。我们严禁以下行为:
- 身份伪造:未经许可模仿真实人物语音
- 虚假信息:制造欺诈性内容如假新闻/诈骗电话
- 违法用途:任何违反法律或危害社会的行为
使用者需遵守法律法规和伦理准则。我们对滥用行为不承担责任,并强烈谴责技术的不道德应用。
作者
Johan Schalkwyk, Ankit Kumar, Dan Lyth, Sefik Emre Eskimez, Zack Hodari, Cinjon Resnick, Ramon Sanabria, Raven Jiang及Sesame团队。