Want to make your own laser harp?

Full plans, schematics and source code are available here...

Or the WiiMote Theremin?

Information is here...

Stephen Hobley's Laser Harp

Archive for 'MIDI and Music'

Pew! Pew! Pew! Lasers

This is a pretty cool review of Little Boots recent gig at the Highline Ballroom in New York City.

“There’s not much you can say against the laser harp. At the Highline Ballroom on Tuesday night a beam of green light shot up from the floor, then fanned out into eight individual rays. The tiny synth-pop singer Little Boots, wearing a gold lamé gown and face mask, played the melody of her song “Earthquake” by moving her hand among the streams of light; each time she blocked one, it triggered a synthesizer pitch, and she could alter its tone by lowering or raising her hand on each beam…”

Read More at NYT…

It’s been great to finally put the laser harp into the hands of a creative artist. Victoria’s going to take her band to the Ultra festival this month, and then on to Coachella next month. We’ve been working on something very special for that gig…

9700 Visualizer in action

The PAIA 9700s is a compact analog modular music synthesizer, available as a kit. It took me about 3 weeks to get everything constructed and installed in the case.

After building the next task is to set the scale trimmers on both voltage controlled oscillators so that they stay in tune over the largest range of musical octaves. This process involves going “back and forth” between the scale pot and front tuning knob until you get both oscillators tuned. It’s a difficult task as it’s not always obvious how the oscillator tracking is moving around when you alter the scale.

I found that the best way to set the scale is to tune the root note to ‘C’ then play one octave above and note how much shift there is in the upper C. If the shift is positive (sharp) then actually set the scale to make it sharper (counter intuitive I know) then drop back down to the lower C and use the front panel pitch control to move the whole range down.

On my PAIA 9700s page I mentioned a neat tuning utility that could help with the process. I contacted the author; Andrew Steer, as I was hoping to incorporate his source code into something I was creating to help tune my PAIA 9700s synthesizer. He sent me the routine that detects pitch – it was in Borland C++, but it turned out not to be too difficult to replicate the code in C#. I added MIDI support and a graphing function to assist in the tuning.

Now all you need to do is connect the first oscillator output to your mic in, click “Start” to see the signal in the oscilloscope window, and adjust the mic input level to get a clean signal.

Then you click start test, and it will send MIDI data out of the default MIDI port (which you should connect to the input of the 9700) and read the frequency output. Once it has completed a pass of oscillator one, it will prompt you to connect up oscillator two, and repeats the test. Finally it plots a graph of the two oscillator responses against an ideal curve. (Log plot is also available).

In this way you can see the changes as you make them.

Download the exe here.

MIDI Relay - sends serial port data straight to the default MIDI port

When it comes to creating MIDI controllers the Arduino is tough to beat. There’s a great development community out there and creating MIDI data is a breeze.

What’s not so cool is that it’s very very difficult to send MIDI data over the standard USB serial port that is used to communicate with the Arduino.

Wouldn’t it be nice if there was something you could do to test your creations, without:

(a) having to solder a 5 pin DIN connector onto the serial port TX pin
(b) hunting around the house for that old USB/MIDI interface that you *know* is in one-of-those-boxes-over-there(tm).

?????

Well now you can – I put together this really simple application that lets you choose a serial port, click start and then it retransmits all the incoming data over to the default MIDI port you configured in Windows control panel.

Click here to download – it was built using Visual Studio 2008 – so will need the .Net framework 3.5 installed to run.

If you use MidiYoke you can route the data straight back into a VST softsynth.

You will need to transmit from the Arduino at 38400 speed.

Job done!
…and not a 220 Ohm resistor in sight.

P.S. – At the moment it only supports note on / note off and controller data.

I recently revisited some of my early laser harp work and thought it worth making a posting of the original beam detection circuit. This is an active low comparator circuit and the output line can be hooked directly into an Arduino.

Shine the laser/light onto the Light Dependent Resistor and turn the 100K potentiometer until the LED just comes on. Then shading the LDR should turn the LED off. All the parts are easily available from Radio Shack (Note: the power and gnd connections for the LM324 are not shown).

The circuit is in 5 parts. See attached picture.

Part 1 is the power hookup – you need to connect the 5 volts output from the Arduino (or another source) and gnd to the two lines that run along the longest edge of the breadboard.

Part 2 is the first of 2 potential divider circuits. These divide the input voltage up from part one into different levels. This first one is adjustable with the potentiometer (100K). If you connect the resistor and the potentiometer as shown, then measure the output of the divider ( the middle tab of the potentiometer) you should see a voltage change as you turn the control knob of the potentiometer.

