How songhaotian694-oss/pdf-to-musescore works
This is a local skill for converting printed-score PDFs into editable MuseScore projects. The principal workflow is: review and group every source page, run Audiveris recognition, import/export through MuseScore, then validate and deliver a draft or validated MSCZ. Further documented branches handle evidence-linked correction, playback, layout, reference-score comparison, and optional MIDI. The README documents orchestration, but the main conversion script was not sampled, so some internal call wiring is shown only where the documented workflow supports it.
Main entry points: convert-score.ps1 Conversion orchestrator · verify-output.ps1 Output verification · score-playback.py Playback mapping · score-correction.py Correction worklist
Components 17
Page review
- Preflight and groups
scripts/score-structure.py - Reviewed page plan
references/page-selection.md
Recognition conversion
- Conversion orchestrator
scripts/convert-score.ps1 - Grayscale fallback
scripts/prepare-omr-input.py - MusicXML / MXL
scripts/convert-score.ps1
Validation correction
- Structure and rest checks
scripts/score-structure.py - Reference timeline
references/reference-mscz.md - Correction worklist
scripts/score-correction.py - Output verification
scripts/verify-output.ps1
Score finishing
- Layout policy
scripts/score-layout.py - Playback mapping
scripts/score-playback.py - Optional MIDI
scripts/score-playback.py - MSCZ and reports
scripts/convert-score.ps1
Other components
- User / reviewer
- Source PDF
- Audiveris OMR
- MuseScore Studio
Connections 25
- User / reviewer → Conversion orchestrator: starts conversion
- Source PDF → Conversion orchestrator: provides source
- Conversion orchestrator → Preflight and groups: prepares pages
- Preflight and groups → User / reviewer: presents review
- User / reviewer → Reviewed page plan: reviews all pages
- Reviewed page plan → Conversion orchestrator: selects page group
- Conversion orchestrator → Audiveris OMR: runs recognition
- Conversion orchestrator → Grayscale fallback: prepares fallback
- Grayscale fallback → Audiveris OMR: supplies fallback PDF
- Audiveris OMR → Conversion orchestrator: returns recognition project
- Conversion orchestrator → MuseScore Studio: imports and exports
- MuseScore Studio → MusicXML / MXL: exports score data
- Conversion orchestrator → Structure and rest checks: checks candidate
- Conversion orchestrator → Reference timeline: compares reference
- Conversion orchestrator → Layout policy: applies break policy
- Conversion orchestrator → Playback mapping: assigns instruments
- Playback mapping → MuseScore Studio: uses score copy
- MuseScore Studio → Optional MIDI: optionally exports
- Playback mapping → Optional MIDI: verifies events
- Conversion orchestrator → Output verification: runs acceptance checks
- Structure and rest checks → Correction worklist: provides findings
- Output verification → Correction worklist: provides failures
- Correction worklist → User / reviewer: guides correction
- Conversion orchestrator → MSCZ and reports: writes deliverables
- Output verification → MSCZ and reports: reports status