Okay, you asked for it...
I have a recurring shoulder problem that severely limits how long I can practice playing my violin (was down to 15 minutes every few days last time I tried.)
So I've been designing a violin synthesiser, (see my other posts) that allows me to play a 'violin' shaped object with notes in the right place without using a bow (pressing a string to a fret makes the note.) This should releive the stress of (for me) trying to read sheet music, finding the notes, and playing them well. I can practice learning a tune without the many hours of squinting, shoulder pain, and swearing that usually accompanies it.
The other side of this is finding the notes themselves... I can do that by feel fairly well, but I am terrible at reading sheet music, so I wanted to find a way of displaying the notes to be played, in real time, on the fingerboard itself.
An ideal way to learn to transcribe/ compose/ play a violin would be to whistle a melody and have it appear on the fingerboard as you whistle. I have a peice of software that does an excellent job of visualising the pitch of my whistling on screen as a thin coloured line (overtone analyzer), all I needed is a way of getting that information off the screen and into a picaxe to tell the appropriate LEDs to light up, in real time.
So as I whistle a note, that note's LED's light up on the fingerboard; I could then play the notes, thereby getting used to the notes locations, and at the same time learning/composing music in a very flexible, intuitive way. Basically if I can whistle it, I can play it.
I've tried using 'Processing' to write a programn to do that, but it's unbelievably slow at it (I need it to report the Y position of the trace maybe 20 - 50 times a second, it prefers 6 - 12 times a minute
I dont think its ever going to be fast enough, so I thought maybe I could attach an array of LDRs onto the screen and read the trace that way. I need 53 notes, on my screen each note is 5mm apart, so 53 5mm LDR's suitably arranged should do it.