Vansh180/deepfake-audio-wav2vec2
๐งพ Model Card โ Deepfake-Audio-Wav2Vec2
๐ง Model Overview
Deepfake-Audio-Wav2Vec2 is a fine-tuned audio classification model trained to detect real vs spoofed (deepfake) speech audio.
The model is built on top of facebook/wav2vec2-base, a self-supervised speech representation model, and adapted for binary deepfake audio detection.
It learns subtle acoustic artifacts and synthetic speech patterns that differentiate genuine human recordings from AI-generated or manipulated audio samples.
This model is intended for:
- Deepfake voice detection
- Audio authenticity verification
- Research in anti-spoofing systems
- Security pipelines for voice-based applications
๐๏ธ Training Details
๐ฏ Label Classes
- ๐ข Bonafide โ Real / authentic speech
- ๐ด Spoof โ Deepfake / synthetic audio
๐ Evaluation Metrics
โ The model demonstrates strong detection performance across real and spoofed samples.
๐ Dataset Description
The model was trained on a balanced subset of the ASVspoof 2021 PA dataset for binary anti-spoofing classification.
The dataset includes:
- Genuine speech recordings
- Spoofed / manipulated audio samples
- Replay and synthetic attack scenarios
Training was performed on balanced class samples to improve robustness across both labels.
๐ป Example Usage
import torch
import torchaudio
import numpy as np
from transformers import AutoFeatureExtractor, AutoModelForAudioClassification
model_id = "Vansh180/deepfake-audio-wav2vec2"
feature_extractor = AutoFeatureExtractor.from_pretrained(model_id)
model = AutoModelForAudioClassification.from_pretrained(model_id)
model.eval()
def predict_audio(audio_path):
wav, sr = torchaudio.load(audio_path)
if wav.shape[0] > 1:
wav = wav.mean(dim=0, keepdim=True)
inputs = feature_extractor(
wav.squeeze().numpy(),
sampling_rate=16000,
return_tensors="pt"
)
with torch.no_grad():
outputs = model(**inputs)
probs = torch.softmax(outputs.logits, dim=1)
prediction = torch.argmax(probs, dim=1).item()
confidence = probs[0][prediction].item()
return {
"prediction": model.config.id2label[prediction],
"confidence": confidence
}
print(predict_audio("sample.wav"))