FORUMS: list search recent posts

Slowing Video Speed based on Audio Intensity?

COW Forums : Adobe After Effects

<< PREVIOUS   •   FAQ   •   VIEW ALL   •   PRINT   •   NEXT >>
Benjamin Jones
Slowing Video Speed based on Audio Intensity?
on Dec 24, 2016 at 5:41:56 am

Hi all, I just wondered if it is possible to slow down effects according to Audio Intensity.

I have trapcode particular and soundkeys. I want to create something like this:







I just wondered how in the world they did it?!


Return to posts index

Blaise Douros
Re: Slowing Video Speed based on Audio Intensity?
on Dec 28, 2016 at 12:36:19 am

Wow, this song is really, abjectly terrible, and I completely regret clicking on the video example. Damn it.

They did this by keyframing the effect speed. The speed is obviously not tied into the audio volume, or it would fluctuate with every single hit, and there's no metric for musical intensity (which is an entirely perceptual concept--there's no way for After Effects to measure it to write an expression that could use it to affect the speed). So the person editing built the particle effects, and then sped it up or slowed it down by keyframing the speed to match the beat.

Sometimes there's not a plugin or expression to make something magical happen--you have to build it yourself, by hand!


Return to posts index

Kevin Camp
Re: Slowing Video Speed based on Audio Intensity?
on Dec 28, 2016 at 1:06:55 am

i'm also in agreement with the song...

but you could potentially link speed to audio with an expression. I do think they did it manually -- as Blaise points out, there are a lot of level fluctuations, and using expressions may not produce the effect you are looking for... but i'll give you a simple process to try.

first, select your layer that has audio, and choose animation>keyframe assistant>convert audio to keyframes. this will create a new layer called audio amplitude, with 3 sliders (left ch, right ch and both ch).

now add the precomp wth the particle system that you want to control. add the timewarp effect and option/alt click the stopwatch for the 'speed' property.

then add an expression like this:

baseRate = 50;
mult = 10;
levels = thisComp.layer("Audio Amplitude").effect("Both Channels")("Slider")
levels * mult + baseRate


this should link the speed of the pre-comp to both channels of the audio. you can set the 'baseRate' and 'mult' values as needed. the baseRate is minimum speed that the layer will play back at (even if audio is zero) and the mult value is simply a multiplier that helps to increase the effect of the audio levels on the speed of the footage.

particular (the effect) itself has a speed property too... in physics>time factor... in theory, if you separated your audio into multiple tracks (like bass, treble or different instruments) you could have various emitters being effects by various different sounds.... could be pretty cool.

similarly, you could use audio to control opacity, size, color, etc of the particles. if you search around you tube, you'll likely find some cool examples.

Kevin Camp
Art Director
KCPQ, KZJO & KRCW


Return to posts index


Blaise Douros
Re: Slowing Video Speed based on Audio Intensity?
on Dec 28, 2016 at 4:50:33 pm

Kevin is 100% right--you can absolutely have effects tied into audio with the expression he's shown. However, the only parameter that can be used as an input is the amplitude (volume) of the audio file; I.E. when a drum hits, the volume is louder, so you set up the expression to do something once a certain volume threshold is hit, so the drum hit trigers a reaction from your VFX. Splitting the frequency range as Kevin suggested is one way to go about making it more interesting, but certain sounds, especially percussion and complex, noise-rich bass lines, will extend across multiple bandwidths. So you will not get quite the desired result when some of those sounds are present. (I'm a composer and musician in addition to working in video)

But I believe Benjamin was ultimately asking about tying the visuals into aesthetic and perceptual changes in the music, like doubling the overall effect speed when the drum track goes into double time (as in the ear-splitting example piece). In that case, you have to do it manually.


Return to posts index

Benjamin Jones
Re: Slowing Video Speed based on Audio Intensity?
on Dec 29, 2016 at 7:02:48 am

I really appreciate your well-informative replies guys! This helps so much! Sorry the song isn't your taste, I just really enjoyed the video effect.

"Splitting the frequency range as Kevin suggested is one way to go about making it more interesting, but certain sounds, especially percussion and complex, noise-rich bass lines, will extend across multiple bandwidths."

"in theory, if you separated your audio into multiple tracks (like bass, treble or different instruments) you could have various emitters being effects by various different sounds.... could be pretty cool."

Indeed so! You can, instead of converting Audio to Keyframes, use Soundkeys for this!
The great thing about Soundkeys is you can use up to 5 frequency ranges and "apply" those keyframes to different parameters of different effects.

So this expression could be defined as the aforementioned technique with the following change:
baseRate = 50;
mult = 10;
levels = thisComp.layer("Soundkeys").effect("Sound Keys")("Output 1")
levels * mult + baseRate


I think I understand the "mult" & "baseRate" values, but if possible, could you elaborate more on these? Thanks so much!


Return to posts index

Benjamin Jones
Re: Slowing Video Speed based on Audio Intensity?
on Dec 29, 2016 at 10:00:13 am

Nevermind on the elaboration, I've tinkered around with the code you provided with my adjustment made and WOW if you use 3 or more instances of Particular with 3 ranges of soundkeys.....MAN this is a REALLY insane and cool effect! Try it!

Thank you so much for your input guys, this has allowed me to achieve what I've wished to achieve. :)


Return to posts index

<< PREVIOUS   •   VIEW ALL   •   PRINT   •   NEXT >>
© 2017 CreativeCOW.net All Rights Reserved
[TOP]