November 16, 2008

Wii Theremin - How It Works

How I constructed a Wii Theremin with a computer, synthesizer and a Wiimote.



Léon Theremin

The Theremin, invented in 1920 by Russian physicist Léon Theremin, was one of the world's first electronic instruments. It's the only instrument that is played without being touched. The proximity of the hands to the two antennae determines the pitch and volume of the sounds produced.

You've likely heard the eerie Theremin before - they became popular in those 1950's science fiction movie soundtracks that sound so cheesy today.

While Theremins are always a popular attraction, they remain pretty rare (I've only once seen a Theremin -- at a shi-shi company event during the dot com boom). A new Theremin costs about $450, so I'm not likely to get one as a stocking stuffer, but luckily thanks to the Wii and the inspiration of Wii hacking pioneer Johnny Lee I've been able to create my own.

To be precise, I've built a Theremin simulator using a computer, a Roland JV-1080 synthesizer, and a Wiimote (remote controller from the Wii game console).

At just $35, the Wiimote is an AMAZING piece of technology. It has an infrared camera in it which tracks the position up to 4 infrared light sources. So I bought a pair of leather gloves, wired up a couple infrared LEDs to 1.5 volt batteries, and poked an LED through the tip of the index finger of each glove.

Wii Theremin glove with infrared LED fingertip


Then, I connected my Wiimote to my computer (the Wiimote also supports Bluetooth connections): building on top of Brian Peek's Wiimote hacking software library, I wrote a program which detects the two infrared gloves and converts the vertical position of the left hand to volume, and converts the horizontal position of the right hand to pitch. That information is then sent via MIDI to the synthesizer which creates the actual sound.

One awesome thing about this design is that I'm not restricted to the sine wave sound of a traditional Theremin so the sonic possibilities are endless. My father-in-law, a Vancouver Washington dentist, suggested I should make it sound like a dental drill :)

I've had a lot of fun creating my Theremin, and I've learned a lot. I think my biggest lesson, though, is that while playing the Theremin is simple in concept, it's VERY difficult to play well.

17 comments:

Grant Potter said...

Wow Ken,

As a theremin fan and Wiihack dabbler I am totally impressed with your project.

I am going to try making some of LED gloves to use with my WiiHack project.

Again - very cool.

Deano said...

Terrific mate, that's genius!

Seba said...

Excellent work !!!

(and, Léon Theremin was a genius...)

best

SoB said...

Stumbled upon this via Joystiq.

Great work!

As a Jean-Michel Jarre fan, I'm very clued up as to the greatness of the theremin. As you might know, Jarre uses it a lot, and always likes to take it around with him on his tours. He also likes the story behind it (Theremin going to the states to show off the tech and not wanting to come back!)

Love it!

Anonymous said...

This looks amazing! I've been wanting a midi Theremin for years.

Will you be releasing the code and if so, any estimate on when that might happen?

I'd love to experiment with this.

Ken Moore said...

Sorry, the code is an absolute mess currently. It's too embarrassingly hacky to release now, and I don't foresee having the time to clean it up anytime soon. The principles are pretty basic, however - map the x and y coordinates to pitch (via pitch bend) and volume MIDI messages. It wouldn't surprise me if a more adept coder were to create similar demo code before I get mine cleaned up :)

Anonymous said...

Fair enough. I may take a go at it then. (though I don't claim to be particularly "adept" heh)

Still, I hope you do release!

bc said...

Is it possible to use a software synth that takes midi (like re-birth) and use that in place of the roland? also, since I am a Mac user, would the software synths in GarageBand be a place to start?

I used to send midi to an OrbitV2 via a guitar synth, and have always been after the theremin sound. the closest i came was full portamento stuff.

great work.

Ken Moore said...

Sometime in 2009 I'd like to look into software synth integration. I'm sure it's possible, and probably not too difficult, it's more a matter of finding the free time to do it.

Ed said...

Very cool. Good job. I wish I has the smrts to do that.

Kevin Kissinger said...

Wow!

Enjoyed your explanation of the software, hardware, and your demonstration.

Very impressive!

Anonymous said...

this is great. well done.

btw, the theremin was not the first electronic (electric is maybe a better word...) instrument. check out the Telharmonium...

León said...

If you'd post the source (no matter how messy it is) I'd buy a wii-remote :)

pleeeeeease!,
greetings from germany,
León

Anonymous said...

What might be easier to do than to release/rewrite the code is to give/sell/collaborate with Nintendo. If a software synth can be harnessed by a Wii console, than this would make that Wii Music game look embarrassing. And everyone would get a new accessory to buy...Wii gloves.
I'm surprised Nintendo hasn't contacted you already. This is absolutely genius and the epitome of the hacker ethos.

Joanq said...

I have a Roland JV-2080, similar than yours JV-1080. How can I import or build the theremin sound. I want to make a similar project.

Ken Moore said...

@Joanq - send me an email at ken(at)kenmooredesign.com with a number & time I can call you, will be glad to share details!

KIRA YAGAMI! said...

So... are you still able to use the wiimote on the wii?