Live data from Hacker News

Show HN: Voice Composer – Browser-based pitch detection to MIDI/strudel/tidal

dioptre.github.io

1–8 of 8 posts

Show HN: Voice Composer – Browser-based pitch detection to MIDI/strudel/tidal

#1
Built this over the weekend to bridge the gap between "can hum a melody" and "can code algorithmic music patterns" (Strudel/TidalCycles) for live coding and live dj'ing.

What it does:

Real-time pitch detection in browser using multiple algorithms: CREPE (deep learning model via TensorFlow.js) YIN (autocorrelation-based fundamental frequency estimation) FFT with harmonic product spectrum AMDF (average magnitude difference function) Outputs: visual piano roll, MIDI files, Strudel/TidalCycles code All client-side, nothing leaves your machine Why multiple algorithms: Different pitch detection approaches work better for different inputs. CREPE is most accurate but computationally expensive; YIN is fast and works well for clean monophonic input; FFT/HPS handles harmonic-rich sounds; AMDF is lightweight. Let users switch based on their use case.

Technical details:

React, runs entirely in browser via Web Audio API Canvas-based visualization with real-time waveform rendering

The original problem: I wanted to learn live coding but had zero music theory. This makes it trivial to capture melodic ideas and immediately use them in pattern-based music systems.

Try it: https://dioptre.github.io/tidal/

Works best on desktop. Will work more like a Digital Audio Workbench (DAW).

Source: https://github.com/dioptre/tidal

Show HN: Voice Composer – Browser-based pitch detection to MIDI/strudel/tidal
dioptre.github.io

Re: Show HN: Voice Composer – Browser-based pitch detection to MIDI/strudel/tidal

#4
Sorry, this is a good idea, but it really misses the mark. It's way, way off.

I can sing rather well, and this is completely off. About half the notes are wrong.

My voice does have quite a few harmonics though. Maybe that is throwing the algorithm completely off?

Re: Show HN: Voice Composer – Browser-based pitch detection to MIDI/strudel/tidal

#5
post #4

Sorry, this is a good idea, but it really misses the mark. It's way, way off. I can sing rather well, and this is completely off. About half the notes are wrong. My voice does have quite a few harmonics though. Maybe that is throwing the algorithm completely off?

Did you try changing the algorithm? It seems to have a variety of methods available.

Re: Show HN: Voice Composer – Browser-based pitch detection to MIDI/strudel/tidal

#6
post #5
post #4

Sorry, this is a good idea, but it really misses the mark. It's way, way off. I can sing rather well, and this is completely off. About half the notes are wrong. My voice does have quite a few harmonics though. Maybe that is throwing the algorithm completely off?

Did you try changing the algorithm? It seems to have a variety of methods available.

Ah, no. Thanks for the heads up. I’ll try again in the evening.

Re: Show HN: Voice Composer – Browser-based pitch detection to MIDI/strudel/tidal

#8
Nice! I’ve done some pitch detection with librosa before. Curious about your FFT/HPS implementation. How did you handle the time-frequency tradeoff for the spectrogram windowing? Or is that less of an issue with the other algorithms available as fallbacks