Skip to content
ModelListedExternal
Browse files

Spectra 0

Spectra-0 is live on the Speech Anti-Spoofing Arena — 🔓 Unpublished / Proprietary tier (listed but unranked, no paper). Every result is sha-pinned and independently reproduced at scoring level (reproduce --scoring).

KindOtherVersionRevision b3fb6d5Bgrade

Model source

Kind
Other
File size
1.19 GB
Version
vRevision b3fb6d5
Updated
Oct 25, 2026
Downloads
0
Source
Hugging Face

Source description

🏆 Speech Anti-Spoofing Arena

Spectra-0 is live on the Speech Anti-Spoofing Arena — 🔓 Unpublished / Proprietary tier (listed but unranked, no paper). Every result is sha-pinned and independently reproduced at scoring level (reproduce --scoring).

EER% 0.00 on LibriSeVoc EER% 0.05 on CD-ADD EER% 0.51 on ASVspoof2019_LA EER% 1.10 on InTheWild EER% 2.20 on SONAR EER% 3.42 on CFAD EER% 5.30 on ASVspoof2021_DF EER% 6.58 on ASVspoof2021_LA EER% 6.77 on CVoiceFake_small EER% 14.82 on ASVspoof5 EER% 3.07 on DeepVoice EER% 0.21 on ArAD EER% 2.8 on DECRO EER% 0.25 on J-SPAW_LA EER% 0.21 on ODSS EER% 8.7 on HABLA EER% 0 on DFADD EER% 1.41 on PyAra EER% 1.38 on XMAD 1-SRR% 0.75 on LRLspoof EER% 3.65 on ADD22_eval_31 EER% 7.03 on ADD2023_track12_test_r1 EER% 0.14 on EmoFake_test 1-SRR% 0.02 on EmoSpoofTTS arena tier arena rank

DatasetArena EER %Trials
LibriSeVoc0.0018,487
CD-ADD0.0520,786
ASVspoof2019_LA0.5171,237
InTheWild1.1031,779
SONAR2.203,948
CFAD3.4262,999
ASVspoof2021_DF5.30611,829
ASVspoof2021_LA6.58181,566
CVoiceFake_small6.77138,136
ASVspoof514.82680,774

Arena EER uses the toolkit's deterministic eval pipeline (preemphasis 0.97, first-64,600-sample window); values may differ slightly from the model card's original numbers above.

Model Card: Spectra-0 (anti-spoofing / bonafide vs spoof)

Spectra-0 is a model for speech spoofing detection (binary classification: bonafide vs spoof) from raw audio waveforms. Architecture: SSL encoder (Wav2Vec2) → MLP projection → ECAPA-TDNN 2-class classifier.

  • Input: waveform (float32), shape (batch, num_samples) (typically 16 kHz).
  • Output: logits of shape (batch, 2), where index 0 = spoof, index 1 = bonafide.

On first run, the model will automatically download the SSL encoder facebook/wav2vec2-xls-r-300m via transformers.

Evaluation Results

ModelASVspoof19 LAASVspoof21 LAASVspoof21 DFASVspoof5ADD2022In-the-Wild
Res2TCNGuard7.48719.13019.88337.62049.53849.246
AASIST327.58537.40733.09941.00147.19239.626
XSLS0.2317.7144.22017.68833.9517.453
TCM-ADD0.1526.6553.44419.50535.2527.767
DF Arena 1B43.79340.13742.99435.33342.13917.598
Spectra-00.1816.4755.41014.42614.7161.026

Quickstart

Clone from Hugging Face

This repository is hosted on Hugging Face Hub: https://huggingface.co/MTUCI/spectra_0.

git lfs install
git clone https://huggingface.co/MTUCI/spectra_0
cd spectra_0

Install dependencies

pip install -U torch torchaudio transformers huggingface_hub safetensors soundfile

Single-file inference (example preprocessing)

import random
import torch
import torchaudio
import soundfile as sf

from model import spectra_0


def pad_random(x: torch.Tensor, max_len: int = 64600) -> torch.Tensor:
    # x: (num_samples,) or (1, num_samples)
    if x.ndim > 1:
        x = x.squeeze()
    x_len = x.shape[0]
    if x_len >= max_len:
        start = random.randint(0, x_len - max_len)
        return x[start:start + max_len]
    num_repeats = int(max_len / x_len) + 1
    return x.repeat(num_repeats)[:max_len]


def load_audio_mono(path: str) -> torch.Tensor:
    audio, sr = sf.read(path, dtype="float32")
    audio = torch.from_numpy(audio)
    if audio.ndim > 1:
        # (num_samples, channels) -> mono
        audio = audio.mean(dim=1)
    if sr != 16000:
        audio = torchaudio.functional.resample(audio, sr, 16000)
    return audio


device = "cuda" if torch.cuda.is_available() else "cpu"
model = spectra_0.from_pretrained(pretrained_model_name_or_path=".").eval().to(device)

audio = load_audio_mono("path/to/audio.wav")
audio = torchaudio.functional.preemphasis(audio.unsqueeze(0))  # (1, T)
audio = pad_random(audio.squeeze(0), 64600).unsqueeze(0)       # (1, 64600)

