My plan is creating a gui app in vc++ mfc to connect serial port of pc with a servo controller, then play a music ,according to the music the servo motor should run.I think convert the music into freq and each freq is giving as input to each motor.Is it possible.I expecting your reply.I don't have much experience in this field,so plz help me.
A position loop controller Servo has about 50Hz band width, velocity controller about 150Hz. It's not going to do much in the way of responding to audio signals. So there was a special motor invented for such purposes - a voice coil. You can find it on on almost every loud speaker.
If you had a slight delay before sending the music to the speakers you might be able to have a servo respond to the beat. Filter out all but the bass and have the servo make a move in time with the beat coming out of the speakers. Like a robot tapping it's foot to the beat.
Having the program find the beat could be difficult in some music. It might be easier to have a library of songs where the programmer has the filters tuned for each song to block out all but the beat. Most digital music recordings now have title information included.
Is it possible to use a two-stage low pass filter to cutoff 1Khz sample, and then performed Fast Walsh Transforms on the sound source to split the sounds into different frequency ranges. Is it work?
can anyone suggest a similar project working with servo motor & music ,when I search the net, I found a rain drop sculpture in Singapore airport,can anyone explain its working.
you need to go back in time for this project! I'd recommend using a resolver input to deal with the audio sine wave. Then program your initial logic like the gain stages and hi/lo pass filters in a tube amplifier. Then jump back to the present day, use a servo amp capable of position control, and scale the output of your wave filter to assign the value of the destination input to a MoveAbsolute function block. You could even filter an audio track to sense time signature, and vary the ramps and reference speed in accordance. Also, it might even be easier to translate the audio to MIDI. I've never interfaced MIDI style serial to a PLC, but I imagine it could be done cheaply with an Arduino as a translator.
I think I might need to play with this a little bit, thanks for the inspiration!
Do you mean to turn the sound signal to motion? As pointed out above, one is frequency limited to extreme bass, except for very special "motors" like speaker coils or a phonograph cutting stylus.
Do you want to turn a volume signal into motion? In this case the signal must be rectified (or squared) to yield a signal which does not swing negative. The signal should then be low pass filtered for the motor signal. In some cases the motor response itself will do this acceptably.
If working in software, from a digitized signal, one can take absolute value (full wave rectification) or square the signal, then apply a low pass filter. The digital signal must then be converted to analog. The D to A conversion is included in some hardware.