BlueMagpie-TTS — GGUF

OpenFormosa's BlueMagpie-TTS: Taiwanese-Mandarin TTS with 48 kHz output.

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.

This backbone needs the Barbet (Mamba2 + attention) architecture, which upstream llama.cpp does not have yet: use the llama.cpp that codec.cpp or llama.rn builds (they carry the patch), not a stock llama.cpp.

Files

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

--backbone --model (codec) Total
Recommended BlueMagpie-Barbet-1B-q8_0.gguf BlueMagpie-AudioVAE-q8_0.gguf 2.3 GB
Smallest BlueMagpie-Barbet-1B-q4_k_m.gguf BlueMagpie-AudioVAE-q8_0.gguf 1.8 GB
Best quality BlueMagpie-Barbet-1B-f16.gguf BlueMagpie-AudioVAE-q8_0.gguf 3.3 GB
Other files
File Size
BlueMagpie-Barbet-1B-q5_k_m.gguf 793 MB
BlueMagpie-Barbet-1B-q6_k.gguf 899 MB

Command line (codec.cpp)

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

hf download BricksDisplay/BlueMagpie-TTS-GGUF BlueMagpie-Barbet-1B-q8_0.gguf BlueMagpie-AudioVAE-q8_0.gguf --local-dir BlueMagpie-TTS

./build/tts-cli synthesize --backbone BlueMagpie-TTS/BlueMagpie-Barbet-1B-q8_0.gguf --model BlueMagpie-TTS/BlueMagpie-AudioVAE-q8_0.gguf \
    --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/BlueMagpie-TTS-GGUF", "BlueMagpie-Barbet-1B-q8_0.gguf"),
                    hf_hub_download("BricksDisplay/BlueMagpie-TTS-GGUF", "BlueMagpie-AudioVAE-q8_0.gguf"))
audio, sr = tts.synthesize("今天天氣很好,我們一起去散步吧。")
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: 'BlueMagpie-Barbet-1B-q8_0.gguf', embedding: true })
await ctx.initVocoder({ path: 'BlueMagpie-AudioVAE-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.

Input text

Traditional Chinese text, one sentence or short paragraph at a time.

License

Same terms as the original model (license: other; released for research and evaluation).

Downloads last month
743
GGUF
Model size
0.9B params
Architecture
bluemagpie_audiovae
Hardware compatibility
Log In to add your hardware

4-bit

5-bit

6-bit

8-bit

16-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for BricksDisplay/BlueMagpie-TTS-GGUF

Quantized
(1)
this model

Collection including BricksDisplay/BlueMagpie-TTS-GGUF