with torch.inference_mode():
    logits = model(audio.to(device))  # (1, 2)
    score_spoof = logits[0, 0].item()
    score_bonafide = logits[0, 1].item()

print({"score_bonafide": score_bonafide, "score_spoof": score_spoof})

Threshold-based classification (and how to tune it)

In model.py, the Spectra0Model class provides classify() with a default threshold chosen as an “optimal” value for the original setting:

  • Default threshold: -1.0625009 (it thresholds logit_bonafide = logits[:, 1])
  • Note: this threshold may not be optimal on a different dataset/domain. It’s recommended to tune the threshold on your dataset using EER (Equal Error Rate) or a target FAR/FRR.

Example:

with torch.inference_mode():
    pred = model.classify(audio.to(device), threshold=-1.0625009)  # 1=bonafide, 0=spoof

Tuning the threshold via EER (typical workflow)

  1. Run the model on a labeled set and collect scores for both classes.

  2. Compute EER and the threshold

Limitations and notes

  • This is a pre-release model.
  • Significantly stronger models are planned for Q3–Q4 2026 — stay tuned.

License

MIT (see the license field in the model repo header).

Contacts

TG channel: https://t.me/korallll_ai email: k.n.borodin@mtuci.ru (deprecated — use...

Sources

1 source
Hugging FacePrimaryVersion b3fb6d5c9d8ce069996f100cbe10117fd74165f3
huggingface.co/lab260/spectra_0/tree/b3fb6d5c9d8ce069996f100cbe10117fd74165f3

Verified Oct 25

Download files

Model artifacts

2 artifacts

model.safetensors

safetensors · 1.19 GB · SHA-256 830d05e5ff3f…546b · Hugging Face

Download file

spectra-0.onnx

onnx · 1.19 GB · SHA-256 f6924cfc536b…980f · Hugging Face

Download file

Source excerpts

2 excerpts

--- library_name: pytorch tags: - audio - spoofing-detection - anti-spoofing - wav2vec2 - ecapa-tdnn license: apache-2.0 pipeline_tag: audio-classification model-index: - name: spectra_0 results: - task: type: Speech Antispoofing dataset: name: ASVspoof19_LA type: ASVspoof19_LA metrics: - name: Equal Error Rate type: Equal Error Rate value: 0.181 - task: type: Speech Antispoofing dataset: name: ASVspoof21_LA type: ASVspoof21_LA metrics: - name: Equal Error Rate type: Equal Error Rate value: 6.475 - task: type: Speech Antispoofing dataset: name: ASVspoof21_DF type: ASVspoof21_DF metrics: - name: Equal Error Rate type: Equal Error Rate value: 5.41 - task: type: Speech Antispoofing dataset: name: ASVspoof5 type: ASVspoof5 metrics: - name: Equal Error Rate type: Equal Error Rate value: 14.426 - task: type: Speech Antispoofing dataset: name: ADD2022 type: ADD2022 metrics: - name: Equal Error Rate type: Equal Error Rate value: 14.716 - task: type: Speech Antispoofing dataset: name: In-the-Wild type: In-the-Wild metrics: - name: Equal Error Rate type: Equal Error Rate value: 1.026 --- ## 🏆 Speech Anti-Spoofing Arena Spectra-0 is **live on the [Speech Anti-Spoofing Arena](https://huggingface.co/spaces/SpeechAntiSpoofingBenchmarks/SpeechAntiSpoofingArena?system=spectra-0)** — 🔓 *Unpublished / Proprietary* tier (listed but **unranked**, no paper). Every result is sha-pinned and independently reproduced at scoring level (`reproduce --scoring`). [![EER% 0.00 on LibriSeVoc](https://img.shields.io/badge/EER%25%20on%20LibriSeVoc-0.00%25-brightgreen)](https://huggingface.co/spaces/SpeechAntiSpoofingBenchmarks/SpeechAntiSpoofingArena?system=spectra-0) [![EER% 0.05 on CD-ADD](https://img.shields.io/badge/EER%25%20on%20CD--ADD-0.05%25-brightgreen)](https://huggingface.co/spaces/SpeechAntiSpoofingBenchmarks/SpeechAntiSpoofingArena?system=spectra-0) [![EER% 0.51 on ASVspoof2019_LA](https://img.shields.io/badge/EER%25%20on%20ASVspoof2019__LA-0.51%25-brightgreen)](https://huggingface.co/spaces/SpeechAntiSpoofingBenchmarks/SpeechAntiSpoofingArena?system=spectra-0) [![EER% 1.10 on InTheWild](https://img.shields.io/badge/EER%25%20on%20InTheWild-1.10%25-brightgreen)](https://huggingface.co/spaces/SpeechAntiSpoofingBenchmarks/SpeechAntiSpoofingArena?system=spectra-0) [![EER% 2.20 on SONAR](https://img.shields.io/badge/EER%2...

Source context: 0 downloads · 7 likes · Pipeline audio-classification · Library pytorch · Repo lab260/spectra_0