This project uses computer vision to extract musical notes from sheet music and convert them into MIDI format.
NoteVision is an Optical Music Recognition (OMR) project focused on:
- detecting music notation from sheet images,
- building structured metadata for pages/staves/symbols,
- preparing data for downstream MIDI conversion.
Current practical focus is robust detection of treble clef and bass clef, with parameter search pipelines used to tune line detection quality.
- Sync page metadata and labels into
data/dataset.json. - Run parameter search / filtering to find good
ParamSetconfigurations. - Save filtered parameter sets to
data/settings.json. - Visualize selected parameter sets on all pages.
- Keep source photos in
data/clean/(raw imports go throughdata/raw/).
scr/models/- domain models and dataset managerscr/pipeline/- image processing and parameter searchscr/io/- dataset storage and sync utilitiesscr/config/paths.py- paths todata/assetsdata/- dataset files, analysis outputs, andclean/photosassets/- generated previews
- Models documentation:
scr/models/MODELS.md - Scripts documentation:
scr/scripts/SCRIPTS.md
- Detect notes and symbols from sheet images
- Convert them into structured musical data
- Export to MIDI
- Provide a visual piano interface showing which keys to press
Currently working on note detection and extraction (OMR stage).
- Improve accuracy with ML models
- Real-time processing
- Interactive piano learning interface
The model currently being developed (treble and bass clef detection) is trained using the DeepScoresV2 dataset.
- Dataset is publicly available.
- License: Creative Commons Attribution 4.0 (CC BY 4.0).
- Original dataset source: Zenodo - DeepScoresV2.
- Original project repository (tools/annotations related to DeepScoresV2): GitHub - obb_anns.
The dataset is used in compliance with the license terms, and dataset authors are credited according to the official attribution guidelines.