• About
  • Selected Personal Works
  • Blog
  • Press
Menu

CEB

Experiential Producer, Director & Artist
  • About
  • Selected Personal Works
  • Blog
  • Press
there.jpg

Analog Output - Theremin Jam

October 5, 2016

One of my favorite musicians is the guitarist from the band Phish -- Trey Anastasio. He plays a mean guitar and sometimes a trippy theremin.For class no. 4 in physical computing we were asked to create an analog output circuit. My mind went immediately to creating a theremin after applying the tone() function to a piezo in class.

Why not create a theremin to jam with your favorite musician, right? Below is my attempt at a v.1 theremin:

Here is the entire song of Trey Anastasio and OysterHead playing Shadow of a Man live.

The code was fairly simple to produce the theremin effect:

const int speakerPin = 9;

void setup() {
 pinMode(speakerPin, OUTPUT);
 Serial.begin(9600);
}

void loop() {
 int senState = analogRead(A0);
 int frequency = map(senState, 500, 1000, 3000, 50);
 tone(speakerPin, frequency);
 Serial.println(senState);

}

The tone() function gives you the ability to change the frequency, when mapped to the light sensor using the map() function, based on how much light it emitted on the light sensor.

Because I wanted to have the theremin be making noise in the dark, the 3000 number was used first in the 'min & max' of the mapping function.

ex.

map(potState, 500, 100, 3000, 50);

rather than

map(potState, 500, 100, 50, 3000);

If I were to use the second map() function in the example, then the piezo would only make sound if the light was removed from the sensor.

The components list:

  1. light sensor
  2. 10K resistor
  3. A3 piezo

Here is what the circuit looks like:

File-Oct-04-11-22-19-PM-e1475643040564.jpeg
In Physical Computing
← Colors of My LifeRepetition with Variation →

VR / AR / MR

LIVE PERFORMANCE

INSTALLATION


SPRING 2018

Thesis

Advisor: Kat Sullivan

Fall 2017

Designing for Live Performance
Teacher: Andrew Lazarow

Bodies In Motion
Teachers: Todd Bryant & Kat Sullivan

Alt Docs
Teachers: Julia Irwin & Ziv Schneider

Temporary Expert
Teacher: Marina Zurkow

Automated Video
Teacher: Sam Levine


Spring 2017

Collective Narrative
Teacher: Marianne Petit

Directing Virtual Reality
Teachers: Sarah Rothberg & Carol L Dysinger

Doing Good is Good Business - Designing for UNICEF
Teachers: Benedetta Piantella & Christopher Fabian

Fairytales in the 21st Century
Teacher: Marianne Petit

Nothing - Creating Illusions
Teacher: Andrew Lazarow


Fall 2016

Animation
Teacher: Gabe Barcia-Colombo

Fabrication
Teacher: Ben Light

Intro to Computational Media
Teacher: Allison Perrish

Physical Computing
Teacher: Danny Rozin

Visual Language
Teacher: Katherine Dillon