mudler/voice-detect-gguf
voice-detect-gguf
GGUF models for the `voice-detect` backend of LocalAI.
Each .gguf here is a self-contained, metadata-driven model produced by voice-detect.cpp, a standalone C++/ggml engine for speaker recognition and voice analysis. No Python, PyTorch, or ONNX runtime is needed at inference time: the GGUF carries the weights verbatim plus the forward-graph topology in its KV metadata, and the C++ engine replays it. One Kaldi-compatible 80-dim FBank front end feeds every speaker encoder; only the encoder graph changes between models.
- Source code commit:
1db1759572c90faef6f3a78c36b5941a096a9f89(voice-detect.cpp) - Format: GGUF,
general.architecture = "voicedetect" - Dtype: F32 (full precision, exact vs the reference)
- Consumed by: LocalAI
voice-detectbackend
License - read before use
These models carry different licenses depending on their source weights. The four speaker encoders are commercial-friendly; the two wav2vec2 analysis heads are non-commercial, research-only. Pick what matches your use case.
The two wav2vec2 analysis heads (emotion, age/gender) are redistributed under their upstream CC-BY-NC-SA-4.0 terms and are for research / non-commercial use only. The four speaker encoders (ECAPA-TDNN, WeSpeaker, ERes2Net, CAM++) are commercial-friendly.
Models
ecapa-tdnn-voxceleb.gguf - ECAPA-TDNN, 192-d
The primary speaker-verification anchor. SpeechBrain spkrec-ecapa-voxceleb, an ECAPA-TDNN trained on VoxCeleb, producing a 192-d L2-normalized speaker embedding. License: Apache-2.0.
wespeaker-resnet34-voxceleb.gguf - ResNet34, 256-d
WeSpeaker ResNet34 trained on VoxCeleb, producing a 256-d embedding. Strong general speaker verification. License: CC-BY-4.0 (attribution).
eres2net-base-zh-cn.gguf - ERes2Net, 512-d
3D-Speaker ERes2Net (base), a Res2Net backbone with attentional feature fusion, producing a 512-d embedding. License: Apache-2.0.
campplus-zh-cn.gguf - CAM++, 192-d
3D-Speaker CAM++, a lightweight context-aware masking D-TDNN, producing a 192-d embedding. Fast on CPU and edge. License: Apache-2.0.
emotion-wav2vec2-superb-er.gguf - wav2vec2 emotion head
A wav2vec2 transformer that returns an emotion-class distribution for an utterance (the analyze path, not an embedding). License: CC-BY-NC-SA-4.0, research only.
age-gender-wav2vec2-audeering.gguf - wav2vec2 age/gender head
audeering wav2vec2-large-robust-24-ft-age-gender: a wav2vec2 transformer returning an age estimate and a gender distribution for an utterance. License: CC-BY-NC-SA-4.0, research only.
Parity
Each model was validated against its reference (SpeechBrain / WeSpeaker / 3D-Speaker / audeering, via torch or ONNX) before upload. The embedding gate is cosine >= 0.9999 (and an identical verification verdict). At F32 the match is exact.
Usage
These models are intended to be installed through the LocalAI model gallery (voice-detect-ecapa-tdnn, -wespeaker-resnet34, -eres2net, -campplus, -emotion-wav2vec2, -age-gender-wav2vec2) and run by the voice-detect backend, which exposes speaker embed / verify / identify and analyze (age, gender, emotion). See the LocalAI and voice-detect.cpp documentation.
