Orpheus 3B 0.1 ft β€” GGUF (ggml-quantised)

GGUF / ggml conversion of canopylabs/orpheus-3b-0.1-ft (sourced via the non-gated unsloth/orpheus-3b-0.1-ft mirror) for use with CrispStrobe/CrispASR.

Orpheus 3B is a Llama-3.2-3B-Instruct talker finetuned to emit <custom_token_N> codec tokens that the SNAC 24 kHz codec decodes back to speech. Key capabilities include human-like speech with natural intonation and emotion, zero-shot voice cloning, guided emotion/intonation via simple tags, and low-latency streaming (~200 ms). 8 fixed English speakers (tara, leah, jess, leo, dan, mia, zac, zoe).

Pair this with the SNAC codec at cstr/snac-24khz-GGUF β€” the talker outputs codec tokens but doesn't render audio without it.

Files

File Quant Size Notes
orpheus-3b-0.1-ft-f16.gguf F16 6.16 GB Reference quality
orpheus-3b-0.1-ft-q8_0.gguf Q8_0 3.70 GB Recommended β€” ASR roundtrip word-exact vs F16
orpheus-3b-0.1-ft-q4_k.gguf Q4_K 2.38 GB Smallest; smoke-tested but Q8_0 preferred
diff-harness-ref/orpheus-talker-ref.gguf β€” 614 KB Diff-harness reference checkpoint (not for inference)

The talker LM is sensitive to peaked codec distributions. Sub-Q8 quants tend to break the SNAC super-frame slot pattern and produce gibberish even when the LM perplexity remains plausible; Q4_K is provided for constrained-memory setups but Q8_0 is the safe default.

Quick start

# 1. Build CrispASR
git clone https://github.com/CrispStrobe/CrispASR
cd CrispASR
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j --target crispasr-lib

# 2. Pull the talker + the SNAC codec
huggingface-cli download cstr/orpheus-3b-0.1-ft-GGUF orpheus-3b-0.1-ft-q8_0.gguf --local-dir .
huggingface-cli download cstr/snac-24khz-GGUF snac-24khz.gguf --local-dir .

# 3. Synthesise
./build/bin/crispasr --backend orpheus \
    -m orpheus-3b-0.1-ft-q8_0.gguf \
    --codec-model snac-24khz.gguf \
    --voice tara \
    --temperature 0.6 \
    --tts "Hello, my name is Tara." \
    --tts-output hello.wav

24 kHz mono WAV. --voice <name> picks one of the 8 baked speakers; --temperature 0.6 is the upstream engine_class.py default and is required β€” greedy decoding (--temperature 0) enters a 7-slot loop after a few super-frames and produces unusable audio.

For auto-download simply pass -m auto:

./build/bin/crispasr --backend orpheus -m auto \
    --voice leo --temperature 0.6 \
    --tts "Auto-download fetches both files." \
    --tts-output out.wav

Architecture

Component Details
Talker LM Llama-3.2-3B-Instruct (28 layers, 3072 hidden, 24 heads, 8 KV heads, head_dim=128, vocab 128256 + 7Γ—4096 codec tokens)
RoPE NEOX, theta=500000
Codec hubertsiuzdak/snac_24khz (RVQ, 3 codebooks Γ— 4096) β€” separate GGUF
Sampling temperature=0.6 + top-k by default; greedy is unstable
Audio 24 kHz mono float32 PCM

The talker emits a stream of <custom_token_N> LM tokens; every 7 emitted tokens form one "super-frame" that de-interleaves into 1 codes_0 / 2 codes_1 / 4 codes_2 entries (per orpheus_tts_pypi/orpheus_tts/decoder.py). 4 super-frames cover 16 SNAC frames (Γ— 512-sample hop = 8192 PCM samples at 24 kHz).

Prompt format (verbatim from canopyai/Orpheus-TTS)

[audio_start=128259, BOS=128000, ...tokenize("{name}: {text}")...,
 eot_id=128009, audio_eot=128260, audio_eom=128261, audio_end=128257]

The Llama-3 BOS at position 1 is critical. Without it the talker still emits well-structured super-frames but the audio is semantically garbage. The CrispASR runtime handles this for you β€” direct callers of orpheus_synthesize_codes need to mirror the layout.

Stop policy

Stop on audio_end=128257 or on >4 consecutive non-codec tokens. Don't stop on audio_pre_end=128009 or audio_end_b=128261 β€” those overlap with Llama-3 specials in the prompt and text_N<10 reserved markers in the custom_token block; the upstream tokens_decoder filters them silently rather than terminating on them.

Conversion

python models/convert-orpheus-to-gguf.py \
    --input unsloth/orpheus-3b-0.1-ft \
    --output orpheus-3b-0.1-ft-f16.gguf \
    --outtype f16

build/bin/crispasr-quantize orpheus-3b-0.1-ft-f16.gguf orpheus-3b-0.1-ft-q8_0.gguf q8_0
build/bin/crispasr-quantize orpheus-3b-0.1-ft-f16.gguf orpheus-3b-0.1-ft-q4_k.gguf q4_k

Drop-in checkpoint variants

The orpheus runtime is checkpoint-agnostic β€” same arch, same prompt format, same SNAC codec. GGUF mirrors of:

are checkpoint swaps. They all reuse the same SNAC codec at cstr/snac-24khz-GGUF.

Attribution

License

Apache-2.0 (as declared by canopylabs/orpheus-3b-0.1-ft). The underlying Llama-3.2-3B-Instruct weights carry the Llama-3.2 community license with its Acceptable Use Policy and "Built with Llama" attribution requirement β€” review both before redistribution.

The SNAC codec is MIT and ships separately under cstr/snac-24khz-GGUF.

Provenance and EU AI Act Art. 53 note

  • Upstream model: canopylabs/orpheus-3b-0.1-ft β€” published by canopylabs.
  • Upstream licence: apache-2.0. This repository redistributes under the same terms; it grants no rights the upstream licence does not.
  • What was done here: format conversion and/or quantisation only (GGUF/GGML). No training, no fine-tuning, no merging, no distillation, no change to architecture, vocabulary or capability. Only the numeric representation of the upstream weights differs.
  • Training data: documented β€” where it is documented at all β€” by the upstream provider; see the upstream model card. No training data was used, added or selected by this repository. No training-content summary was found on the upstream model card at the time of writing; that documentation gap is upstream's and is not filled here.
  • Provider status: under Regulation (EU) 2024/1689 the upstream authors remain the provider of this model. Converting the serialisation format does not make this repository the provider of a new general-purpose AI model, and no such claim is made. Questions about training content, copyright policy or model capability belong upstream.
Downloads last month
925
GGUF
Model size
3B params
Architecture
orpheus
Hardware compatibility
Log In to add your hardware

8-bit

16-bit

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

Model tree for cstr/orpheus-3b-0.1-ft-GGUF