Pellav2: audio deepfake detector
Binary real/fake speech classifier built on a large self supervised speech backbone (300M parameters) with learned layer weighting and a lightweight classification head. Trained on a curated private dataset: real speech plus synthetic speech spanning a broad range of modern TTS systems across multiple synthesis families. Details of the training data will be published later.
Files
pellav2_detector.pt: the model weights.pellav2_infer.py: ready to run inference script (model class included).
Results (all measured on data the model never saw in training)
| eval | result |
|---|---|
| DFADD external test | 1.9% EER (AUC .999) |
| In The Wild (random tenth of the set, fully outside our training domain) | 10.9% EER (AUC .961) |
| False positive rate on clean unseen speakers | 0 to 2% |
| Inference latency (T4 GPU, batch 1, 4 second crop) | 57 ms per clip |
Scores are calibrated for a 0.5 threshold (higher means fake).
Usage
pip install torch transformers soundfile numpy
python pellav2_infer.py pellav2_detector.pt your_clip.wav
Architecture: facebook/wav2vec2-xls-r-300m backbone with a learned softmax over
all 25 hidden layers, mean pooled, linear head, sigmoid. Input: 16kHz mono,
4 second center crop, per clip mean/std normalization. See pellav2_infer.py.
Intended use and limitations
Research model for detecting synthetic speech in studio or podcast grade English audio. Known limitation: noisy real world channels (interviews, music beds, heavy recompression) raise the false positive rate on genuine speech, see the In The Wild number. Not evaluated on voice conversion, singing, or languages other than English.