Part 3 is the second potential divider circuit. This uses a light dependent resistor in place of the potentiometer alter the voltage. Same as before though, if you wire this up and measure the output (the line that is connected to pin 3 later in the circuit) you should see the voltage change as more or less light shines on the circuit.

Part 4 uses the op-amp integrated circuit to compare the 2 voltages from parts 2 and 3. When the voltage output of part 3 is above that from part 2 the pin 1 from the IC will go “high” and cause the LED in part 4 to light up. In addition to wiring in pins 1,2 and 3 you will need to connect the power and gnd pins to the power and gnd lines we created
in part 1.

Part 5 is the output stage – this uses a simple LED and current limiting resistor to light up when the pin goes high. You want to have this LED light up when the laser pointer is pointing at the photocell, and go off when it is not. Note the polarity of the LED, it should only go in one way round.

I used 8 of these circuits in the very first static laser harp I built:

This video was embedded using the YouTuber plugin by Roy Tanck. Adobe Flash Player is required to view the video.

The view from the front...

The view from the front...

I’ve been working away for the last month or so on developing a laser harp controller that could hook into an existing stage lighting rig.

This project was for Victoria Hesketh or “Little Boots” as she is known in the UK.

If you already own an ILDA compatible projector and are looking to add MIDI based interactive laser instruments into your line-up then this will just about do the job…

I can custom build these units, and if there’s enough interest I might start offering them for sale.

Hey, I was on TV…

…and I missed it.

Maker Faire 2008

Maker Faire 2008

I just stumbled across this last night, I remember giving the interview, but forgot to watch it…

I’m sandwiched between the robotic giraffe and the cupcake bicycle at about 1:49

http://www.dailymotion.com/video/x7mcd1_attack-of-the-show-maker-faire_videogames

Oooh I’m all sweaty.

I recently was asked if it were possible to output continuous controller data from the WiiMote Theremin device I created here

This should be pretty simple as the Toub.Sound.Midi library supports CC data just like the Note On/Off.

If you open up the source code in Visual Studio Express C# – you should be able to find the line in the Form.cs file that plays the notes…

This can be easily changed to support CC data as follows:

// Removed, since we are no longer sending MIDI Notes,
// just CC we do not need to send a note off
//if (LastNoteNo != 255)
//    NoteOff();
// ----------------------------------

// Convert the raw val to a MIDI note by dividing by 10
LastNoteNo = temp;

// This is the line that takes the camera X coordinate value and outputs it as a MIDI note
// start to output CC data instead
//Toub.Sound.Midi.NoteOn _n = new NoteOn(0, 0x0, LastNoteNo, 100);
//Toub.Sound.Midi.MidiPlayer.Play(_n);

// Set this to 0-15 for the 16 MIDI channels
byte MIDIOutChannel = 0;
// Set this to your desired controller number
byte ccNumber = 33;

Toub.Sound.Midi.Controller _cc = new Controller(0, MIDIOutChannel, ccNumber, LastNoteNo);
Toub.Sound.Midi.MidiPlayer.Play(_cc);

I just purchased a Korg RADIAS for use with the Laser Harp / MIDI Theremin and while researching sound demos I came across this movie clip:

I’m glad that performers are starting to realize that internet content featuring their work is generally a good thing, even if they didn’t create all of it themselves.

Nice one Jean Michel…

(When is your tour coming to the US?)

The PAiA Vocoder

I just completed testing on my build of the PAiA Vocoder kit. This was a tough one, and officially I’m not done yet, as I have to get the noise reduction mod fitted and working.

Here’s a video that explains a good testing strategy once completed…

…and here’s a video that demonstrates what the Vocoder effect is…

The Vocoder kit can be obtained from here.

Thanks to Scott at PAiA for his help in getting this up and running.

After I finished the 9700 I was looking for a way to test it as a whole. The one thing missing from the PAiA website was a test patch with a sound file, so that you can check to see if all the bits are doing what they should.

I think that my synth is actually working OK, and all the problems I had were just down to bad patch cables.

Here’s an image of my latest test patch, that tests the MIDI, OSC, modulators, filter, trigger, gate, and ADSR.

Click here for the patch image.

This patch uses the VCO modulator to create the rhythmic PW pulsing effect, then the VCF modulator in cycle mode to create a simultaneous slow rising and falling sweep. The MIDI Trigger and Gate outputs are patched through to the ADSR in the VCA.

Note: I accidentally wired the switch backwards on the VCA, so even though it is set to ‘Cycle’ it’s really in ADSR mode.

And here’s the patch in action…

I’m really impressed, this is with no effects or anything, just the synth. Even the Juno’s needed a bit of chorus to liven up the sound.