🚀 文本轉語音模型項目
本項目提供了一系列文本轉語音(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許可證。