Right. A long time since I last ‘blogged’, so I have some housekeeping to do. Updates by the shed-load. My sound app has now changed dramatically to reflect my new instrument.
My original idea was to create a tactile-less instrument (similar to the one shown below) that required little or no musical experience. My new idea is similar, but with a new and different application of hardware.
My original design required the use of ping, or ultrasonic sensors that used echolocation (making very high-pitched clicking sounds and listening for the echo) to determine the distance to a surface (similar to bats and dolphins) or lasers that used a similar method, but with light instead of sound.
I discovered that there were a few problems with the ping sensors, the most worrying being that because I needed 2, and unless I could wire in a switch so that alternated the source and receiver or created 2 different wavelengths, the 2 pings would interfere with each other. The ping sensors for the Arduino cost around £35-40 each and being a final year student, I am very very very low on cash and I decided to look for a cheaper alternative. The biggest problem however, was that if I choose to use my own sensors (which I have sitting on my desk now) I had no idea how to create the circuit to make them work.
So began my search into alternatives. Whilst experimenting with getting values from LDRs into Max5 via an Arduino, I discovered that covering up an LDR was very inaccurate in that my hand covered such a large area that the poor little LDRs resistance would read close to infinity whenever I went near it. However, when I was playing around with one, I tilted it down onto the desk and the reading was a lot more consistent. I suddenly realised that if I were to attach one to the end of each finger, I could use them to trigger notes and chords by moving my fingers up and down. On my white desk, the LDR was giving back values until it was only a few millimetres off the surface of the desk.
However, as with the hand-covering, the data retrieved from the LDR varied quite considerably. I came to realise that the only true and reliable way of using LDRs was as a switch, giving a value of 0v or >0v. But this property completely destroyed my analogue-based distance system, so once again, I had to put pen to paper and have a re-think.
I have 5 digits on each hand, making 10 in total. If each of them could give a value of 0 or 1, using binary notation I could have a potential 1,023 (210 – 1) combinations of fingers, ignoring the combination 0000000000 (all fingers up). That is far more than I originally had planned and maybe too many. If I split my hands up however and treat them as 2 separate entities, I could have 62 (2(25 – 1)) combinations, which would be more than enough, seeing as there are only 8 notes in a scale. Splitting the 2 hands up, I would have chords on the left and melody on the right, with 31 combinations of each.
Above is the map I drew to illustrate the combinations. The actual number of combinations in this configuration is 40 ((23 – 1) + (22 – 1) + 2(24 – 1)). The number I am using is less because I am restricting the notes playable by the 4 fingers of the right hand to 12, rather than the maximum of 15, purely because there are 12 notes in the chromatic scale and the thumb can then act as an octaver, adding 12 semi-tones to the current note. This means I can have 2 full octaves in the right hand and all 7 major triads, each with 3 optional variations on the left hand.
The other brilliant thing about this idea is its flexibility. In the future, I may look into the possibility of allowing the user to switch between playing notes and percussion. There is also the possibility of using more sensors for a wider range of possible sounds, instruments and dynamism in the music. Of course, the current design acts as a MIDI controller, so you can just alter the voice on the system to whatever you want, but you must remember that the mapping of the fingers would need to be made more intuitive for the instrument chosen.
The LDRs will be attached to a glove to allow the wearer to play the instrument anywhere, within reason. The position of the fingers in relation to one another is not important as it is with any tactile instrument. Given the right material, the wearer may even be able to play by tapping their fingers against their clothes.
Of course, my current working patch in Max5 was useless, so I set out to create a new one, stealing bits and pieces from the one that previously took me several weeks to carefully prepare. A work in progress:
Of course, the unlocked patch is as nasty-looking as ever:
There was of course, the problem I was dreading – I had to make 2 Arduinos talk to Max5 separately. This caused me a few headaches, but I overcame it. Lucky I bought 2, eh? :D
The only problem that I can foresee is that not many people can think in binary very quickly. I am having a lot of trouble trying to grasp it because I can only think either musically or binarily. Mixing the 2 is not easy for me! So as a fix, I am building LEDs into the fingers of the gloves and if I take the idea further, I will create a system that can flash the lights of the fingers you have to tap to play a particular song. I could also build in a function to allow the recording of your taps and play them back to you.
There are a few points that I believe make this instrument better than the one I had originally planned. With analogue inputs, it was hard to find a point at which to trigger the playing of the chord or note. There are of course, no such problems with digital; it’s either on or it’s not! Although not as technically outstanding, the new instrument should be more reliable, easier to reconfigure and more accurate.
This idea has already been produced (such as here and here), but every existing application only allows the user to play a single not per finger. My design allows a chord to be played with a single finger, making for many more possibilities.
Gloves off eBay – Check!
Arduino x2 – Check!
LDRs, LEDs and wire – Check!
Time – ARGH!



