It’s the end of the semester for Scott McKenzie (sjm298) and Alex Rablau (ar568) – both of whom successfully participated in Cornell’s ECE4760 class with the creation of an infrared theremin capable of speaking in four voices.
As HackADay’s Kristina Pano reports, the classic theremin design employs each of the player’s hands as the grounded plate of a variable capacitor in an LC circuit.
“For the pitch antenna, this circuit is part of the oscillator,” Pano explained. “For the volume antenna, the hand capacitor detunes another oscillator, changing the attenuation in the amplifier.”
However, McKenzie and Rablau put a twist of sorts on the traditional theremin by using two IR sensors to control volume and pitch, respectively.
Essentially, the sensors are tasked with computing the location of each hand, outputting a voltage inversely proportional to its distance from the hand. Meanwhile, Atmel’s ATmega1284P converts the signal to an 8-bit binary number for processing.
“McKenzie and Rablau built four voices into it that are accessible through the push-button switch. The different voices are created with wave combinations and modulation effects,” Panos continued. “In addition to Classic Theremin, you can play in pure sine, sawtooth and FM modulation.”
Although the duo say they are pleased with the current version of the theremin, they are looking forward to implementing further improvements.
“Future iterations of the design could bypass the pulse-width-modulation by using an external digital to analog converter for output actuation. This would free up CPU time to leave additional cycles and memory for more complicated sounds. Also, in its current state, our theremin requires an external amplifier and speaker connected through a standard 3.5mm audio jack,” the two concluded.
“In order to make our theremin truly portable, a built-in amplifier and speaker would be necessary. Furthermore, our input from the user comes in the form of a single-axis distance sensor. Movements which the user makes which are orthogonal to this axis are not seen by our theremin, and produce no response. This is the biggest discrepancy between our theremin and the real theremin, which responds to all user movements of all magnitudes.”
Interested in learning more? You can check out McKenzie’s and Rablau’s theremin here and read about designing a pseudo theremin with Atmel and Adafruit here.