Bass Whistle

Transpose whistling to bass range. Optimized for responsiveness, with 1-2ms latency.

Example:

Input and output together:(mp3)
Input whistling only:(mp3)
Output bass only:(mp3)

You'll need headphones or decent speakers to hear the bass.

More examples: Sandy Boys, Franks / Beth Cohen's


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).

Download:

VST plugin, for Mac:(VST3)
Plugin source, for Mac/Windows:(source)
Stand-alone source, with PortAudio:(source)
Knobs:

This is intended to be used with a low-pass filter following it, a shelf at around 400Hz. The output is not clean in the high frequencies.

Blog posts: