Views
No views yet
| 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 |
1$ conda create --name fireredvad python=3.10
2$ conda activate fireredvad
3$ git clone https://github.com/FireRedTeam/FireRedVAD.git
4$ cd FireRedVAD # or fireredvad1$ pip install -r requirements.txt
2$ export PATH=$PWD/fireredvad/bin/:$PATH
3$ export PYTHONPATH=$PWD/:$PYTHONPATH1# Download via ModelScope (recommended for users in China)
2pip install -U modelscope
3modelscope download --model xukaituo/FireRedVAD --local_dir ./pretrained_models/FireRedVAD
4
5# Download via Hugging Face
6pip install -U "huggingface_hub[cli]"
7huggingface-cli download FireRedTeam/FireRedVAD --local-dir ./pretrained_models/FireRedVAD$ ffmpeg -i <input_audio_path> -ar 16000 -ac 1 -acodec pcm_s16le -f wav <output_wav_path>1$ cd examples
2$ bash inference_vad.sh
3$ bash inference_stream_vad.sh
4$ bash inference_aed.shPATH and PYTHONPATH first: export PATH=$PWD/fireredvad/bin/:$PATH; export PYTHONPATH=$PWD/:$PYTHONPATH1$ vad.py --help
2$ vad.py --use_gpu 0 --model_dir pretrained_models/FireRedVAD/VAD --smooth_window_size 5 --speech_threshold 0.4 \
3 --min_speech_frame 20 --max_speech_frame 3000 --min_silence_frame 10 --merge_silence_frame 0 \
4 --extend_speech_frame 0 --chunk_max_frame 30000 --write_textgrid 1 \
5 --wav_path assets/hello_zh.wav --output out/vad.txt --save_segment_dir out/vad
6
7$ stream_vad.py --help
8$ stream_vad.py --use_gpu 0 --model_dir pretrained_models/FireRedVAD/Stream-VAD --smooth_window_size 5 --speech_threshold 0.3 \
9 --pad_start_frame 5 --min_speech_frame 8 --max_speech_frame 2000 --min_silence_frame 20 \
10 --chunk_max_frame 30000 --write_textgrid 1 \
11 --wav_path assets/hello_en.wav --output out/vad.txt --save_segment_dir out/stream_vad
12
13$ aed.py --help
14$ aed.py --use_gpu 0 --model_dir pretrained_models/FireRedVAD/AED --smooth_window_size 5 --speech_threshold 0.4 \
15 --singing_threshold 0.5 --music_threshold 0.5 --min_event_frame 20 --max_event_frame 3000 \
16 --min_silence_frame 10 --merge_silence_frame 0 --extend_speech_frame 0 --chunk_max_frame 30000 --write_textgrid 1 \
17 --wav_path assets/event.wav --output out/aed.txt --save_segment_dir out/aedPYTHONPATH first: export PYTHONPATH=$PWD/:$PYTHONPATH1from fireredvad import FireRedVad, FireRedVadConfig
2
3vad_config = FireRedVadConfig(
4 use_gpu=False,
5 smooth_window_size=5,
6 speech_threshold=0.4,
7 min_speech_frame=20,
8 max_speech_frame=2000,
9 min_silence_frame=20,
10 merge_silence_frame=0,
11 extend_speech_frame=0,
12 chunk_max_frame=30000)
13vad = FireRedVad.from_pretrained("pretrained_models/FireRedVAD/VAD", vad_config)
14
15result, probs = vad.detect("assets/hello_zh.wav")
16
17print(result)
18# {'dur': 2.32, 'timestamps': [(0.44, 1.82)], 'wav_path': 'assets/hello_zh.wav'}1from fireredvad import FireRedStreamVad, FireRedStreamVadConfig
2
3vad_config=FireRedStreamVadConfig(
4 use_gpu=False,
5 smooth_window_size=5,
6 speech_threshold=0.4,
7 pad_start_frame=5,
8 min_speech_frame=8,
9 max_speech_frame=2000,
10 min_silence_frame=20,
11 chunk_max_frame=30000)
12stream_vad = FireRedStreamVad.from_pretrained("pretrained_models/FireRedVAD/Stream-VAD", vad_config)
13
14frame_results, result = stream_vad.detect_full("assets/hello_en.wav")
15
16print(result)
17# {'dur': 2.24, 'timestamps': [(0.28, 1.83)], 'wav_path': 'assets/hello_en.wav'}1from fireredvad import FireRedAed, FireRedAedConfig
2
3aed_config=FireRedAedConfig(
4 use_gpu=False,
5 smooth_window_size=5,
6 speech_threshold=0.4,
7 singing_threshold=0.5,
8 music_threshold=0.5,
9 min_event_frame=20,
10 max_event_frame=2000,
11 min_silence_frame=20,
12 merge_silence_frame=0,
13 extend_speech_frame=0,
14 chunk_max_frame=30000)
15aed = FireRedAed.from_pretrained("pretrained_models/FireRedVAD/AED", aed_config)
16
17result, probs = aed.detect("assets/event.wav")
18
19print(result)
20# {'dur': 22.016, 'event2timestamps': {'speech': [(0.4, 3.56), (3.66, 9.08), (9.27, 9.77), (10.78, 21.76)], 'singing': [(1.79, 19.96), (19.97, 22.016)], 'music': [(0.09, 12.32), (12.33, 22.016)]}, 'event2ratio': {'speech': 0.848, 'singing': 0.905, 'music': 0.991}, 'wav_path': 'assets/event.wav'}ffmpeg -i <input_audio_path> -ar 16000 -ac 1 -acodec pcm_s16le -f wav <output_wav_path>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}