First of all, thanks for all of your answers,
I’ll try to respond to everyone:
You can tackle this two ways:-
Use the signal in the audio channel to directly control the servo …
Measure a frequency in the audio and use an Arduino to control the servo.
That’s very interesting, however for 1) as it is stereo, we can only drive 2 servos right? I have 8 …
- I’m not sure I’ve understood this method correctly. Could I drive all 8 servos independantly?
You don’t need a DAC because the servo takes a digitally signal (digitally timed) can converts it to analog movement.
Very true, thanks for your point.
It might be easier to program the movements completely in the Arduino’s software, but you’d have to figure-out how to synchronize the movements with your audio
That is why I want to “draw” the “movements” waves using an audio editing tool so that it is already synched with the music when I create it. I’ll know that from 1min12 to 1min14 there will be a movement occuring at that precise time. If I was to program it through the arduino it wouldn’t be that easy, I would have to calculate seconds, testing each movements while listening to the music and see if it starts/stop at the right time. By using an audio editing tool I can visualise precisely where to start/stop using the sound waves.
To all, I think I’ve not been very clear with my explanations, sorry about this.
I don’t want the music to CREATE the movements. I know that my servos won’t be able to go as fast as the music goes and won’t be able to get all frequencies either.
Basically, on an audio editing tool, under the music waves. i’ll create my OWN waves at the right frequency (whatever frequencies) for the servos to be able to reproduce it. Those waves will just be created in synchronisation with the music using the software. Then I’ll export those waves movements and synchronised with the music. I’ve found a video describing from 0min20 to 1min05 the whole process, although this is for movies, it is very similar to what I want to do:
Hope it will be clearer for everyone?
How is Y derived?
How does X>Z Hz become Xdeg>Zspeed - what function maps that over time ?
You’re right, I forgot a step.
Let me rephrase it:
For example, during a specific song moment between 1min 34 and 1min 42, I would “draw” an audio wave form that goes from let’s say X hz to Y hz during Z seconds.
e.g a wave that goes from 50hz to 100hz back and forth during 10 seconds would result in 1 or multiple servos vibrating during 10 secondes.
e.g a wave that goes from 50hz to 60hz back and forth during 5 secondes would result in 1 or multiple servos vibrating harder during 5 seconds
e.g a wave that goes from 50hz to 150hz in 12 secondes would result in 1 or multiple servos going from 90degrees to 120degrees in 12 secondes, therefore at Z speed.
(Those values are random)
That’s basically something like this that I’m trying to achieve. I know that I could code it directly on the arduino, but drawing waves is much more easy to visualize when you have 1 or multiple songs to create movements for. By creating those waves on an audio editing tool. I’ll be able to have a library of already created movements for the future and just copy/paste them at the right moment.
Again, thanks a lot to everyone for your help, it is much appreciated.