| --- |
| tags: |
| - voice-activity-detection |
| - gguf |
| - multilingual |
| - vad |
| - audio-event-detection |
| - aed |
| - quantization |
| - dfsmn |
| - audio |
| - speech |
| pipeline_tag: voice-activity-detection |
| base_model: FireRedTeam/FireRedVAD |
| --- |
| |
| # FireRedVAD GGUF Models |
|
|
| Pre-converted [FireRedVAD](https://github.com/FireRedTeam/FireRedVAD) models in **GGUF format** for cross-platform, high-performance C++ inference. Includes Standard VAD, Streaming VAD, and Audio Event Detection (AED) with multiple quantization options. |
|
|
| - **Original Models:** [FireRedTeam/FireRedVAD](https://huggingface.co/FireRedTeam/FireRedVAD) |
| - **C++ Inference Engine & Conversion Tools:** [https://github.com/Strg-Alt-Entf-0x00/firered-vad](https://github.com/Strg-Alt-Entf-0x00/firered-vad) |
|
|
| *(Update 2026-08-30: Models re-uploaded to fix a mathematical transposition bug in the FSMN lookahead filters. These models now have 100% exact parity with the original PyTorch implementation).* |
|
|
| ## β‘ Quick Start (Python / Hub) |
|
|
| ```python |
| pip install huggingface-hub |
| from huggingface_hub import hf_hub_download |
| |
| # Download streaming VAD (INT8-CH, recommended) |
| model_path = hf_hub_download( |
| repo_id="Strg-Alt-Entf-0x00/FireRedVAD-GGUF", |
| filename="stream-vad/int8-ch/firered-stream-vad-int8-ch.gguf" |
| ) |
| ``` |
|
|
| For the highly-optimized **Native C++ Engine** (no PyTorch required, up to 53x realtime), see the [Integration Repository](https://github.com/Strg-Alt-Entf-0x00/firered-vad). |
|
|
| --- |
|
|
| ## π Available Models |
|
|
| All models follow this structure: `{model_type}/{quantization}/{filename}.gguf` |
|
|
| ### `stream-vad/` β Real-time Streaming VAD (Causal, Low Latency) |
| Best for real-time voice activity detection. Fully causal β no future context needed. Optimized for streaming applications with 10ms frame processing. Achieves up to **53.6x realtime** performance on a single CPU core. |
|
|
| | Quantization | Path | Size | MAE vs FP32 | SQNR | Notes | |
| |:---|:---|:---|:---|:---|:---| |
| | **INT8-CH** | `stream-vad/int8-ch/` | 601 KB | 0.000985 | 59.4 dB | **Recommended for Edge / IoT**. Per-channel quantization, near-FP32 accuracy | |
| | **INT8** | `stream-vad/int8/` | 574 KB | 0.001918 | 50.5 dB | Per-tensor quantization, good accuracy | |
| | **INT16** | `stream-vad/int16/` | 1.14 MB | 0.000077 | 94.2 dB | High precision, 2x memory | |
| | **FP32** | `stream-vad/fp32/` | 2.28 MB | 0.0 | β | **Recommended for Desktop / Server**. Reference quality, 100% precision | |
|
|
| ### `vad/` β Standard VAD (Bidirectional, High Accuracy) |
| Uses bidirectional context (lookback + lookahead). Higher accuracy than `stream-vad`, but requires buffering full audio segments. Best for offline/batch processing. |
| Performance: **97.57% F1** on FLEURS-VAD-102 dataset. Runs at **31.3x realtime**. |
|
|
| | Quantization | Path | Size | MAE vs FP32 | SQNR | Notes | |
| |:---|:---|:---|:---|:---|:---| |
| | **INT8-CH** | `vad/int8-ch/` | 627 KB | 0.000985 | 59.4 dB | **Recommended for Edge / IoT** | |
| | **INT8** | `vad/int8/` | 595 KB | 0.001957 | 50.4 dB | Good accuracy, minimal size | |
| | **INT16** | `vad/int16/` | 1.18 MB | 0.000079 | 94.2 dB | High precision | |
| | **FP32** | `vad/fp32/` | 2.36 MB | 0.0 | β | **Recommended for Desktop / Server** | |
|
|
| ### `aed/` β Audio Event Detection (Multi-class) |
| Simultaneous detection of speech, music, and singing in 100+ languages. Runs at **31.7x realtime**. |
|
|
| | Quantization | Path | Size | MAE vs FP32 | SQNR | Notes | |
| |:---|:---|:---|:---|:---|:---| |
| | **INT8-CH** | `aed/int8-ch/` | 628 KB | 0.000985 | 59.4 dB | **Recommended for Edge / IoT** | |
| | **INT8** | `aed/int8/` | 596 KB | 0.001957 | 50.4 dB | Good accuracy | |
| | **INT16** | `aed/int16/` | 1.18 MB | 0.000079 | 94.2 dB | High precision | |
| | **FP32** | `aed/fp32/` | 2.36 MB | 0.0 | β | **Recommended for Desktop / Server** | |
|
|
| --- |
|
|
| ## π Quantization Details |
|
|
| ### Why INT8-CH (Per-Channel) is Recommended |
| **Problem with standard INT8 (per-tensor)**: DFSMN architectures have wide variance in weight distribution across output channels. A single global scale factor per tensor cannot capture this range accurately, causing silent accuracy degradation. |
|
|
| **Solution: INT8 Per-Channel (`int8-ch`)**: Assigns one scale factor per output channel. This preserves near-FP32 accuracy (MAE < 0.001, SQNR > 59 dB) while maintaining INT8 speed and memory efficiency. |
|
|
| ### Quantization Quality Metrics (Per Model) |
| Each model includes a `-debug.json` file with per-tensor quantization statistics: |
| - **MAE** (Mean Absolute Error): Average difference from FP32 |
| - **SQNR** (Signal-to-Quantization-Noise Ratio): Quality metric in dB |
| - **Per-channel scale factors**: Min/max/mean scales per layer |
|
|
| --- |
|
|
| ## βοΈ Hardware Requirements |
|
|
| **Minimum (INT8-CH models)** |
| - RAM: ~5 MB for model + ~2 MB for inference buffers |
| - CPU: Any modern x86_64, ARM, or RISC-V processor |
| - Storage: ~600 KB per model |
| |
| **Recommended (FP32 models)** |
| - RAM: ~10 MB for model + ~3 MB for inference buffers |
| - CPU: SIMD support (SSE, AVX, NEON) for faster inference |
| - Storage: ~2.3 MB per model |
| |
| ## π License & Attribution |
| |
| - **FireRedVAD by Xiaohongshu (FireRedTeam)** β Apache 2.0 |
| Source: [https://github.com/FireRedTeam/FireRedVAD](https://github.com/FireRedTeam/FireRedVAD) |
| - **FireRedVAD-GGUF by Strg-Alt-Entf-0x00** β Apache 2.0 |
| Repository: [https://github.com/Strg-Alt-Entf-0x00/firered-vad](https://github.com/Strg-Alt-Entf-0x00/firered-vad) |
| |