OuteAI's OuteTTS-1.0-0.6B with its reference voices built in.
Two files make one model, as with llama.cpp's multimodal projectors: the model file is the text-to-speech LM backbone, run by llama.cpp; the codec file holds the audio side (decoder / vocoder, speaker encoders and the adaptor between the two), run by codec.cpp. The runtimes below wire the two graphs together, on CPU or GPU (CUDA, Vulkan, Metal), fully offline.
Every run needs one model file + one codec file from this repo.
--backbone |
--model (codec) |
Total | |
|---|---|---|---|
| Recommended | OuteTTS-1.0-0.6B-Q8_0.gguf |
codec-q8_0.gguf |
725 MB |
| Smallest | OuteTTS-1.0-0.6B-Q4_K_M.gguf |
codec-q4_k_m.gguf |
446 MB |
| Best quality | OuteTTS-1.0-0.6B-FP16.gguf |
codec-f16.gguf |
1.4 GB |
The model files are OuteAI's own GGUFs, unchanged. The codec file carries this model's voices; use it only with this model.
Other files| File | Size |
|---|---|
OuteTTS-1.0-0.6B-Q2_K.gguf |
301 MB |
OuteTTS-1.0-0.6B-Q3_K_L.gguf |
374 MB |
OuteTTS-1.0-0.6B-Q3_K_M.gguf |
352 MB |
OuteTTS-1.0-0.6B-Q3_K_S.gguf |
328 MB |
OuteTTS-1.0-0.6B-Q4_0.gguf |
387 MB |
OuteTTS-1.0-0.6B-Q4_1.gguf |
414 MB |
OuteTTS-1.0-0.6B-Q4_K_S.gguf |
388 MB |
OuteTTS-1.0-0.6B-Q5_0.gguf |
442 MB |
OuteTTS-1.0-0.6B-Q5_1.gguf |
469 MB |
OuteTTS-1.0-0.6B-Q5_K_M.gguf |
449 MB |
OuteTTS-1.0-0.6B-Q5_K_S.gguf |
442 MB |
OuteTTS-1.0-0.6B-Q6_K.gguf |
500 MB |
codec-f32.gguf |
296 MB |
codec-q5_k_m.gguf |
53 MB |
With codec.cpp's tts-cli (build it; it bundles llama.cpp), then:
hf download BricksDisplay/OuteTTS-1.0-0.6B-GGUF OuteTTS-1.0-0.6B-Q8_0.gguf codec-q8_0.gguf --local-dir OuteTTS-1.0-0.6B
./build/tts-cli synthesize --backbone OuteTTS-1.0-0.6B/OuteTTS-1.0-0.6B-Q8_0.gguf --model OuteTTS-1.0-0.6B/codec-q8_0.gguf \
--text "The birch canoe slid on the smooth planks." --output out.wav
List and pick voices:
./build/tts-cli voices --model OuteTTS-1.0-0.6B/codec-q8_0.gguf
./build/tts-cli synthesize ... --voice NAME --text "..." --output out.wav
All tts-cli options (voices, voice cloning, sampling, GPU) are described in the codec.cpp README.
The codec_cpp package runs the same pipeline (it builds codec.cpp with its
bundled llama.cpp, so it needs CMake and a C++ compiler):
pip install "codec-cpp @ git+https://github.com/mybigday/codec.cpp" huggingface_hub soundfile
import codec_cpp, soundfile
from huggingface_hub import hf_hub_download
tts = codec_cpp.TTS(hf_hub_download("BricksDisplay/OuteTTS-1.0-0.6B-GGUF", "OuteTTS-1.0-0.6B-Q8_0.gguf"),
hf_hub_download("BricksDisplay/OuteTTS-1.0-0.6B-GGUF", "codec-q8_0.gguf"))
audio, sr = tts.synthesize("The birch canoe slid on the smooth planks.")
soundfile.write("out.wav", audio, sr)
tts.voices() lists the builtin voices; ref_audio= clones a voice where the
model supports it; tts.stream(text) yields audio as it is generated. More in
the Python docs.
llama.rn loads the same two files on iOS and Android:
const ctx = await initLlama({ model: 'OuteTTS-1.0-0.6B-Q8_0.gguf', embedding: true })
await ctx.initVocoder({ path: 'codec-q8_0.gguf' })
const { prompt, grammar, embedding, flow } = await ctx.getFormattedAudioCompletion({
prompt: 'Hello world',
})
const result = await ctx.completion({ prompt, grammar, embedding })
const pcm = flow === 'continuous_embd'
? await ctx.decodeAudioEmbeddings(result.embeddings, result.embedding_dim)
: await ctx.decodeAudioTokens(result.audio_tokens)
Voice cloning, saved voices and per-model notes: llama.rn TTS docs.
The model files carry the recommended sampling as llama.cpp's
general.sampling.* metadata, the settings of the original model card;
tts-cli, tts-server, llama.rn and any llama.cpp host apply them unless
you set your own.
| Setting | Value | tts-cli flag |
|---|---|---|
| temperature | 1.0 | --temp 1.0 |
| top-k | 50 | --top-k 50 |
| top-p | 1.0 (off) | --top-p 1.0 |
| min-p | 0 (off) | --min-p 0.0 |
| repetition penalty | 1.1 | --repeat-penalty 1.1 |
| repetition window | 64 | --repeat-last-n 64 |
Generation is kept well formed by a grammar built from the input text.
Builtin: en_female_1_neutral.
No voice cloning.
Plain text.
apache-2.0, the same as the original model.
OuteAI/OuteTTS-1.0-0.6B