My colleague Seth Schoen has written a three-line script that turns a GNU/Linux box with a WiFi card into a Theremin.
This means that the 802.11 card can function as a rough proximity sensor for your hand. This evening I realized that that means you can make a wireless card into a sort of poor man's theremin — you just need to map the signal strength to a tone, play the tone, and move your hand. You'll be able to play several discrete pitches or scales, although with much less precision than a real theremin.
I wrote a three-line shell script which implements this idea (using Linux setterm, all on a beta test version of the LNX-BBC, it so happens), and later improved it a little bit with a small C program which wraps the Linux KIOCSOUND ioctl. It works just fine — you can easily bring the tone up and down by moving your hand back and forth. That's a lot of fun. The most obvious problem is the discreteness of the whole thing. A real theremin is plainly an analog device. (The analogy is between the pitch level and the position of your hand.) This system is very obviously quantized, at best like someone playing a poor piano scale (and it's distorted sine waves rather than piano strings with their nice harmonics).