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:
-
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.
-
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.
-
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.