It can be used to control an instrument or some parameters of this instrument, like the filters or whatever.
I won't go deeply into the mechanism of the instrument because I am not a specialist and you will find a lot of docs on the internet.
But to make it simple, it use an antenna which produce a frequency and your body will change this frequency. What you get is the difference between the original frequency and the current one. This difference vary with the distance so you can use you hands without touching the instrument to control anything.
For some use you might also want to get the percussions on your instrument, so you can use a Piezo-electric sensor to get them (percussion part in the video).
Step 1: Build the Theremin
For this part, I have used this tutorial and haven't changed anything. The weak part in my system was the antenna: thinner than the one adviced and not in a ring shape, because I then put it inside the baguette. Note: I recently used a coke can as an antenna and it worked even better than with a cable.
If you followed the tutorial. You should have connected the Arduino to your computer and run the Adruino code they give. Instead of this code you can use mine. It is the same except that I have commented all the serial communication we don't need, it will just send the distance information.
Run it and on the Arduino application and watch the datas you receive. To do that click on the button up right. Be sure they match the distance of you hand from the antenna. At some point the values are inverted, this is normal and this is also something to improve.
Step 2: Build a Percussion Instrument
So we have a thermin-based interface. You can just get one data from that: the distance. For one of my experimentations, I also use a piezo-electric sensor to detect if the baguette is hit to create a percussion instrument.
The piezzo is put inside the baguette and will give you the vibrations of the baguette.
To build it, just connect a mini jack plug to the piezzo as showed in the picture. By pluging the mini jack to your computer you can get the vibrations informations exactly like a microphone.
Connect the mini jack, get something to watch the level recorded from a microphone (Systeme Preference -> Sound -> Input -> Line In on a Mac) and be sure you have a response when you hit the sensor.
Step 3: Finnish Your Baguette
Now you need to buy a baguette. If you live in another country than France you can get the same thing I use in my tutorial to imitate the baguette. It look like a little like it and is also called a "Baguette" You can buy it in any shop I guess.
Empty it. I have estimated that the soft part can disturb the Theremin system. This is not very true because anything conductive close to the antenna will be a part of the antenna. So I don't know why but I had the intuition that it would be better without the soft part. Enough.
Make a sandwich with the piezzo and the antenna. Tape the piezzo inside before you close the baguette, you don't want it to move inside.
Connect the piezzo and the Arduino to your computer.
Step 4: Process the Informations
Now you get everything connected. You can use Max/MSP to process all these informations in order to send midi to any instrument.
You can download my patch attached.
I explain the code inside the patch.
For those who are not familiar with Max MSP, I am sorry I don't go very deeply into the instructions. But you can download a demo version on the Cycling74 website and everything will be fine.
Basically, you just have to run the Arduino code, then click on the start button in Max MSP and select the midi port in the list ("from Max 1" for instance). If you receive something you should see the graph and the slider moving.
For the percussion part, set your sound input to Built-in-input (on Mac) and you will see the bang object blinking when you hit the piezzo. That mean it send a midi note on the channel 2.
This patch is really raw and must be improved. For instance as the frequency shift of the Theremin is logarithmique, I should handle these values exponentially.
Step 5: Receive the Midi Messages and Have Fun.
And you finally have to play the sound.
I use Ableton Live to receive the Midi informations and play with virtual instruments. Of course, almost any musical software would make it (Reaper, Fruityloops, etc.).
This is what you have to do for a lot of software:
- Create one or two midi tracks.
- Set there input to from Max 1, channel 1 for the first track and channel 2 for the second.
- Choose and set an instrument (VST) for both tracks.
And here we go you have a baguette instrument!!
You can use the channel 2 to receive the piezo percussion, and control some parameters of your instrument with the channel 1 midi controller.
Or you can receive the Theremin midi notes to your antenna on MIDI channel 1.
This is not accurate, this is not really convenient to control an instrument, but this is fun an I believe that if I improve it, it could be an innovative way of playing music.
Participated in the
Remote Control Challenge