I feel I should expand a little on this project:
I’m Chris, an Audio Technology graduate from the University of Salford. A little while ago I decided (as I had some extra free time) I needed some projects to keep me occupied. I also wanted to make more practical use of the things I had learnt during my degree.
I’d also recently started using the Arduino platform (which is awesome www.arduino.cc) that makes creating electronic devices and distractions incredibly and beautifully easy. So, to introduce myself further to the Arduino, I decided to make a framed laser harp, something a little like this one.
I also decided to refer to other people’s projects as little as possible, to make sure I created it in my own way.
I already possessed the coding skills I’d need from a few earlier projects and my degree, so the main knowledge I lacked was in the process of physically creating the harp itself, rather than the software. So, for the first laser harp at least, I took the laser diodes from a bunch of cheap laser pointers purchased in a corner shop, and built a small test rig consisting of one diode and one photodiode. A couple of tutorials on hooking these things up to an arduino, a bit of coding, and I had a working one note laser harp.
Single note laser harp
This could be hooked up to any standard midi device, and trigger a single midi note. For those reading unfamiliar with midi, it’s something like a musical language for computers, that allows different digital musical devices to communicate. It’s surprisingly versatile, and as such is used more than just expressing a melody. Midi can control a number of different ways of expressing a note (volume, vibrato), or messages used to convey the way an instrument is being played, or even control your stage lighting.
But back to the harp.
I made a simple MDF frame (with a handsaw and some screws) and wired everything up, rewrote the software to allow for more notes, and I had the below:
14 note laser harp
Which (despite the messy wiring) worked brilliantly. Many hours of enjoyment were then had, putting it through various soft-synths and learning about the particular strengths and weaknesses of what I had made.
A few things I wanted to change:
I could only play chromatic scales – it was a simple fix (in the software) to allow the 14 notes to play any kind of scale I wanted. I also added some buttons to allow the user to control the fundamental note of the scale, and what scale was being played (this resulted in a few more hours of procrastination).
Because of the way the software had worked up to then, it only made sense to play midi notes at one volume, that you couldn’t change. A whole heap of musical expression is in it’s dynamics, and I couldn’t let it stay this way. So, I rewrote the code to allow for variable velocity. Up until then, I had assumed as the user’s hand passes through the beam, the light at the receiver end is either “on” or “off”. But in actuality (on the millisecond scale) the process is a gradual covering up of the light, resulting in a nice slope (on a plot of the output). Measuring the gradient of this slope gives you a measure of the velocity of the user’s hand, which I added to the output midi message.
The whole thing was a little bit rough round the edges – I had noticed the lasers fading over time (bad wiring again) and I wasn’t (if I’m completely honest) happy with the quality of the build. I decided it was already time for the next version. To be continued…