🚀 CSM 1B (Safetensors)
CSM 1B (Safetensors) 是一個將原始版本轉換為各種 Safetensors 格式的語音生成模型,同時還會跟蹤下載情況。
🚀 快速開始
2025 年 3 月 13 日,我們發佈了 1B 版本的 CSM 變體。代碼可在 GitHub 上獲取:SesameAILabs/csm。
CSM(Conversational Speech Model)是 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="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 許可證。