• Home
  • Blog
  • Auduino DMX Theremin Synth Part 1

Auduino DMX Theremin Synth Part 1

Auduino DMX Theremin Synth Part 1

Back in my teens, when my dad found out that I was getting into electronic music, he said “any monkey, given enough time, can twiddle a couple of knobs and make something vaguely musical”. Well, he was right. That said, he also told me that playing with computers would never amount to anything and that I was throwing my life away. While I may not have become the classically trained musician he would have liked me to be, I’ve found that music and technology can fuse quite nicely.

I’ve been playing with my Arduino more recently and decided to start a project where I could experiment with multiple input/output types and create a truly immersive experience.

This post and video are the first part of what may become a long drawn out saga (mainly due to availability of hardware and cost of software). The end goal is to create a musical theremin, that also controls lighting and video mixing.

To do this I will be using an Arduino, (4.7k) potentiometers, light sensors, 1/4” audio jack, a Tinkerkit DMX Master Shield, an American DJ P36 RGB LED spotlight and MAX MSP (this part may have to wait until I have a project that I can justify spending the $400+ license fee on).

I want to make the theremin more interesting than the basic Arduino tutes, so I opted to build and modify an Audino as the starting point. Auduino is a Tinkerkit project based on the Arduino microcontroller. It’s a simple synthesizer using a granular synthesis technique to create a filter-sweep sound with a distinctive 70s feel. I’m not going to give you the entire run down of how to build one, as you can find it all here: Auduino.

Play the video to hear the Auduino in action.

Lightbox Image

Next, I’ll swap out two or three of the pans for photoresistors (light sensors) to make it work as a theremin. Getting the photoresistor values from the Arduino to MAX MSP is a breeze, using the serial.print function, as shown in the following example.

int sensoroneValue;
int sensortwoValue;

int sensoroneKey;
int sensortwoKey;

int videoOne;

void setup(){
  
  Serial.begin(9600);
  
  sensoroneValue = analogRead(A0);
  
  sensortwoValue = analogRead(A1);
  
}

void loop(){
  
  sensoroneValue = analogRead(A0);
  
  sensortwoValue = analogRead(A1);
  
    if (sensoroneValue < 500) {
     sensoroneKey = 1;
  } else {
     sensoroneKey = 0;
  }
  
    if (sensortwoValue < 500) {
     sensortwoKey = 1;
  } else {
     sensortwoKey = 0;
  }
  
  if (sensoroneKey > 0 && sensortwoKey > 0) {
    videoOne = 1;
  } else {
    videoOne = 0;
  }
  
  Serial.print("Sensor One: ");
  Serial.print(sensoroneValue);
  Serial.print(", Sensor Two: ");
  Serial.print(sensortwoValue);
  Serial.print(", Key One: ");
  Serial.print(sensoroneKey);
  Serial.print(", Key Two: ");
  Serial.print(sensortwoKey);
  Serial.print(", Video One: ");
  Serial.println(videoOne);
  
  delay(250);

}

The final step – once I can get my hands on some 3 to 5 pin DMX converters, will be to hook up the DMX Master Shield, light etc., and piece the whole thing together. \Stay tuned!

Share Button

Tags: , , , , , ,

Trackback from your site.

Comments (2)

  • north face marseille

    |

    Hi there, I log on to your blog like every week. Your story-telling style is
    awesome, keep doing what you’re doing!

    Reply

  • Lance

    |

    Right away I am ready to do my breakfast, when having my breakfast coming over again to read other news.

    Reply

Leave a comment

Want to talk?

Send me a message or call me on SkyPe.

info@yannicklord

SkyPe: yannick.lord

Venice, CA

Where the sun shines all year round.

Copyright Yannick Lord 2013 - All rights reserved.