At the moment I've got a script that generates a bunch of bars, and bakes a narrow range of frequencies to each bar's Z scale. It ends up being a pretty simple spectrogram that I composite onto the bottom of the video.

The only problem is that there's a lot of "bleeding" across frequencies. It looks like the same kind of thing you see on a spectrogram if you set the window to something really small.

If I have an audio file with a 440Hz tone, you can bake frequencies as low as 100Hz or has high as 1100Hz and still be able to see a little of the 440Hz tone influencing it, and there's a lot of really significant interference down until around 200Hz and up to 700-800Hz. Is there any way to make blender more accurate when baking sound to F-Curves?

  • $\begingroup$ Why not use a shelf filter in Audacity to eliminate out of range frequencies to stop that cross talk. You could do separate passes for each band? This means that you would need multiple audio files to represent the original efefct. $\endgroup$
    – 3pointedit
    Mar 20, 2017 at 1:41

1 Answer 1


It's not an answer, but I've worked around it by processing the audio data in Sonic Visualizer, saving the spectrogram as a PNG, then importing the data into blender through a script I wrote. It basically splits the image into several long strips, each representing a bar, and treats each pixel in the X direction as a new frame. It sets the height of the bar based on the brightness of the brightest pixel in the current chunk, with some stuff to smooth out the motion, and then keyframes it. After I've cleaned it up a bit, I'll edit this to include it.


You must log in to answer this question.

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