How yongyizang/singfake works
SingFake is a singing-voice deepfake detection research repository: it prepares audio data, trains and evaluates four baseline model families, and includes a Chrome-based metadata annotation tool backed by Firestore. The README documents the separation/VAD-to-clip preparation sequence and codec simulation; the sampled source confirms clip generation and model inference details. The AASIST training excerpts are partial, so model/data wiring beyond what is explicit in the README is kept at the documented subsystem level.
Main entry points: train.py Feature ResNet · main.py AASIST training · eval_metrics.py Evaluation metrics · separate.py Vocal separation
Components 21
Audio preparation
- Vocal separation
dataset/separate.py - Clip generation
dataset/split.py - Codec simulation
dataset/simulate_codec.py
Detection models
- Feature ResNet
models/feat+resnet/train.py - Feature ResNet model
models/feat+resnet/model.py - LFCC ResNet model
models/lfcc+resnet/model.py - AASIST training
models/AASIST/main.py - AASIST network
models/AASIST/AASIST.py - Wav2vec AASIST training
models/wav2vec2+AASIST/main.py - Wav2vec AASIST network
models/wav2vec2+AASIST/wav2vecAASIST.py - Evaluation metrics
models/feat+resnet/eval_metrics.py
Metadata annotation
- Annotation popup
annotation-tool/popup.js - Extension background
annotation-tool/background.js - Firestore client
annotation-tool/firebase/firebase-firestore.js
Other components
- Researcher
- Downloaded FLAC
- Training clips
- Detection scores
- Chrome user
- Google Firestore
- Annotation records
Connections 19
- Downloaded FLAC → Vocal separation: separates vocals
- Vocal separation → Clip generation: provides stems and VAD
- Clip generation → Training clips: writes clips
- Downloaded FLAC → Codec simulation: simulates codec
- Training clips → Feature ResNet: trains on
- Training clips → AASIST training: trains on
- Training clips → Wav2vec AASIST training: trains on
- Feature ResNet → Feature ResNet model: uses network
- Feature ResNet → Evaluation metrics: evaluates with
- Evaluation metrics → Detection scores: produces scores
- AASIST training → AASIST network: loads architecture
- AASIST training → Evaluation metrics: evaluates with
- Wav2vec AASIST training → Wav2vec AASIST network: loads architecture
- Researcher → Downloaded FLAC: supplies
- Chrome user → Annotation popup: opens extension
- Annotation popup → Extension background: sends messages
- Extension background → Firestore client: uses client
- Firestore client → Google Firestore: reads and writes
- Google Firestore → Annotation records: stores