🚀 CSM 1B
CSM(Conversational Speech Model)は、Sesame が開発した音声生成モデルです。このモデルは、テキストと音声入力からRVQオーディオコードを生成します。モデルアーキテクチャは Llama バックボーンと、Mimi オーディオコードを生成する小規模なオーディオデコーダーを採用しています。
2025/03/13 - 1BのCSMバリアントをリリースしました。コードはGitHubで入手可能です: SesameAILabs/csm。
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)
📚 ドキュメント
FAQ
このモデルには特定の声は付属していますか?
ここでオープンソース化されているモデルは基本的な生成モデルです。様々な声を生成することができますが、特定の声でファインチューニングされていません。
このモデルと会話することはできますか?
CSMは音声生成モデルとして学習されており、汎用的なマルチモーダルLLMではありません。テキストを生成することはできません。テキスト生成には別のLLMを使用することをおすすめします。
他の言語をサポートしていますか?
学習データに他言語のデータが混入しているため、非英語の言語にもある程度の対応能力がありますが、性能は高くない可能性があります。
誤用と乱用 ⚠️
このプロジェクトは、研究および教育目的で高品質な音声生成モデルを提供しています。責任ある倫理的な使用を奨励する一方で、以下の行為を明示的に禁止しています。
- なりすましまたは詐欺:本人の明示的な同意なしに、このモデルを使用して実在する人物を模倣する音声を生成しないでください。
- 誤情報または欺瞞:このモデルを使用して、偽のニュースや詐欺的な電話など、欺瞞的または誤解を招く内容を作成しないでください。
- 違法または有害な活動:このモデルを、違法、有害、または悪意のある目的に使用しないでください。
このモデルを使用することで、すべての適用可能な法律および倫理ガイドラインに準拠することに同意するものとします。誤用については一切の責任を負いません。また、この技術の非倫理的な応用には強く反対しています。
著者
Johan Schalkwyk、Ankit Kumar、Dan Lyth、Sefik Emre Eskimez、Zack Hodari、Cinjon Resnick、Ramon Sanabria、Raven Jiang、およびSesameチーム。
📄 ライセンス
このプロジェクトはApache-2.0ライセンスの下で提供されています。