Hey Product Hunt! π
I’m Nick. As a pianist, I’ve always been interested in understanding how the greats do what they do β sometimes to the point of obsession. How do they voice lead through changes? What’s actually happening under their hands?
Back in 2022, I built Harmonic Analyzer β a Mac app that transcribed piano recordings using ML. It got some traction, but I never quite finished it. Requiring users to download a Mac app felt like unnecessary friction, and I didnβt want to limit distribution to Mac users.
Thankfully, technology has evolved, enabling me to ship a web-based version, which I’ve called Pianolyze.
The entire stack runs client-side:
β’ ONNX Runtime hosting Bytedance’s piano transcription model
β’ Web Workers for async transcription processing, exposed via Comlink
β’ WebGL for piano roll rendering
β’ Web Audio API for playback
β’ IndexedDB for model caching
β’ React + Vite + MobX State Tree
Your audio never leaves your device. No servers, no uploads, no inference bills.
Watch the video above to see it in action, transcribing the playing of the late, brilliant Mulgrew Miller, who I was fortunate to study with briefly as a teenager.
Try it with your favorite piano recordings β solo works best, and you’ll be amazed at what it picks up. Would love to hear what you think, and happy to answer any questions! πΉ
