Text-to-Speech
OuteTTS
GGUF
codec.cpp
tts

OuteTTS-0.3-1B โ€” GGUF

OuteAI's OuteTTS-0.3-1B 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.

Files

Every run needs one model file + one codec file from this repo.

--backbone --model (codec) Total
Recommended OuteTTS-0.3-1B-Q8_0.gguf codec-q8_0.gguf 1.4 GB
Smallest OuteTTS-0.3-1B-Q4_K_M.gguf codec-q4_k_m.gguf 857 MB
Best quality OuteTTS-0.3-1B-FP16.gguf codec-f16.gguf 2.6 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-0.3-1B-Q2_K.gguf 491 MB
OuteTTS-0.3-1B-Q3_K_L.gguf 663 MB
OuteTTS-0.3-1B-Q3_K_M.gguf 616 MB
OuteTTS-0.3-1B-Q3_K_S.gguf 560 MB
OuteTTS-0.3-1B-Q4_0.gguf 702 MB
OuteTTS-0.3-1B-Q4_1.gguf 769 MB
OuteTTS-0.3-1B-Q4_K_S.gguf 709 MB
OuteTTS-0.3-1B-Q5_0.gguf 836 MB
OuteTTS-0.3-1B-Q5_1.gguf 904 MB
OuteTTS-0.3-1B-Q5_K_M.gguf 859 MB
OuteTTS-0.3-1B-Q5_K_S.gguf 836 MB
OuteTTS-0.3-1B-Q6_K.gguf 979 MB
codec-f32.gguf 339 MB
codec-q5_k_m.gguf 118 MB

Command line (codec.cpp)

With codec.cpp's tts-cli (build it; it bundles llama.cpp), then:

hf download BricksDisplay/OuteTTS-0.3-1B-GGUF OuteTTS-0.3-1B-Q8_0.gguf codec-q8_0.gguf --local-dir OuteTTS-0.3-1B

./build/tts-cli synthesize --backbone OuteTTS-0.3-1B/OuteTTS-0.3-1B-Q8_0.gguf --model OuteTTS-0.3-1B/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-0.3-1B/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.

Python

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-0.3-1B-GGUF", "OuteTTS-0.3-1B-Q8_0.gguf"),
                    hf_hub_download("BricksDisplay/OuteTTS-0.3-1B-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.

React Native (llama.rn)

llama.rn loads the same two files on iOS and Android:

const ctx = await initLlama({ model: 'OuteTTS-0.3-1B-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.

Sampling

The model files carry the recommended sampling as llama.cpp's general.sampling.* metadata, the settings of the original GenerationConfig; tts-cli, tts-server, llama.rn and any llama.cpp host apply them unless you set your own.

Setting Value tts-cli flag
temperature 0.1 --temp 0.1
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 -1 (all generated tokens) --repeat-last-n -1

Generation is kept well formed by a grammar built from the input text.

Voices

Builtin: the reference speakers of the upstream OuteTTS package (English, Japanese, Korean, Chinese, French, German); tts-cli voices lists them. No voice cloning.

Input text

Letters and spaces only: write numbers out as words; Chinese, Japanese and Korean go in romanized form (pinyin, romaji, revised romanization).

License

cc-by-nc-sa-4.0, the same as the original model.

Downloads last month
180
GGUF
Model size
84.8M params
Architecture
wavtokenizer_large
Hardware compatibility
Log In to add your hardware

2-bit

3-bit

4-bit

5-bit

6-bit

8-bit

16-bit

32-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for BricksDisplay/OuteTTS-0.3-1B-GGUF

Quantized
(5)
this model