Product upvotes vs the next 3

Waiting for data. Loading

Product comments vs the next 3

Waiting for data. Loading

Product upvote speed vs the next 3

Waiting for data. Loading

Product upvotes and comments

Waiting for data. Loading

Product vs the next 3

Loading

Pianolyze

Learn any piano song using AI/ML, right in your browser!

Pianolyze transcribes piano recordings using AI that runs entirely in your browser. Drag and drop any MP3, WAV, FLAC, or M4A file and watch as the notes appear in real-time on a piano roll. Slow down playback to study difficult passages, zoom in to see exactly what's being played, and explore the harmonic choices of your favorite pianists. Perfect for jazz students, classical pianists, and anyone curious about music.

Top comment

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! 🎹