🚀 CSM 1B (Safetensors)
CSM 1B (Safetensors) 是一个语音生成模型,可根据文本和音频输入生成 RVQ 音频代码。它转换自原始版本,采用 Safetensors FP16 格式,具有更新的配置和指向无门控 Llama 的代码。
🚀 快速开始
模型介绍
CSM(Conversational Speech Model)是 Sesame 推出的语音生成模型,能从文本和音频输入中生成 RVQ 音频代码。该模型架构采用 Llama 主干和一个较小的音频解码器,可生成 Mimi 音频代码。
版本信息
- Safetensors 格式:来自 此处,转换自 原始版本 为 Safetensors FP16 格式,还会跟踪下载情况。
- 发布时间:2025/03/13 发布 1B CSM 变体,代码可在 GitHub 上获取:SesameAILabs/csm。
相关资源
📦 安装指南
git clone git@github.com:SesameAILabs/csm.git
cd csm
python3.10 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
💻 使用示例
基础用法
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 许可证。