Tutorial 204: 3D Visualizer

Joe Clay | Feb 20, 2020

In this tutorial, we're taking audio and using it to drive a setup similar to the one we made in Tutorial 166: Free 3D Terrain. By adding some simple expressions to Wave World's Frequency and Amplitude parameters in each producer, we can make our own visualizer. It's like a plane of water that is affected by sound.

While this can be done in vanilla AE by following our other tutorials, Tutorial 70: Pump up the Jam and Tutorial 162: Beat-based Time Shifting, we definitely would recommend Trapcode Sound Keys for best results.

That allows us to easily split of frequency ranges and make a more unique visualizer that can pulse with different elements of your audio.


These are the expressions for using Sound Keys. If you're using vanilla AE, you'll need to normalize your audio (find the highest peak in your audio graph and divide by that) and then multiply by your amp/freq variable. The first one obviously goes in a producer's Amplitude parameter and the second one goes into Frequency.

amp = thisComp.layer("Controller").effect("Amplitude Multiplier")("Slider");
thisComp.layer("SoundKeys").effect("Sound Keys")("Output 1") * amp;
freq = thisComp.layer("Controller").effect("Frequency Multiplier")("Slider");
thisComp.layer("SoundKeys").effect("Sound Keys")("Output 1") * freq;

This is an experimental adjustment to the Wave Speed parameter. I ended up turning it off.

speed = thisComp.layer("SoundKeys").effect("Sound Keys")("Output 1");
value - (speed * .2);

Grab the Project Files

The best way to get our project files is to become a patron on Patreon. For $5 a month, you get access to all of the tutorial project files we've made available as well as other monthly projects, rigs, R&D, elements, early product previews, and BTS content not available anywhere else! You can also purchase just this project file on our Gumroad Store if you would rather do that.

Get access to all of our project files on Patreon or Get this single project file on Gumroad