Automatic Speech Recognition
Transformers
Safetensors
Chinese
English
voxtral_realtime
realtime
speech-recognition
streaming-asr
bilingual
Instructions to use x-square-robot/X2-ASR-4B-0812 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use x-square-robot/X2-ASR-4B-0812 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("automatic-speech-recognition", model="x-square-robot/X2-ASR-4B-0812")# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("x-square-robot/X2-ASR-4B-0812") model = AutoModelForMultimodalLM.from_pretrained("x-square-robot/X2-ASR-4B-0812", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Update model card with bilingual streaming ASR results at τ=480/960/2400 ms
Browse files
README.md
CHANGED
|
@@ -69,7 +69,7 @@ outputs = model.generate(**inputs)
|
|
| 69 |
print(processor.batch_decode(outputs, skip_special_tokens=True)[0])
|
| 70 |
```
|
| 71 |
|
| 72 |
-
Default streaming delay is **τ = 480 ms** (6 × 80 ms), matching the pretrained Voxtral Realtime recipe. The same weights cover τ in 80–2400 ms;
|
| 73 |
|
| 74 |
A GPU with **at least 16 GB of VRAM** is recommended.
|
| 75 |
|
|
@@ -80,20 +80,41 @@ Training follows the two-stage recipe in the paper:
|
|
| 80 |
1. **Stage 1 (this checkpoint)** — streaming ASR adaptation on ~26k hours of Chinese–English speech with frame-level ASR labels. Full fine-tune of the causal audio encoder and the language decoder. τ is sampled per batch between 1 and 30 frames (80–2400 ms).
|
| 81 |
2. **Stage 2** — [`X2-Turn-4B-0812`](https://huggingface.co/x-square-robot/X2-Turn-4B-0812) attaches an independent turn head (initialized as a copy of the ASR `lm_head`) and jointly fine-tunes ASR + turn state.
|
| 82 |
|
| 83 |
-
Stage 2 is stronger at turn-taking. **Stage 1 is stronger at ASR** on the
|
| 84 |
|
| 85 |
## Benchmark results
|
| 86 |
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
|
|
| 92 |
-
|
|
| 93 |
-
|
|
| 94 |
-
|
|
| 95 |
-
|
|
| 96 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 97 |
|
| 98 |
## Training data
|
| 99 |
|
|
|
|
| 69 |
print(processor.batch_decode(outputs, skip_special_tokens=True)[0])
|
| 70 |
```
|
| 71 |
|
| 72 |
+
Default streaming delay is **τ = 480 ms** (6 × 80 ms), matching the pretrained Voxtral Realtime recipe. The same weights cover τ in 80–2400 ms; the tables below show the accuracy–latency trade-off.
|
| 73 |
|
| 74 |
A GPU with **at least 16 GB of VRAM** is recommended.
|
| 75 |
|
|
|
|
| 80 |
1. **Stage 1 (this checkpoint)** — streaming ASR adaptation on ~26k hours of Chinese–English speech with frame-level ASR labels. Full fine-tune of the causal audio encoder and the language decoder. τ is sampled per batch between 1 and 30 frames (80–2400 ms).
|
| 81 |
2. **Stage 2** — [`X2-Turn-4B-0812`](https://huggingface.co/x-square-robot/X2-Turn-4B-0812) attaches an independent turn head (initialized as a copy of the ASR `lm_head`) and jointly fine-tunes ASR + turn state.
|
| 82 |
|
| 83 |
+
Stage 2 is stronger at turn-taking. **Stage 1 is stronger at ASR** on the same streaming test sets (see below). After Stage 2 joint training, recognition degrades on some sets; that is expected.
|
| 84 |
|
| 85 |
## Benchmark results
|
| 86 |
|
| 87 |
+
Streaming ASR of **this checkpoint** at three operating points of the delay τ. Chinese numbers are **CER** (%); English numbers are **WER** (%). Avg. is the unweighted mean over the listed sets. A subset of the 480 ms / 2400 ms numbers also appears in Table 3 of the [paper](https://arxiv.org/abs/2608.10878), together with Stage 2 (X2-Turn) and chunk-based baselines.
|
| 88 |
+
|
| 89 |
+
**Chinese (CER ↓)**
|
| 90 |
+
|
| 91 |
+
| Test set | τ = 480 ms | τ = 960 ms | τ = 2400 ms |
|
| 92 |
+
|---|:---:|:---:|:---:|
|
| 93 |
+
| AISHELL-1 Dev | 2.14 | 1.45 | 1.30 |
|
| 94 |
+
| AISHELL-1 Test | 2.57 | 1.76 | 1.48 |
|
| 95 |
+
| AISHELL-2 Android | 4.70 | 3.77 | 3.42 |
|
| 96 |
+
| AISHELL-2 iOS | 4.41 | 3.60 | 3.23 |
|
| 97 |
+
| AISHELL-2 Mic | 4.54 | 3.77 | 3.54 |
|
| 98 |
+
| AISHELL-3 Test | 3.16 | 2.33 | 2.13 |
|
| 99 |
+
| AISHELL-4 Test | 18.72 | 17.26 | 16.42 |
|
| 100 |
+
| WenetSpeech Dev | 8.13 | 7.79 | 7.81 |
|
| 101 |
+
| WenetSpeech Test-Meeting | 9.25 | 8.26 | 7.68 |
|
| 102 |
+
| WenetSpeech Test-Net | 9.50 | 8.70 | 8.40 |
|
| 103 |
+
| **Avg.** | **6.71** | **5.87** | **5.54** |
|
| 104 |
+
|
| 105 |
+
**English (WER ↓)**
|
| 106 |
+
|
| 107 |
+
| Test set | τ = 480 ms | τ = 960 ms | τ = 2400 ms |
|
| 108 |
+
|---|:---:|:---:|:---:|
|
| 109 |
+
| GigaSpeech | 12.23 | 11.05 | 10.87 |
|
| 110 |
+
| LibriSpeech test-clean | 2.40 | 1.65 | 1.54 |
|
| 111 |
+
| LibriSpeech test-other | 5.87 | 4.25 | 3.77 |
|
| 112 |
+
| TED-LIUM Test | 4.62 | 3.76 | 3.66 |
|
| 113 |
+
| VoxPopuli | 9.16 | 6.63 | 6.05 |
|
| 114 |
+
| VoxPopuli Accented | 27.93 | 25.88 | 25.12 |
|
| 115 |
+
| **Avg.** | **10.37** | **8.87** | **8.50** |
|
| 116 |
+
|
| 117 |
+
Larger τ uses more lookahead and generally lowers error, at the cost of additional streaming delay. AISHELL-4 and VoxPopuli Accented remain the hardest sets in each language. For Stage 2 turn-taking accuracy and the comparison against Uni-ASR / Freeze-Omni, see the [paper](https://arxiv.org/abs/2608.10878).
|
| 118 |
|
| 119 |
## Training data
|
| 120 |
|