🚀 CSM 1B
CSM(對話語音模型)是由 Sesame 推出的語音生成模型,它能夠根據文本和音頻輸入生成 RVQ 音頻代碼。該模型架構採用了 Llama 主幹網絡和一個較小的音頻解碼器,可生成 Mimi 音頻代碼。
🚀 快速開始
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
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 是一個音頻生成模型,而非通用的多模態大語言模型,它不能生成文本。我們建議使用單獨的大語言模型進行文本生成。
- 它支持其他語言嗎?
由於訓練數據中存在數據汙染,該模型對非英語語言有一定的處理能力,但效果可能不佳。
⚠️ 重要提示
本項目提供了一個高質量的語音生成模型,僅供研究和教育使用。雖然我們鼓勵負責任和合乎道德的使用,但我們 明確禁止 以下行為:
- 冒充或欺詐:未經他人明確同意,不得使用此模型生成模仿真實個人的語音。
- 虛假信息或欺騙:不得使用此模型創建欺騙性或誤導性內容,如虛假新聞或欺詐性電話。
- 非法或有害活動:不得將此模型用於任何非法、有害或惡意目的。
使用此模型即表示你同意遵守所有適用的法律和道德準則。我們 不對任何濫用行為負責,並強烈譴責對該技術的不道德應用。
📄 許可證
本項目採用 Apache-2.0 許可證。
👥 作者
Johan Schalkwyk、Ankit Kumar、Dan Lyth、Sefik Emre Eskimez、Zack Hodari、Cinjon Resnick、Ramon Sanabria、Raven Jiang 以及 Sesame 團隊。