NoteSep

Separate a music recording into individual note waveforms using an aligned MIDI score.

Paper · Code · Audio examples

NoteGrab estimates each note, and Adaptive Set Ownership (ASO) refines the estimates together. These weights come from our reproduced training run, with ASO trained for 30,000 steps.

Results

Default checkpoints on the public SCNS-Eval test set (3,473 notes):

Model Median SI-SDR (dB) ↑
NoteGrab (pre-ASO) 5.46
NoteSep (post-ASO) 7.48

Use the model

git clone https://github.com/ben2002chou/notesep.git
cd notesep
uv sync
uv run notesep download
uv run notesep separate excerpt.wav --score score.mid --output separated
uv run notesep render separated/project.json --output reconstructed.wav

The download includes separator.pt (NoteGrab) and aso.pt (ASO). The output contains one 16 kHz WAV per note, their sum, and an editable project.

Use a 1.1–12 second passage with an aligned MIDI score. See the README for longer recordings, the Python API, and the browser editor.

Training

The training instructions cover both models.

Data: NoteGrab · ASO · Evaluation and editing.

Paper checkpoints

The original paper weights remain available under the paper-table1 tag.

uv run notesep download --profile paper-table1
uv run notesep separate excerpt.wav --score score.mid --profile paper-table1 --output paper-separated
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for ben2002chou/notesep