After Effects ships with a couple of basic audio effects that create motion graphics based on the audio levels of an imported file. These work fairly well for the standard application of hi-fi levels, but don’t offer much in the way of customisable options, beyond the range of frequencies and colours displayed within the effect.
In this tutorial we’re taking a different approach altogether to create procedural motion graphics from an audio layer. It’s a little bit more work, but it gives you a wonderfully organic look that responds visibly to the audio and can work as the basis for many motion-graphics projects.
Instead of using a filter to get the audio levels, we’re going to create keyframes from the audio source and use these to power a couple of other effects; you won’t need any software beyond the standard After Effects filter tools to complete the project.
You will need to choose an audio file from your own library to work with however. We suggest something with a wide dynamic range for best results – Sam Hampton-Smith used AC/DC’s Thunderstruck for his version of the project.
After Effects 7 or later
Time to complete
1 hour, plus rendering time
Create a new composition and import an audio file of your choosing. It’s worth looking for a file that has a good wide dynamic range; periods of silence between drumbeats work especially well with this effect. Once your audio file is imported into the project, drag it down into the composition layers.
Highlight the layer and choose Animation > Keyframe Assistant > Generate Audio Keyframes. You’ll see three slider-effect controls added to a null layer, and if you scrub along the timeline you’ll be able to observe the slider values changing to match the levels of audio output from the track you’ve chosen. Delete the Left and Right channel sliders – we don’t need them.
Create a new solid layer by choosing Layer > New > Solid. Choose any colour you like, but make sure you set the solid to be the same size as the composition. In the Effects & Presets panel, find the Wave World effect and drag it onto your new solid layer. Change the Effect View property to Height Map.
The Wave World effect simulates water. We’ll set the amplitude of the waves that are generated from the audio levels we’ve output from our music file. The amplitude is the height of the wave. You can change the frequency of the waves, but to begin with Alt/Opt + click on the Amplitude property under Producer 1 and reveal the effect properties.
Locate the pickwhip for the Amplitude property and drag it down to the Audio Amplitude layer’s slider effect control. The values for the Audio need to be translated from the range produced by the audio to a range suitable for the wave’s amplitude, so we’ll change the expression that has been generated in the next step.
The wave’s amplitude looks good between 1 and 2, and will work up to 5. We need to translate the values generated by the audio keyframes into values between 0 and 2 in wave amplitude. Change the expression to read:
x = thisComp.layer(“Audio Amplitude”).effect(“Both Channels”)(“Slider”);
linear(x, 5, 10,0,2)
This maps values for audio between 5 and 10 to a wave amplitude between 0 and 2. If audio falls below 5, the wave is set to 0. If it’s 10, it’s set to 2.$$
In the Effects and Presets panel, locate the CC Ball Action effect and drag it onto the solid layer. Twirl down the CC Ball Action effect settings, changing the Twist Property value to Brightness, and the Twist Angle value to 140º. This sets the 3D balls at a good angle to the viewpoint and shows the displacement caused by brightness generated through the Wave World effect.
Finally, add an adjustment layer by choosing Layer > New > Adjustment Layer. Add a four-colour gradient by choosing Effect > Generate > 4-Color Gradient. Set the blending mode for this effect to Add and choose colours that suit your project for the four colour stops. Add a glow (Effect > Stylize > Glow) and do a RAM preview to see your audio come to life.