Personal Projects
undr.live
Automatic jazz show information aggregator for Seoul.
physical-instruments.js
Physical modeling of 29 instruments for the browser.
subtractive-synthesizers.js
A browser subtractive synthesizer: filters shape a raw oscillator or noise source, 41 curated patches.
fm-synthesizers.js
A browser FM synthesizer: four operators modulate each other's frequency, 19 curated patches.
additive-synthesizers.js
A browser additive synthesizer: timbre built by summing up to 32 independent sine partials, 32 curated patches.
Beetbox Eval Arena
Coding agents were each given the same drum-sequencer reference and asked to rebuild it. Play any two against each other, or against the original.
Kapre
Audio preprocessing as Keras layers. STFT, melspectrogram and friends compute on the GPU inside your model, so training and serving run the same graph instead of two that drift apart.
Music Classification Tutorial
A web book on music classification beyond supervised learning, written with co-authors and taught as the ISMIR 2021 tutorial.
LLMs <3 MIR Tutorial
A web book on large language models for music information retrieval, written after a year of building with them and suffering from them.