Sensor to detect vibration from violin strings?

I'm brainstorming up a project I'd like to build but I cant figure out how to approach or what sensor would be most appropriate to use. Essentially what I would like to have is a circuit that can detect vibration from a violin string and tell the arduino to light an LED with a brightness that corresponds to the volume (amplitude?) of the sting played. This project isnt for audio purposes so I dont need anything dealing with frequency to pitch conversion or anything like that... just a circuit that lights an LED when a sensor detects its string vibrating. There are 4 strings on a violin so I will want to use 4 LEDs, one for each string.

Here are some potential problems I've thought of that could make this difficult:

  1. Depending on the volume and which string is being played, the vibration can be extremely subtle. I know when I play the E string (The highest in pitch) quietly you can't see the string vibrating at all with the naked eye but you can still hear it. I would need a sensor that could tell the arduino that the string is in fact vibrating and producing sound even though the human eye cant see it.

  2. At first I thought I might be able to use a modified magnetic pickup for guitar. The voltage produced by the coil could be used as an input to let the arduino know the string was vibrating ... but this idea quickly went into the trash when I realized not all violin strings are made of steel. Many are made of non-conductive materials.

  3. Crosstalk. A normal violin bridge is just a single piece of wood, so if I was to use a peizo to sense the vibrations, one strings vibrations would be picked up by all the strings since the bridge of a violin is a solid piece of wood. I thought maybe I could build a special bridge for the violin that kept all the stings on a separate peizos so that they would be "vibrationally isolated" from each other but I wouldnt know if that would work without experimenting first... and I dont know much about making violin bridges so that could be a cumbersome option.

TL;DR - Need a sensor(s) that tells an arduino that a string is vibrating, which string it is, and how intense the vibration is.

Interesting project, but I don't know if it can be done without rebuilding the violin.

My first thought was a contact microphone. Glue a piezo element to the back and it will notice the most subtle vibration. But it can't tell which string is played.

Have a look at electrical violins. There are also home-made electrical violins.
Or do you want to make some kind of addition to a normal violin ?

I can make any modification to the instrument necessary. I can drill holes ect... if needed to (its a junker). I dont want an electric violin as this project isnt for audio purposes. Its more of a proof of concept for another project I will start if I'm able to get this working, A single peizo wont work, I need to detect vibration from the strings individually.

but you could use a microphone to detect the sound, do an FFT to determine the base frequency, That might reduce the number of strings that can be it.

Another idea is laser light, shining parallel just along the string. A sensor at the end sees 100% of the light.
If the string vibrates, even very tiny amount, it will partly block the laser light

A compass in the violin and one in the stick(?)
Their orientation might indicate which string is touched as for every string there is a different angle between violin and stick?

I like the light idea. Can you get a cheap laser assembly (something that's safe for eyesight: low power, visible)?
I don't know, haven't tried it (I did watch while my g/f played her violin and I see what you mean about that thinnest string -- hard to see the vibration, unaided.) but I do believe that a light beam (the thinner and more columnar the better, I believe) would be affected by the vibration. A vibrating string is bound to scatter light differently than an untouched string.

I'd rig it up and try it -- see what the Arduino sees, using, say an analog input and just printing values. See if you can come up with an algorithm for detecting vibration. You will need a sensor (photo transistor?) that's not all-or-none.

Good luck!