AodenT commited on
Commit
52340e7
·
verified ·
1 Parent(s): bb7f7d8

Initial commit of readme/Model Card

Browse files
Files changed (1) hide show
  1. README.md +248 -2
README.md CHANGED
@@ -1,5 +1,251 @@
1
  ---
2
  license: other
3
- license_name: modified-mit
4
- license_link: LICENSE
 
 
 
 
 
 
 
 
5
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
  license: other
3
+ library_name: pytorch
4
+ pipeline_tag: text-to-speech
5
+ tags:
6
+ - text-to-speech
7
+ - speech-synthesis
8
+ - voice
9
+ - audio
10
+ - sesame
11
+ - mimi
12
+ - llama
13
  ---
14
+
15
+ <div align="center">
16
+
17
+ <img src="images/repo_banner.png" alt="Miso TTS 8B" width="100%">
18
+
19
+ # Miso TTS 8B
20
+
21
+ ### An 8B-parameter Sesame-style text-to-speech model from Miso Labs
22
+
23
+ <p>
24
+ <a href="https://misolabs.ai"><img alt="Website" src="https://img.shields.io/badge/Website-misolabs.ai-black?style=for-the-badge"></a>
25
+ <a href="https://huggingface.co/MisoLabs/MisoTTS"><img alt="Hugging Face" src="https://img.shields.io/badge/Hugging%20Face-MisoTTS-yellow?style=for-the-badge"></a>
26
+ <a href="https://github.com/MisoLabsAI"><img alt="GitHub" src="https://img.shields.io/badge/GitHub-MisoLabsAI-181717?style=for-the-badge&logo=github&labelColor=555555"></a>
27
+ <a href="https://x.com/MisoLabsAI"><img alt="X" src="https://img.shields.io/badge/-MisoLabsAI-181717?style=for-the-badge&logo=x&labelColor=555555"></a>
28
+ </p>
29
+
30
+ <p>
31
+ <a href="#quickstart">Quickstart</a> |
32
+ <a href="#model-introduction">Model Introduction</a> |
33
+ <a href="#model-summary">Model Summary</a> |
34
+ <a href="#usage">Usage</a> |
35
+ <a href="#safety">Safety</a>
36
+ </p>
37
+
38
+ </div>
39
+
40
+ ---
41
+
42
+ ## Model Introduction
43
+
44
+ Miso TTS 8B is a text-to-speech model based on the Sesame CSM architecture. It
45
+ generates Mimi audio codes from text and optional audio context, using a large
46
+ Llama 3.2-style backbone and a smaller autoregressive audio decoder.
47
+
48
+ The model is designed for high-quality conversational speech generation and
49
+ voice continuation from prompt audio. This repository contains the inference
50
+ code, model definition, and setup instructions for running Miso TTS locally.
51
+
52
+ ---
53
+
54
+ ## Quickstart
55
+
56
+ If you do not have `uv` installed yet:
57
+
58
+ ```bash
59
+ curl -LsSf https://astral.sh/uv/install.sh | sh
60
+ ```
61
+
62
+ Then clone the repository and create the environment:
63
+
64
+ ```bash
65
+ git clone https://github.com/MisoLabsAI/OpenMiso.git
66
+ cd OpenMiso
67
+ uv sync --python 3.10
68
+ ```
69
+
70
+ Point the loader at the public model weights:
71
+
72
+ ```bash
73
+ export MISO_TTS_8B_MODEL=MisoLabs/MisoTTS
74
+ ```
75
+
76
+ Then run the example conversation:
77
+
78
+ ```bash
79
+ uv run python run_csm.py
80
+ ```
81
+
82
+ The script writes `full_conversation.wav` in the repository root.
83
+
84
+ For local checkpoints, set `MISO_TTS_8B_MODEL` to the checkpoint path instead:
85
+
86
+ ```bash
87
+ export MISO_TTS_8B_MODEL=/path/to/miso-tts-8b.safetensors
88
+ uv run python run_csm.py
89
+ ```
90
+
91
+ With `pip` instead of `uv`:
92
+
93
+ ```bash
94
+ python3.10 -m venv .venv
95
+ source .venv/bin/activate
96
+ pip install -e .
97
+ export MISO_TTS_8B_MODEL=MisoLabs/MisoTTS
98
+ python run_csm.py
99
+ ```
100
+
101
+ ---
102
+
103
+ ## Model Summary
104
+
105
+ | Item | Value |
106
+ | ------------------- | ---------------- |
107
+ | Model | Miso TTS 8B |
108
+ | Organization | Miso Labs |
109
+ | Task | Text-to-speech |
110
+ | Architecture | Sesame-style CSM |
111
+ | Backbone | `llama-8B` |
112
+ | Audio decoder | `llama-300M` |
113
+ | Text vocabulary | `128,256` |
114
+ | Audio vocabulary | `2,051` |
115
+ | Audio codebooks | `32` |
116
+ | Audio tokenizer | Mimi |
117
+ | Max sequence length | `2,048` |
118
+
119
+ ### Architecture
120
+
121
+ Miso TTS 8B uses two transformer components:
122
+
123
+ - A large backbone transformer that consumes text/audio-frame embeddings.
124
+ - A smaller decoder transformer that autoregressively predicts higher-order
125
+ audio codebooks within each frame.
126
+
127
+ The model follows Sesame's compute-amortized decoder design: codebook 0 is
128
+ predicted from the backbone hidden state, while codebooks 1 through 31 are
129
+ predicted by the audio decoder.
130
+
131
+ ---
132
+
133
+ ## Usage
134
+
135
+ ### Python
136
+
137
+ ```python
138
+ import torch
139
+ import torchaudio
140
+
141
+ from generator import load_miso_8b
142
+
143
+ device = "cuda" if torch.cuda.is_available() else "cpu"
144
+
145
+ generator = load_miso_8b(
146
+ device=device,
147
+ model_path_or_repo_id="MisoLabs/MisoTTS",
148
+ )
149
+
150
+ audio = generator.generate(
151
+ text="Hello from Miso.",
152
+ speaker=0,
153
+ context=[],
154
+ max_audio_length_ms=10_000,
155
+ )
156
+
157
+ torchaudio.save("miso.wav", audio.unsqueeze(0).cpu(), generator.sample_rate)
158
+ ```
159
+
160
+ ### Prompted generation
161
+
162
+ Miso TTS performs best when provided with prompt audio and matching transcript
163
+ context:
164
+
165
+ ```python
166
+ import torchaudio
167
+
168
+ from generator import Segment, load_miso_8b
169
+
170
+ generator = load_miso_8b(device="cuda")
171
+
172
+ prompt_audio, sample_rate = torchaudio.load("prompt.wav")
173
+ prompt_audio = torchaudio.functional.resample(
174
+ prompt_audio.squeeze(0),
175
+ orig_freq=sample_rate,
176
+ new_freq=generator.sample_rate,
177
+ )
178
+
179
+ context = [
180
+ Segment(
181
+ speaker=0,
182
+ text="This is the transcript for the prompt audio.",
183
+ audio=prompt_audio,
184
+ )
185
+ ]
186
+
187
+ audio = generator.generate(
188
+ text="This is the next sentence to synthesize.",
189
+ speaker=0,
190
+ context=context,
191
+ max_audio_length_ms=10_000,
192
+ )
193
+ ```
194
+
195
+ ---
196
+
197
+ ## Weights
198
+
199
+ The model weights are hosted publicly on Hugging Face:
200
+
201
+ ```bash
202
+ export MISO_TTS_8B_MODEL=MisoLabs/MisoTTS
203
+ ```
204
+
205
+ For development, the loader also supports local checkpoint files:
206
+
207
+ ```bash
208
+ export MISO_TTS_8B_MODEL=/path/to/model.pt
209
+ export MISO_TTS_8B_MODEL=/path/to/model.safetensors
210
+ ```
211
+
212
+ If you are working from an internal S3 checkpoint, download it first:
213
+
214
+ ```bash
215
+ aws s3 cp s3://your-bucket/path/to/miso-tts-8b.safetensors ./miso-tts-8b.safetensors
216
+ export MISO_TTS_8B_MODEL=./miso-tts-8b.safetensors
217
+ ```
218
+
219
+ ---
220
+
221
+ ## Deployment Notes
222
+
223
+ Miso TTS 8B is a large model. For best results, use a CUDA GPU with sufficient
224
+ VRAM for the checkpoint precision you are loading. The default inference path
225
+ uses `torch.bfloat16`.
226
+
227
+ The example script uses public Sesame prompt assets by default. After publishing
228
+ Miso-specific prompt assets, set:
229
+
230
+ ```bash
231
+ export MISO_TTS_PROMPT_REPO=MisoLabs/MisoTTS
232
+ ```
233
+
234
+ ---
235
+
236
+ ## Safety
237
+
238
+ Miso TTS is a speech generation model. Do not use it to impersonate people,
239
+ create deceptive audio, commit fraud, or generate harmful content.
240
+
241
+ Generated audio is watermarked by default. If you deploy this model in another
242
+ application, use your own private watermark key and keep it secret.
243
+
244
+ ---
245
+
246
+ ## Links
247
+
248
+ - Website: [misolabs.ai](https://misolabs.ai)
249
+ - Hugging Face: [MisoLabs/MisoTTS](https://huggingface.co/MisoLabs/MisoTTS)
250
+ - GitHub: [MisoLabsAI](https://github.com/MisoLabsAI)
251
+ - X: [@MisoLabsAI](https://x.com/MisoLabsAI)