Views
No views yet
canopylabs/orpheus-3b-0.1-ft (sourced via the non-gated unsloth/orpheus-3b-0.1-ft mirror) for use with CrispStrobe/CrispASR.<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).cstr/snac-24khz-GGUF — the talker outputs codec tokens but doesn't render audio without it.| 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) |
1# 1. Build CrispASR
2git clone https://github.com/CrispStrobe/CrispASR
3cd CrispASR
4cmake -B build -DCMAKE_BUILD_TYPE=Release
5cmake --build build -j --target crispasr-lib
6
7# 2. Pull the talker + the SNAC codec
8huggingface-cli download cstr/orpheus-3b-0.1-ft-GGUF orpheus-3b-0.1-ft-q8_0.gguf --local-dir .
9huggingface-cli download cstr/snac-24khz-GGUF snac-24khz.gguf --local-dir .
10
11# 3. Synthesise
12./build/bin/crispasr --backend orpheus \
13 -m orpheus-3b-0.1-ft-q8_0.gguf \
14 --codec-model snac-24khz.gguf \
15 --voice tara \
16 --temperature 0.6 \
17 --tts "Hello, my name is Tara." \
18 --tts-output hello.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.-m auto:1./build/bin/crispasr --backend orpheus -m auto \
2 --voice leo --temperature 0.6 \
3 --tts "Auto-download fetches both files." \
4 --tts-output out.wav| 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 |
<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).[audio_start=128259, BOS=128000, ...tokenize("{name}: {text}")...,
eot_id=128009, audio_eot=128260, audio_eom=128261, audio_end=128257]orpheus_synthesize_codes need to mirror the layout.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.1python models/convert-orpheus-to-gguf.py \
2 --input unsloth/orpheus-3b-0.1-ft \
3 --output orpheus-3b-0.1-ft-f16.gguf \
4 --outtype f16
5
6build/bin/crispasr-quantize orpheus-3b-0.1-ft-f16.gguf orpheus-3b-0.1-ft-q8_0.gguf q8_0
7build/bin/crispasr-quantize orpheus-3b-0.1-ft-f16.gguf orpheus-3b-0.1-ft-q4_k.gguf q4_korpheus runtime is checkpoint-agnostic — same arch, same prompt format, same SNAC codec. GGUF mirrors of:cstr/kartoffel-orpheus-3b-german-natural-GGUF (German, natural speech, 19 speakers)cstr/kartoffel-orpheus-3b-german-synthetic-GGUF (German, synthetic data, 26 speakers)cstr/snac-24khz-GGUF.canopylabs/orpheus-3b-0.1-ft (Apache-2.0). canopylabs / canopyai.unsloth/orpheus-3b-0.1-ft.meta-llama/Llama-3.2-3B-Instruct — Llama-3.2 community license.hubertsiuzdak/snac_24khz (MIT) — see cstr/snac-24khz-GGUF.engine_class.py:_format_prompt, decoder.py).CrispStrobe/CrispASR — see src/orpheus.cpp, src/orpheus_snac.cpp, models/convert-orpheus-to-gguf.py.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.cstr/snac-24khz-GGUF.canopylabs.apache-2.0. This repository redistributes under the same terms; it grants no rights the upstream licence does not.