--- library_name: NoteSep tags: - audio-separation - music - source-separation --- # NoteSep NoteSep separates a music recording into individual note waveforms using an aligned score. The score tells the model which pitches to look for and when; the output gives you audio tracks you can listen to, edit, and mix again. [Paper](https://arxiv.org/abs/2609.29071) · [Code](https://github.com/ben2002chou/notesep) · [Listen to examples](https://benschou.com/notesep/) The model has two parts: NoteGrab estimates each note, then Adaptive Set Ownership (ASO) handles energy shared by overlapping estimates. This is the checkpoint pair used for the paper's Table 1, which reports **7.39 dB median SI-SDR** on SCNS-Eval. ## Use the model Give NoteSep a recording and an aligned MIDI or JSON score. You can correct the score in the piano-roll editor before separating the notes. ```sh git clone https://github.com/ben2002chou/notesep.git cd notesep python -m venv .venv . .venv/bin/activate python -m pip install -e ".[studio]" notesep download notesep verify notesep separate excerpt.wav --score corrected.mid --output separated notesep render separated/project.json --output edited.wav ``` `notesep download` retrieves and verifies the `separator.pt` and `aso.pt` files in this repository. You can also run `notesep studio` to upload audio, correct a score in the piano roll, separate notes, and edit them in your browser. The CLI and Studio work on 1.1–12 second passages; use the window options to choose a passage from a longer recording. The output includes a 16 kHz WAV for each note, their direct sum, and an editable project. The [GitHub README](https://github.com/ben2002chou/notesep#readme) has a Python example and explains the output files.