Machine Learning • Music Information Retrieval • Python Tools
This desktop application converts multi‑instrument audio into clean, printable sheet music. It integrates Magenta’s Onsets and Frames and DrumRNN transcription models with Spleeter for source separation, pretty_midi for quantization, and MuseScore for score generation. Users can separate stems (e.g., piano, drums), transcribe them into MIDI, and export quantized scores — all through an accessible tkinter-based GUI with drag‑and‑drop support.
Developed as my Computer Engineering senior project at Cal Poly SLO, the tool is designed for musicians, educators, and developers interested in AI-assisted music transcription.
The GUI supports running each step independently, enabling iterative workflows — for example, retrying transcription with different stems without repeating earlier steps.
Testing on piano-heavy tracks such as "Don’t Stop Believin’" demonstrated strong rhythmic accuracy and pitch detection when stems were cleanly separated. Quantization consistently reduced rhythmic complexity (e.g., unique durations), leading to more readable scores.
Drum transcription was moderately accurate for basic patterns but less reliable for cymbals and hi‑hats. Guitar transcription still requires improvement.
Source code, setup instructions, and example sheet music are available on GitHub.
View on GitHub