Orphea Detect v1
Binary classifier: AI-generated music vs human-made music. Built for independent artists. Open source, MIT licensed.
Model
MobileNetV3-Small fine-tuned on mel-spectrograms (128 bands, first 30 seconds of audio).
Training data
- AI: MusicGen-small generated clips across 33 prompts spanning Western and Global South music styles
- Human: lewtun/music_genres, real recordings across multiple genres
Global South styles included: afrobeats, highlife, mbalax, bongo flava, benga, tizita, amapiano, mbira, cumbia, baile funk, reggaeton, andean, salsa, bhangra, carnatic, baul, dangdut, mor lam, gnawa, sha'bi, dancehall, zouk, Hawaiian slack key.
Results
F1 Score: 1.000
Accuracy: 1.000
Confusion matrix:
[[ 7 0]
[ 0 14]]
Top-left = correctly identified human
Top-right = human wrongly called AI (false positive)
Bot-left = AI wrongly called human (false negative)
Bot-right = correctly identified AI
Known limitations
- Trained on MusicGen-small outputs only. Suno, Udio, and other generators not yet validated.
- Global South prompts were generated by a Western-trained model and may not fully represent those musical traditions.
- MP3 compression, pitch shifting, and time-stretching degrade accuracy.
- A high human score is not legal proof of human authorship.
Use it
from huggingface_hub import hf_hub_download
import torch
import torch.nn as nn
from torchvision.models import mobilenet_v3_small
model = mobilenet_v3_small(weights=None)
model.classifier[-1] = nn.Linear(model.classifier[-1].in_features, 2)
weights = hf_hub_download(
repo_id="OrpheaLabs/orphea-detect-v1",
filename="orphea_detect_v1.pth"
)
model.load_state_dict(torch.load(weights, map_location="cpu"))
model.eval()
Links
- Artist tool: huggingface.co/spaces/OrpheaLabs/orphea-detect
- Dataset: huggingface.co/datasets/OrpheaLabs/orphea-music-detection-v1
- GitHub: github.com/ElleFife/orphea-detect
License
MIT โ Orphea Labs