FireRedASR2S is a state-of-the-art (SOTA), industrial-grade, all-in-one ASR system with ASR, VAD, LID, and Punc modules. All modules achieve SOTA performance:
FireRedASR2: Automatic Speech Recognition (ASR) supporting peech and singing transcription for Chinese (Mandarin, 20+ dialects/accents), English, code-switching. 2.89% average CER on 4 public Mandarin benchmarks, 11.55% on 19 Chinese dialects and accents benchmarks, outperforming Doubao-ASR, Qwen3-ASR-1.7B, Fun-ASR, and Fun-ASR-Nano-2512. FireRedASR2-AED also supports word-level timestamps and confidence scores.
FireRedVAD: Voice Activity Detection (VAD) supporting speech/singing/music in 100+ languages. 97.57% F1, outperforming Silero-VAD, TEN-VAD, FunASR-VAD and WebRTC-VAD. Supports non-streaming/streaming VAD and Multi-label VAD (mVAD).
FireRedLID: Spoken Language Identification (LID) supporting 100+ languages and 20+ Chinese dialects/accents. 97.18% accuracy, outperforming Whisper and SpeechBrain.
FireRedPunc: Punctuation Prediction (Punc) for Chinese and English. 78.90% average F1, outperforming FunASR-Punc (62.77%).
2S: 2nd-generation FireRedASR, now expanded to an all-in-one ASR System
🔥 News
[2026.03.12] 🔥 We release FireRedASR2S technical report. See arXiv.
[2026.03.05] 🚀 vLLM supports FireRedASR2-LLM. See vLLM Usage part.
[2026.02.25] 🔥 We release FireRedASR2-LLM model weights. 🤗🤖
[2026.02.13] 🚀 Support TensorRT-LLM inference acceleration for FireRedASR2-AED (contributed by NVIDIA). Benchmark on AISHELL-1 test set shows 12.7x speedup over PyTorch baseline (single H20).
[2026.02.12] 🔥 We release FireRedASR2S (FireRedASR2-AED, FireRedVAD, FireRedLID, and FireRedPunc) with model weights and inference code. Download links below. Technical report and finetuning code coming soon.
Available Models and Languages
Model
Supported Languages & Dialects
Download
FireRedASR2-LLM
Chinese (Mandarin and 20+ dialects/accents*), English, Code-Switching
*Supported Chinese dialects/accents: Cantonese (Hong Kong & Guangdong), Sichuan, Shanghai, Wu, Minnan, Anhui, Fujian, Gansu, Guizhou, Hebei, Henan, Hubei, Hunan, Jiangxi, Liaoning, Ningxia, Shaanxi, Shanxi, Shandong, Tianjin, Yunnan, etc.
Method
FireRedASR2S: System Overview
Model
FireRedASR2
FireRedASR2 builds upon FireRedASR with improved accuracy, designed to meet diverse requirements in superior performance and optimal efficiency across various applications. It comprises two variants:
FireRedASR2-LLM: Designed to achieve state-of-the-art performance and to enable seamless end-to-end speech interaction. It adopts an Encoder-Adapter-LLM framework leveraging large language model (LLM) capabilities.
FireRedASR2-AED: Designed to balance high performance and computational efficiency and to serve as an effective speech representation module in LLM-based speech models. It utilizes an Attention-based Encoder-Decoder (AED) architecture.
Model
Other Modules
FireRedVAD: DFSMN-based non-streaming/streaming Voice Activity Detection and Multi-label VAD (mVAD). mVAD can be viewed as a lightweight Audio Event Detection (AED) system specialized for a small set of sound categories (speech/singing/music).
FireRedLID: Encoder-Decoder-based Spoken Language Identification. See FireRedLID README for language details.
FireRedPunc: BERT-based Punctuation Prediction.
Quick Start
Setup
Create a clean Python environment:
bash
1$ conda create --name fireredasr2s python=3.102$ conda activate fireredasr2s
3$ git clone https://github.com/FireRedTeam/FireRedASR2S.git
4$ cd FireRedASR2S # or fireredasr2s
Install dependencies and set up PATH and PYTHONPATH:
The four components under fireredasr2s, i.e. fireredasr2, fireredvad, fireredlid, and fireredpunc are self-contained and designed to work as a standalone modules. You can use any of them independently without depending on the others. FireRedVAD and FireRedLID will also be open-sourced as standalone libraries in separate repositories.
Script Usage
bash
1# ASR2$ cd examples_infer/asr
3$ bash inference_asr_aed.sh
4$ bash inference_asr_llm.sh
56# VAD & mVAD (mVAD=Audio Event Detection, AED)7$ cd examples_infer/vad
8$ bash inference_vad.sh
9$ bash inference_streamvad.sh
10$ bash inference_aed.sh
1112# LID13$ cd examples_infer/lid
14$ bash inference_lid.sh
1516# Punc17$ cd examples_infer/punc
18$ bash inference_punc.sh
vLLM Usage
shell
1# Serving FireRedASR2-LLM with latest vLLM for the highest performance.2# For more details, see https://github.com/vllm-project/vllm/pull/35727.3$ vllm serve allendou/FireRedASR2-LLM-vllm -tp=2 --dtype=float32
4$ python3 examples/online_serving/openai_transcription_client.py --repetition_penalty=1.0 --audio_path=/root/hello_zh.wav
Python API Usage
Set up PYTHONPATH first: export PYTHONPATH=$PWD/:$PYTHONPATH
Note:FireRedASR2S code has only been tested on Linux Ubuntu 22.04. Behavior on other Linux distributions or Windows has not been tested.
FAQ
Q: What audio format is supported?
16kHz 16-bit mono PCM wav. Use ffmpeg to convert other formats: ffmpeg -i <input_audio_path> -ar 16000 -ac 1 -acodec pcm_s16le -f wav <output_wav_path>
Q: What are the input length limitations of ASR models?
FireRedASR2-AED supports audio input up to 60s. Input longer than 60s may cause hallucination issues, and input exceeding 200s will trigger positional encoding errors.
FireRedASR2-LLM supports audio input up to 40s. The behavior for longer input is untested.
FireRedASR2-LLM Batch Beam Search: When performing batch beam search with FireRedASR2-LLM, even though attention masks are applied, it is recommended to ensure that the input lengths of the utterances are similar. If there are significant differences in utterance lengths, shorter utterances may experience repetition issues. You can either sort your dataset by length or set batch_size to 1 to avoid the repetition issue.
Evaluation
FireRedASR2
Metrics: Character Error Rate (CER%) for Chinese and Word Error Rate (WER%) for English. Lower is better.
We evaluate FireRedASR2 on 24 public test sets covering Mandarin, 20+ Chinese dialects/accents, and singing.
Mandarin (4 test sets): 2.89% (LLM) / 3.05% (AED) average CER, outperforming Doubao-ASR (3.69%), Qwen3-ASR-1.7B (3.76%), Fun-ASR (4.16%) and Fun-ASR-Nano-2512 (4.55%).
Dialects (19 test sets): 11.55% (LLM) / 11.67% (AED) average CER, outperforming Doubao-ASR (15.39%), Qwen3-ASR-1.7B (11.85%), Fun-ASR (12.76%) and Fun-ASR-Nano-2512 (15.07%).
Click to expand
We evaluate FireRedVAD on FLEURS-VAD-102, a multilingual VAD benchmark covering 102 languages.
FireRedVAD achieves SOTA performance, outperforming Silero-VAD, TEN-VAD, FunASR-VAD, and WebRTC-VAD.
Metric\Model
FireRedVAD
Silero-VAD
TEN-VAD
FunASR-VAD
WebRTC-VAD
AUC-ROC↑
99.60
97.99
97.81
-
-
F1 score↑
97.57
95.95
95.19
90.91
52.30
False Alarm Rate↓
2.69
9.41
15.47
44.03
2.83
Miss Rate↓
3.62
3.95
2.95
0.42
64.15
FLEURS-VAD-102: We randomly selected ~100 audio files per language from FLEURS test set, resulting in 9,443 audio files with manually annotated binary VAD labels (speech=1, silence=0). This VAD testset will be open sourced (coming soon).
Note: FunASR-VAD achieves low Miss Rate but at the cost of high False Alarm Rate (44.03%), indicating over-prediction of speech segments.
FireRedLID
Click to expand
Metric: Utterance-level LID Accuracy (%). Higher is better.
We evaluate FireRedLID on multilingual and Chinese dialect benchmarks.
FireRedLID achieves SOTA performance, outperforming Whisper, SpeechBrain-LID, and Dolphin.
Testset\Model
Languages
FireRedLID
Whisper
SpeechBrain
Dolphin
FLEURS test
82 languages
97.18
79.41
92.91
-
CommonVoice test
74 languages
92.07
80.81
78.75
-
KeSpeech + MagicData
20+ Chinese dialects/accents
88.47
-
-
69.01
FireRedPunc
Click to expand
Metric: Precision/Recall/F1 Score (%). Higher is better.
We evaluate FireRedPunc on multi-domain Chinese and English benchmarks.
FireRedPunc achieves SOTA performance, outperforming FunASR-Punc (CT-Transformer).
1@article{xu2026fireredasr2s,
2 title={FireRedASR2S: A State-of-the-Art Industrial-Grade All-in-One Automatic Speech Recognition System},
3 author={Xu, Kaituo and Jia, Yan and Huang, Kai and Chen, Junjie and Li, Wenpeng and Liu, Kun and Xie, Feng-Long and Tang, Xu and Hu, Yao},
4 journal={arXiv preprint arXiv:2603.10420},
5 year={2026}
6}