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