davidxifeng's picture
Add Confucius4-R2T2 GGUF: Q8_0 (2.31 GiB) and F16 (3.81 GiB) for audio.cpp, with embedded sidecars and model spec
4ab1686 verified
|
Raw History Blame
6.85 kB
metadata
base_model: netease-youdao/Confucius4-R2T2
base_model_relation: quantized
library_name: audio.cpp
pipeline_tag: automatic-speech-recognition
license: other
license_name: netease-youdao-model-use-license
license_link: https://github.com/netease-youdao/Confucius4-R2T2/blob/master/MODEL_LICENSE
language:
  - zh
  - en
  - yue
  - ar
  - de
  - fr
  - es
  - pt
  - id
  - it
  - ko
  - ru
  - th
  - vi
  - ja
  - tr
  - hi
  - ms
  - nl
  - sv
  - da
  - fi
  - pl
  - cs
  - fil
  - fa
  - el
  - hu
  - mk
  - ro
tags:
  - gguf
  - asr
  - automatic-speech-recognition
  - streaming
  - real-time
  - low-latency
  - quantized
  - qwen3-asr
  - confucius4
  - r2t2
  - audio.cpp

Confucius4-R2T2 — GGUF (audio.cpp)

GGUF conversions of NetEase Youdao Confucius4-R2T2, a low-latency, append-only streaming ASR model (a Qwen3-ASR-1.7B fine-tune with Longest Stable Prefix decoding), ready to run with audio.cpp — no Python, no PyTorch, local inference on Metal / CUDA / CPU.

Files

File Quantization Size Notes
r2t2-q8_0.gguf Q8_0 2.31 GiB Recommended: smallest, no measurable quality loss on the verification set
r2t2-f16.gguf F16 3.81 GiB Maximum fidelity

Both files are self-contained: the tokenizer, processor config, generation config, chat template and the audio.cpp model spec are embedded, so the runtime needs nothing but the binary and the single .gguf (the embedded files are unpacked into a temporary directory at load time).

Precision policy: Q8_0 and higher are supported. 4-bit and 5-bit quantizations (legacy and k-quant) are rejected at load time with an actionable error, because this graph's kernels are not validated below Q8_0 and otherwise decode to empty text.

SHA-256:

2f2896fb93fcb6cc95995e6c8aba22b2f68a714daab91a5be7890b3d177710cd  r2t2-q8_0.gguf
4ec1a57adf0ef09b99850eb87aeb816068fcf8ea72e11a1a58b15a4faea388a4  r2t2-f16.gguf

Usage

Install

# via the audio.cpp model manager
python3 tools/model_manager_v2.py install r2t2_asr_q8_0     # or r2t2_asr_f16

# or directly
hf download davidxifeng/Confucius4-R2T2-gguf r2t2-q8_0.gguf \
  --local-dir models/Confucius4-R2T2-GGUF

Offline transcription

audiocpp_cli --task asr --family r2t2_asr \
  --model models/Confucius4-R2T2-GGUF/r2t2-q8_0.gguf \
  --backend metal --audio speech_16k.wav --text-out transcript.txt

Streaming (real-time, append-only)

audiocpp_cli --task asr --mode streaming --family r2t2_asr \
  --model models/Confucius4-R2T2-GGUF/r2t2-q8_0.gguf \
  --backend metal --audio speech_16k.wav \
  --session-option r2t2_asr.chunk_size_ms=320 \
  --text-out transcript.txt

Chunk sizes from 80 ms to 2 s are supported; 320 ms is a good default on Apple Silicon. --audio - streams raw 16 kHz mono PCM from stdin for live sources. Pass --language Chinese to skip language detection and --text "hotword, term" for a context/hotword prompt.

Server

{
  "id": "r2t2-asr",
  "family": "r2t2_asr",
  "path": "models/Confucius4-R2T2-GGUF/r2t2-q8_0.gguf",
  "task": "asr",
  "mode": "streaming",
  "session_options": { "r2t2_asr.chunk_size_ms": "320" }
}
curl http://127.0.0.1:8488/v1/audio/transcriptions -F model=r2t2-asr -F file=@speech.wav
curl -N http://127.0.0.1:8488/v1/audio/transcriptions \
  -F model=r2t2-asr -F stream=true -F file=@speech.wav     # SSE transcript deltas

See docs/models/r2t2.md in audio.cpp for the full option reference, the LSP streaming contract, and GGUF details.

Conversion recipe

audiocpp_gguf \
  --input /path/to/Confucius4-R2T2/model.safetensors \
  --root  /path/to/Confucius4-R2T2 \
  --family r2t2_asr \
  --output r2t2-q8_0.gguf \
  --type q8_0

No weight-name or head flags are needed: the checkpoint ties the LM head to the token embedding (lm_head.weight is absent) and the loader detects that. Quantization only; no other weight modification.

Verification

These conversions were checked against the official reference implementation (PyTorch + MPS, R2T2ASRModel) on the model's own test clip and on the audio.cpp English sample:

Checkpoint Offline text Committed stream Final transcript Per-chunk committed text
r2t2-q8_0.gguf exact exact exact 21/21 exact
r2t2-f16.gguf exact exact exact 21/21 exact

"Exact" means character-identical to the reference, including the reference's own language metadata-fragment artifact in the committed stream. Offline throughput on an Apple M3 is roughly 8× real time (RTF ≈ 0.13) for Q8_0.

Language support

Optimized for Chinese and English, with support for Cantonese, Arabic, German, French, Spanish, Portuguese, Indonesian, Italian, Korean, Russian, Thai, Vietnamese, Japanese, Turkish, Hindi, Malay, Dutch, Swedish, Danish, Finnish, Polish, Czech, Filipino, Persian, Greek, Romanian, Hungarian and Macedonian.

License and attribution

This is a quantized Derivative Work of NetEase Youdao Confucius4-R2T2, distributed under the NetEase Youdao Model Use License Agreement — full text in LICENSE (English) and LICENSE_zh (Chinese); see also NOTICE. The source code of the original model is Apache-2.0, the model weights are not.

Required statement (license section 4.1(a)):

Any modifications made to the original model in this Derivative Work are not endorsed, warranted, or guaranteed by the original right-holder of the original model, and the original right-holder disclaims all liability related to this Derivative Work.

Key restrictions: a separate commercial license is required above 100 M monthly active users or RMB 1 B annual revenue (section 2.2); the model may not be used to improve other AI models except Confucius4-R2T2, its derivatives, or non-commercial models (section 3.4(c)); high-risk uses such as medical diagnosis, autonomous driving, military, critical-infrastructure control, large-scale biometric surveillance and automated decision-making are prohibited (section 4.2). No trademark rights are granted (section 5.2).

Citation

@misc{Confucius4-R2T2,
  title        = {Confucius4-R2T2: A Low Latency and High Accuracy Real-Time Speech Recognition Model},
  author       = {NetEase Youdao},
  year         = {2026},
  howpublished = {https://github.com/netease-youdao/Confucius4-R2T2}
}