WavLM + AASIST deepfake speech detector trained with a combined CE + OC-Softmax objective, which
pulls bonafide embeddings into a tight cluster and pushes every spoof type outside it — a different
decision-boundary shape than the plain-CE model, useful as an ensemble partner.
Detects whether a speech clip is
real (bonafide)
or a
deepfake (spoof)
.
Backbone:
microsoft/wavlm-large
(~300M params)
Pooling:
AASIST graph-attention (gat_dims 128/64)
Training run:
wavlm_aasist_27_03_oc_softmax_ce_from_16
(last epoch, #10 of this sub-run, shipped)
CE + OC-Softmax combined loss, continuing from the epoch-16 checkpoint of
wavlm_aasist_27_03_oc_softmax
.
Same core data sources as the other models in this batch (SpeechFake, DFADD, CodecFake,
MD-CommonVoice, ASVspoof2019-LA) and the same augmentation stack (codec, MUSAN,
RIR, RawBoost, SpecAugment, splice/mix).
Results — epoch 10 / "last" (shipped checkpoint)
Eval set
EER %
Val (held-out)
1.78
MLAAD (v7)
0.38
CodecFake
0.72
DFADD
0.00
MD-CommonVoice
0.17
In-the-Wild
1.76
ASVspoof2019-LA
0.68
ASVspoof2021-LA
2.19
ASVspoof2024
12.37
ADD2022-Track1
15.91
ADD2022-Track3
2.20
ADD2023-Round1
5.94
ADD2023-Round2
11.30
LibriSeVoc
0.05
SONAR
0.48
Avg (all sets)
3.73
Avg (external only)
4.14
Note: "last" was shipped rather than the metric-best epoch — epoch 8 has a slightly lower avg-all
(3.66% vs 3.73%), though epoch 10 has a better In-the-Wild EER (1.76% vs 1.92%). It's a close call
either way; worth a quick look before assuming epoch 10 is optimal.
Files in this repo
file
purpose
2nd_oc_softmax_ce_from16_last.safetensors
model weights, safe format
2nd_oc_softmax_ce_from16_last.pt
model weights, legacy pickle
config.json
minimal architecture metadata (also used by the Hub to track downloads)
inference.py
run script — prefers the
.safetensors
file automatically
(Optionally override the checkpoint:
python inference.py <audio.wav> <checkpoint.pt>
.)
Audio is auto-converted to mono / 16 kHz and trimmed/padded to 5 s.
Output
fake_probability: <0..1> # threshold is domain-dependent — adjust to your use case; ~0.1-0.2 is usually the best range
bonafide_score: <0..1> # raw P(real)
verdict: REAL | FAKE
forensics_0.3B_wavlm_oc_softmax_deepfake_classifier huggingface.co is an AI model on huggingface.co that provides forensics_0.3B_wavlm_oc_softmax_deepfake_classifier's model effect (), which can be used instantly with this eliya forensics_0.3B_wavlm_oc_softmax_deepfake_classifier model. huggingface.co supports a free trial of the forensics_0.3B_wavlm_oc_softmax_deepfake_classifier model, and also provides paid use of the forensics_0.3B_wavlm_oc_softmax_deepfake_classifier. Support call forensics_0.3B_wavlm_oc_softmax_deepfake_classifier model through api, including Node.js, Python, http.
forensics_0.3B_wavlm_oc_softmax_deepfake_classifier huggingface.co is an online trial and call api platform, which integrates forensics_0.3B_wavlm_oc_softmax_deepfake_classifier's modeling effects, including api services, and provides a free online trial of forensics_0.3B_wavlm_oc_softmax_deepfake_classifier, you can try forensics_0.3B_wavlm_oc_softmax_deepfake_classifier online for free by clicking the link below.
eliya forensics_0.3B_wavlm_oc_softmax_deepfake_classifier online free url in huggingface.co:
forensics_0.3B_wavlm_oc_softmax_deepfake_classifier is an open source model from GitHub that offers a free installation service, and any user can find forensics_0.3B_wavlm_oc_softmax_deepfake_classifier on GitHub to install. At the same time, huggingface.co provides the effect of forensics_0.3B_wavlm_oc_softmax_deepfake_classifier install, users can directly use forensics_0.3B_wavlm_oc_softmax_deepfake_classifier installed effect in huggingface.co for debugging and trial. It also supports api for free installation.
forensics_0.3B_wavlm_oc_softmax_deepfake_classifier install url in huggingface.co: