The Last Tonebender

An Audio Input Controlled Computer Game







Vision:

I wanted to create a game with traditional gameplay that was controlled by audio input. I decided to use whistling, specifically bending the pitch of a whistle, in order to control the height of a cursor. Ultimately I wanted to make something that was not overly difficult to play.

Execution:

The signal processing is done with a home-brewed algorithm that makes use of chuck_fft. I spent some time looking at spectral analysis of myself whistling and came up with something that worked. The graphics are done using opengl, and the audio input makes use of rtaudio.

Gameplay:

Try to hit as many notes as possible. A tone with a increasing pitch will move the cursor up, and a tone with a decreasing pitch will move the cursor down. While it has only been extensively tested with whistling, any instrument with a relatively pure pitch that can bend tones over a long range should work. Hit 'q' to quit. There are also some hidden keyboard controls. If you really want to play that way they shouldn't be too hard to find.


Source Code