Decomposer: Learning to Decompile Symbolic Music to Programs
Summary
Decomposer is a post-training framework designed for symbolic music decompilation, specifically recovering executable, editable music programs from symbolic MIDI input into the Strudel music programming language. This task presents challenges due to Strudel being a low-resource language and the risk of generating unreadable note-by-note transliterations. Decomposer addresses these issues in two stages: first, supervised fine-tuning on Strudel-Synth, a synthetic corpus of paired Strudel programs and rendered MIDI; second, refinement using reinforcement learning on unpaired MIDI, optimizing for both MIDI reconstruction faithfulness and code readability. Evaluation on synthetic and real-world MIDI benchmarks demonstrates that Decomposer achieves significantly higher MIDI reconstruction faithfulness than closed-source LLMs, while also producing more readable and diverse code compared to heuristic converters.
Key takeaway
For creative technologists or music producers aiming to generate editable music programs from existing MIDI, Decomposer offers a robust solution. You should consider its two-stage approach—synthetic data fine-tuning followed by RL for readability—to produce high-fidelity, human-editable Strudel code. This method surpasses LLMs in reconstruction faithfulness and heuristic converters in code diversity, enabling more flexible musical composition and manipulation.
Key insights
Decomposer recovers editable music programs from symbolic MIDI using a two-stage training approach for faithfulness and readability.
Principles
- Inverse problems like music decompilation benefit from structured program recovery.
- Synthetic data can bootstrap training for low-resource programming languages.
- Reinforcement learning refines models for both fidelity and human-readability.
Method
Decomposer uses supervised fine-tuning on Strudel-Synth (paired MIDI-Strudel) followed by reinforcement learning on unpaired MIDI, optimizing for reconstruction and code readability.
In practice
- Generate synthetic paired data for low-resource code generation tasks.
- Employ RL to balance output fidelity with human-interpretable structure.
- Decompile MIDI to Strudel for editable music programs.
Topics
- Symbolic Music Decompilation
- MIDI-to-Strudel
- Music Programming Languages
- Reinforcement Learning
- Synthetic Data Generation
- Code Readability
Best for: Research Scientist, AI Scientist, Machine Learning Engineer, Creative Technologist
Related on AIssential
Editorial summary, takeaway, and curation by AIssential. Original article published by Artificial Intelligence.