i'm currently creating an audio visualizer animation and i'd really like to have the waveform sitting in the background in the form of columns that represent the shape of the actual waveform of the song.

I know that it is possible to animate anything with a waveform through the f-curve, however that only allows for animating parameters in the dimension of time and I can't find a way to use that feature for my needs, as i want the waveform to be static in space in the form of an object if that makes sense.

The only solution i could think of as of now would be to import the waveform as a picture and then manually scale the columns to match the height of the waveform, however that is way too much work for my procedural-workflow-loving brain ;)

If you have any idea on how to maybe have geometry nodes automatically scale the columns in response to the f-curve, to automatically have the columns match a generated picture of the outline of the waveform or have any other concept on how to solve this, i'd love to hear it :)


1 Answer 1


There's probably some add-on that makes this easier, but sure, it's possible with GN, using simulation nodes:

enter image description here

Here, I'm extruding my single vertex base geometry to make a line made up of 24 points per second (my framerate), each of which takes its height from the sound-animated empty.

This is a live mesh as shown, but if you want a static mesh, just play it until you reach the duration you're interested in, then apply the GN modifier.

You can use this technique to turn any graph in time into a graph in space. It's not limited to sound f-curves, but it works with them.

Obviously, you can do anything you want with that waveform where time is expressed as space-- you can use any kind of mesh editing tools you want.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .