Sensing Vibration from Plucked String/Metal Wire

I am initiating a project, and a prototype, for an installation due in May.

The concept is creating a large harp, with lit wires hung from a fixture in the ceiling, and attached to the ground. I will hang projectors in the ceiling as well, and cover the rest of the area with mirrors, if possible.

What I want to do, is to have the people enter the room, and pluck the strings, thus creating visuals that respond perfectly (or, as good as possible), and audio that does the same. The software part is not that much a problem, but I am a beginner when it comes to the electronics.

So my question is: How would I go about this project. Since there will be people there I can't rely on the audio vibration of the string, and it will be isolated and hidden under decoration. How can I detect the vibration in the best way possible.

From the top of my head I would see an alligator clip or something attached to the wire, sending a signal or something to an Arduino board, but that's pretty much how far my imagination can take me at the moment, so if you have any tips on where to look, or what keywords to use, please reply.

The wire itself will be about 3 metres long, preferably in a material that can light up.

Tack!

An [u]electric guitar pick-up[/u] is made by winding wire around a magnet. A typical guitar pick-up puts-out about 1 Volt into a high impedance. (The high impedance implies many-many turns of wire.) Of course, it only works with steel strings which affect the magnetic field.

If you have metal strings, guitar pick-ups for each string would probably be the simplest and best solution, but it could get quite expensive if you harp has as many strings as a real harp. So, you might want to experiment with winding your own.

If you put a microhone diaphragm (or a speaker cone) in contact with the string, that would pick-up vibrations too.

The wire itself will be about 3 metres long, preferably in a material that can light up.

You might be able to splice a metal string (or a small steel rod) to a plastic string (or plastic rod). Or, maybe attach a plastic rod to a spring and and pick-up the spring movement.

You may get enough signal from your pick-up to drive an Arduino input, or you may need a preamp. You are doing something unique, so you'll have to experiment. Don't forget to protect the Arduino from negative voltage swings (or voltages above 5V, if necessary).

I wonder if a microphone pickup, feeding into an audio amplifier, feeding into an Arduino A/D converter channel, with the Arduino doing spectral analysis using FFT [fast fourier transform], wouldn't work here.

jnsjohansson: When searching for things similar to this I often see Piezo as a solution, but it would not be applicable in this case?

It could be applicable in this case. Piezo discs can be used if you can figure out a good way to make the string bounce against the disc, such as with a round bead on the string or such.

           piezo disc
           __________
--^v^v^v------(  )-----------------------------------------------------
   spring     bead            string

jnsjohansson: What I want to do, is to have the people enter the room, and pluck the strings, thus creating visuals that respond perfectly (or, as good as possible), and audio that does the same. The software part is not that much a problem, but I am a beginner when it comes to the electronics.

Have you considered what sort of deflection and frequency these strings are going to have? Unless you have a huge tension they're going to wobble around at a low frequency (almost certainly below audible range) with lots of deflection due to the length. Is that OK? If you do have huge tension, then you need to be concerned about hazards if they break.