One of my most vivid concert memories is seeing Jean Michel Jarre perform in 1986 at the city of Houston’s 150th birthday celebration. He played music by breaking laser beams with his hands. The beams came out of the stage and went off into space, and for a long time I thought it was a fake — I couldn’t understand how this instrument could work without any sensors above. That started me researching and tinkering, and 22 years later, I figured it all out and built my own.
Now I have several versions of the laser harp. The one I perform with uses a powerful laser and a scanning mirror system, designed for professional lighting effects, that splits one beam into multiple beams that can fan out and move dramatically. This article describes a simpler harp I designed more recently, which uses inexpensive laser pointers and doesn’t need the scanner.
The harp works as a MIDI controller, so it doesn’t make sound itself, but generates a stream of MIDI data to drive an audio synthesizer. Each beam strikes a photocell, and when the player’s hand interrupts it, the sensor prompts an Arduino microcontroller to send a MIDI “Note On” message. Additionally, a range sensor reads the position of the hand, which spawns MIDI controller messages that change the sound’s qualities.
First I’ll show how to make a single-beam laser theremin, which changes pitch with the position of your hand. Then we’ll replicate the circuit and reprogram the Arduino to produce a multi-string laser harp, with each beam corresponding to a different note. The Arduino has 6 analog inputs, so this harp is limited to 6 beams, but at the end of the article I’ll suggest ways to expand it.
Resources
one of the student of my college had made this for college’s technical event for aprox. cost of INR 25k
Built this project for school, having a bit of trouble with the code. It works for the midi test file but when i try to do the theramin im getting a message
/////////////////////////////////////////////////////////////////////////////////////////////////////////
// Plays a MIDI note.
// Format of MIDI note on
// 1 – xxx is 001 (Note On), yyyy is the channel number – in our case 0000 – which is channel 0
// 0 – note number 0-127
// 0 – note velocity 0-127 – instead of sending a note off, you can send 0 in this field to silence a note
/////////////////////////////////////////////////////////////////////////////////////////////////////////
void SendMIDI(char cmd, char data1, char data2)
{
Serial.print(cmd, BYTE);
Serial.print(data1, BYTE);
Serial.print(data2, BYTE);
As of Arduino 1.0, the ‘BYTE’ keyword is no longer supported.
Please use Serial.write() instead.
Any ideas?? Im so close to this all working and I need to submit it to the teach by Friday. PLEASE help!!! Thank you!! Can email me @ Gleason.c@gmail.com
where do you get the midi output jack from?
I found scrap parts to make my midi jack. Hopefully getting my harp done this week.
does anybody have the plans to build this harp. I would like to build one myself.
i need some basic code for a Laser Harp JR 3 strings… can anyone assist me? this is the last step and my build is done. i will gladly share all of my work and detailed pictures soon as i am finished.
Pingback: Lasers and MIDI and software… Oh my! | minimal.cx
Pingback: The Laser Harp | Open ImpulseOpen Impulse
In step 2 a schematic is referenced. Where is this schematic?
Maybe this one?!? https://makezine.com/projects/arduino-photocell-theremin/
I am just starting to learn about electronics, and the most difficult thing is knowing what all is out there, what types of chips, and what they do.
I was wondering if you could tell me how to do this without using the Arduino. Can I not do it using some IC to hold the program and a synth IC? I’d like make the circuit board myself to replace use of the Arduino.
Thanks.
Pingback: Digilent Inc. Blog » Blog Archive » So You Wanna Learn How to Electronic
its a important to use midi in laser harp can we use a usb connection
Pingback: BUILDING A LASER HARP | |Billy| |Interactive|Sound|Environments|
Pingback: MD5352 Research task 1 – Angus' CRT Blog
We'll assume you're ok with this, but you can opt-out if you wish.
Our websites use cookies to improve your experience while you navigate through the Make: ecosystem. Out of these cookies, some are categorized as essential for the working of basic functionalities of our websites.
We also use third-party cookies that help us analyze and understand how you use our websites. These cookies will be stored in your browser only with your consent. You have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Your choice here will be recorded for all the Make: Community Websites.