File size: 2,052 Bytes
3c5d488
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
---
license: cc-by-nc-4.0
tags:
  - audio-classification
  - ai-music-detection
  - forensic
  - onnx
language:
  - en
pipeline_tag: audio-classification
---

# ArtifactNet v9.4 — AI-Generated Music Forensic Detection

ArtifactNet detects AI-generated music by extracting forensic residual artifacts via a task-specific UNet, rather than learning generator-specific patterns. This approach generalizes across 22 AI music generators with only 4.2M parameters.

## Model Description

- **Architecture**: ArtifactUNet (3.6M) + 7ch HPSS Forensic CNN (424K) = 4.2M total
- **Input**: 44.1kHz mono audio, 4-second segments
- **Output**: P(AI) ∈ [0, 1] per segment, song-level median verdict
- **Format**: Single ONNX file (entire pipeline: STFT → UNet → HPSS → 7ch → CNN → sigmoid)

## Performance (ArtifactBench v1, fair eval)

| Metric | ArtifactNet (4.2M) | CLAM (194M) | SpecTTTra (19M) |
|---|---|---|---|
| **F1** | **0.983** | 0.824 | 0.766 |
| **Precision** | 0.991 | 0.758 | 0.885 |
| **Recall (TPR)** | 0.976 | 0.904 | 0.675 |
| **FPR** | 0.015 | 0.705 | 0.214 |
| @FPR≤5% TPR | **99.1%** | - | - |

Evaluated on 8,766 tracks across 22 AI generators and 6 real music sources.

## Usage

```python
import onnxruntime as ort
import numpy as np
import soundfile as sf

# Load model
sess = ort.InferenceSession("artifactnet_v94_full.onnx")

# Load audio (44.1kHz mono, 4-second chunk)
audio, sr = sf.read("track.wav", dtype="float32")
if audio.ndim > 1:
    audio = audio.mean(axis=1)
chunk = audio[:4 * 44100].reshape(1, -1).astype(np.float32)

# Inference
prob = sess.run(None, {"audio": chunk})[0][0]
print(f"P(AI) = {prob:.4f}")  # > 0.5 → AI-generated
```

For song-level verdict, compute median over multiple chunks.

## Benchmark

Evaluate with [ArtifactBench v1](https://huggingface.co/datasets/intrect/artifactbench-v1).

## Citation

```bibtex
@article{oh2026artifactnet,
  title={ArtifactNet: Detecting AI-Generated Music via Forensic Residual Physics},
  author={Oh, Heewon},
  year={2026}
}
```

## License

CC BY-NC 4.0