Control a synthesizer by whistling. Optimized for responsiveness,
with 1-2ms latency.
A natural question would be, why not use existing pitch-shifting
software? I experimented with several different products, and
couldn't find one that was sufficiently low-latency. I decided to
write my own software optimized specifically for whistling. This
allows us to take advantage of ways that whistling is unusual (nearly
a pure sine wave, very high pitched) to make something that recognizes
it and processes it very quickly (more
). This also allows
synthesizing other voices, instead of pure pitch shifting.
The version that's most up to date is in C (github) and
runs on a Raspberry Pi. I also have
a version that runs in the browser if you want to try it out quickly,
but latency can be high depending on your platform: whistle synth in the browser.