Audio Visualiser Plugin documentation

Audio reactive visualizers and expressions for DaVinci Resolve, from the ground up.

Product pageConverterUpdated 29 July 2026

How it works

DaVinci Resolve gives Fusion almost no access to audio. Rather than fight that, the Audio Visualiser Plugin sidesteps it: the Converter turns your audio file into an image, and Fusion is very good at images.

That image is a spectrogram. The horizontal axis is time and the vertical axis is frequency: moving left to right moves through your track, moving up and down moves through the frequencies, and how bright a pixel is tells you how loud that frequency was at that moment. Every bit of information the plugin needs is in there.

Because it is just an image, everything Fusion can do to an image you can now do to your audio. That is where the equalizers, the frequency filters and the time effects come from. They are image operations that happen to be operating on sound.

The image on its own never moves. The Player is what walks across it over the length of your timeline, and the Converter turns whatever the Player is currently reading into something a visualizer can draw.

The signal chain

Converted imageTime effects (optional)vz_PlayerFrequency effects (optional)vz_ConverterVisualiserEffects (optional)

Quickstart

  1. 1

    Convert your audio

    Run your audio file through the Audio Visualiser Converter. It reads your track and your project frame rate and writes out a single image. Keep an eye on the length guidance further down this page.

  2. 2

    Import the image and add vz_Player

    Bring the converted image into your Fusion composition and connect it to vz_Player. Nothing animates until you do this, because the image itself is static. The Player reads it left to right between your composition Start and End frames.

  3. 3

    Match the lengths

    Your composition or clip has to be the same length as the converted audio. If it is not, the visualizer drifts further out of sync the longer it plays. This is the single most common reason a first attempt looks wrong.

  4. 4

    Add vz_Converter

    Connect the Player output into vz_Converter. This turns the animated frequency data into the form every visualizer expects. One Converter can feed as many visualizers as you like.

  5. 5

    Add a visualiser and merge it

    Connect the Converter into any vz_Vz node and it starts reacting immediately. Merge the result over your footage however you normally would. That is a working visualizer; everything else on this page is shaping it.

Free edition

Every Fusion node on this page is in the free edition. All 72 of them, including all 35 visualizers, every equalizer, and the Probe with full expression access. Nothing on this page is paywalled.

Full edition

The full edition brings the whole system onto the Edit page as presets, so you can do all of this without opening Fusion at all.

Core nodes

Converted imageTime effects (optional)vz_PlayerFrequency effects (optional)vz_ConverterVisualiserEffects (optional)

The four nodes that are not optional. Everything else on this page is something you add on top of these.

vz_Player

Animates the converted image across your timeline, using the Start and End frames of your composition so the timing lines up with the audio. It also has a bake function that writes its animation out to normal DaVinci Resolve keyframes, which is what lets you cut and trim the clip.

Pause playback before you bake. If the playhead is moving, Resolve bakes from wherever it happens to be and the result is out of sync. After baking you can trim from the left and right edges, but do not slide the clip along the timeline unless the audio moves with it.

vz_Converter

The standard converter. Takes the animated data from the Player and puts it in the form every vz_Vz visualiser reads. It can also drive a Displace node directly, which is how you build your own visualizers out of arbitrary imagery. Every built-in visualizer works this way.

vz_ConverterProbe

Outputs ten frequency sliders you can read from Fusion expressions. This is what makes the plugin open ended: instead of drawing a visualizer, you use the audio to drive any animatable parameter in Fusion. Shakes, zooms, color, speed ramps, anything. It does not need to be connected to anything.

vz_ConverterProbeRange

The Probe with a single slider instead of ten, plus a control for which range of frequencies feeds it. Reach for this when you only care about one thing, for example the kick, and you would rather not work out which of the ten inputs it lands in.

Time effects

Converted imageTime effects (optional)vz_PlayerFrequency effects (optional)vz_ConverterVisualiserEffects (optional)

These go BEFORE the Player. They change how the audio behaves over time, which is only possible while the data is still a static image and the whole track is visible at once.

vz_T.Delay

An echo. Repeats earlier values so a hit leaves a repeating tail behind it. Good for giving a sharp, dry sound something to trail off into.

vz_T.Reverb

A smooth decay rather than a repeat. When a sound cuts off hard, the visualizer eases down instead of snapping to silence.

vz_T.Smoothness

Smooths the audio data over time. Reach for it when a track is too aggressive and the visualizer animates faster than the eye can follow. Note that long tracks already play back smoother than short ones on their own, because past the recommended lengths the engine interpolates the missing detail; this node adds smoothing on top, it is not a fix for that.

Frequency effects

Converted imageTime effects (optional)vz_PlayerFrequency effects (optional)vz_ConverterVisualiserEffects (optional)

These go AFTER the Player and BEFORE the Converter. By this point the audio is already animating, so all that is left to change is which frequencies matter. They will technically work after the Converter, but it costs more to process and the Probe will not see your changes.

vz_F.EQ

The classic, and the fastest. Push or pull bass, mids and highs, lift everything at once, or use the gamma to make only the loud moments register.

vz_F.EQ2

A parametric equalizer, the kind you would recognize from FL Studio or any other DAW. Use it when three bands are not enough.

vz_F.EQ3

The same idea as EQ2 but accurate to every adjustment you make, at a slightly higher processing cost. Use it when EQ2 is close but not quite responding the way you set it.

vz_F.FrequencyRange

A fully adjustable high pass and low pass. Isolate a range, or feather the edges of a visualizer so it fades to still instead of stopping abruptly.

vz_F.GradientEQ

EQ3 with a gradient instead of an EQ curve. White is full volume, black is silence, so you paint the response rather than dialing it in. Same accuracy, different way of thinking about it.

vz_F.Noise

Adds noise to the frequency data. Use it when a visualizer looks too clean or too uniform and you want detail or randomness in it.

Visualisers

Converted imageTime effects (optional)vz_PlayerFrequency effects (optional)vz_ConverterVisualiserEffects (optional)

Connect the Converter output and it works. There is nothing to configure to get a picture. 35 of them ship with the plugin, and the names describe exactly what you get, so the pattern below is faster than reading all 35.

How the names work

Spectrum
The default visualizer
BarWave
The wave drawn as little bars
LineWave
Continuous lines making the visualizer
ShapeWave
Makes a wave out of the shape you feed it
ShapeLineWave
Like ShapeWave, but the shapes are put into lines the way LineWave does
Wireframe
Drawn as a wireframe
Siri
Looks like the Siri waveform
Gradient / GradientHorizontal / GradientVertical
Colored by a gradient, in that direction
Noise
Noise added for detail
Distorted / Dotted / Stripes
The same wave, styled that way

All 35 nodes

  • vz_Vz.BarWave
  • vz_Vz.BarWaveDistorted
  • vz_Vz.BarWaveGradientHorizontal
  • vz_Vz.BarWaveGradientVertical
  • vz_Vz.BarWaveNoise
  • vz_Vz.BarWaveNoiseGradientHorizontal
  • vz_Vz.BarWaveNoiseGradientVertical
  • vz_Vz.BarWaveStripes
  • vz_Vz.BarWaveTaperEllipse
  • vz_Vz.BarWaveTaperNGon
  • vz_Vz.BarWaveTaperRectangle
  • vz_Vz.BarWaveTaperStar
  • vz_Vz.BarWaveTaperTriangle
  • vz_Vz.LineSpectrum
  • vz_Vz.LineWave
  • vz_Vz.LineWaveDistorted
  • vz_Vz.LineWaveDotted
  • vz_Vz.LineWaveGradientHorizontal
  • vz_Vz.LineWaveGradientVertical
  • vz_Vz.ShapeLineWave
  • vz_Vz.ShapeLineWaveEllipseGradient
  • vz_Vz.ShapeLineWaveNgonGradient
  • vz_Vz.ShapeLineWaveRectangleGradient
  • vz_Vz.ShapeLineWaveStarGradient
  • vz_Vz.ShapeWave
  • vz_Vz.ShapeWaveEllipse
  • vz_Vz.ShapeWaveGradient
  • vz_Vz.ShapeWaveNgon
  • vz_Vz.ShapeWaveRectangle
  • vz_Vz.ShapeWaveStar
  • vz_Vz.ShapeWaveTriangle
  • vz_Vz.Siri
  • vz_Vz.Spectrum
  • vz_Vz.WireframeShapeWave
  • vz_Vz.WireframeWave

Visualiser effects

Converted imageTime effects (optional)vz_PlayerFrequency effects (optional)vz_ConverterVisualiserEffects (optional)

These go after a visualizer and reshape or restyle it. vz_Fx.WarpCircle is the one most people want first: it bends a straight visualizer into a ring. The Converter can blend the edges so the seam does not show where the ring closes.

vz_Fx.WarpCircle

Bends the visualizer into a circle.

vz_Fx.WarpCylinder

Wraps the visualizer around a cylinder.

vz_Fx.WarpSphere

Wraps the visualizer around a sphere.

vz_Fx.MirrorWave

Mirrors the wave vertically.

vz_Fx.FastGlow

A cheap glow, tuned for playback speed.

vz_Fx.Rays

Casts rays from the visualizer.

vz_Fx.SolidFill

Fills the visualizer with a solid color.

vz_Fx.HorizontalGradient

Colors the visualizer with a horizontal gradient.

vz_Fx.VerticalGradient

Colors the visualizer with a vertical gradient.

vz_Fx.RadialGradient

Colors the visualizer with a radial gradient.

vz_Fx.TimeColorize

Adds color effects based on time, like leaving color trails behind the movement.

vz_Fx.TimeWarpRGB

Offsets the RGB channels over time.

vz_Fx.LEDEllipse

Renders the visualizer as an LED wall made out of ellipse shapes.

vz_Fx.LEDRectangle

LED wall made out of rectangles.

vz_Fx.LEDTriangle

LED wall made out of triangles.

vz_Fx.LEDStar

LED wall made out of stars.

vz_Fx.LEDNgon

LED wall made out of n-sided polygons.

vz_Fx.LEDText

LED wall made out of text.

Post effects

Your footagePOST EFFECT

These do not draw a visualizer. They apply an audio reactive effect to footage you already have, so you put them after your footage rather than after a Converter. They read the Probe through expressions, which means the Probe does not need to be connected to them at all.

vz_PVz.Zoom

Zooms the image in time with the audio. One of the two that are known safe.

vz_PVz.ZoomBlur

Zoom blur in time with the audio. The other known safe one.

vz_PVz.Shake

Shakes the image in time with the audio.

Save and back up before using. See the note below.

vz_PVz.Glow

Glow driven by the audio.

Save and back up before using. See the note below.

vz_PVz.ColorCorrector

Color correction driven by the audio.

Save and back up before using. See the note below.

vz_PVz.Vignette

Vignette driven by the audio.

Save and back up before using. See the note below.

Expressions

vz_ConverterProbe exposes ten fixed frequency bands as inputs you can read from any Fusion expression. They are real Hz bands, laid out like a parametric EQ, so you can find where the kick sits, where the snare sits, and target just that. Connect the Probe after the Player and leave it there; it does not need to feed anything.

vz_ConverterProbe.Input2bassvz_ConverterProbe.Input11treble

Right click any animatable parameter, choose Expression, and reference an input. Input2 is the bassiest band and Input11 is the most treble, with the other eight spread across the range in between.

  • Because it is an expression rather than a connection, one Probe can drive as many parameters as you want across the whole composition.
  • Anything animatable is fair game: position, rotation, scale, blur, color, camera shake, particles, speed ramps, text, literally anything.
  • Back up your project regularly while working with expressions. DaVinci Resolve can corrupt a project when they are in use, and the cause is still unknown.

Audio length

The converted image can only hold so much timing information, and the ceiling depends on your frame rate and whether you are on Resolve Studio. Stay inside these and you get every moment of your audio. You can go to roughly double them and it will still work, but the timing detail thins out and the movement starts to feel smoother than it should.

Frame rateResolve (free)Resolve Studio
23.9762m 40s22m 15s
242m 40s22m 13s
252m 33s21m 20s
29.972m 08s17m 48s
302m 08s17m 47s
481m 20s11m 06s
501m 16s10m 40s
59.941m 04s8m 54s
601m 04s8m 53s

These are limits of DaVinci Resolve itself, not of the plugin, and the Free and Studio columns reflect the image size each one allows. Version 1.2.0 added interpolation so longer tracks still work: the movement gets smoother instead of laggy, at the cost of timing precision. Avoid extreme lengths such as ten hours or more.

Troubleshooting

The visualizer drifts out of sync

Your composition or clip is not the same length as the converted audio. Match them. Keep the visualizer directly above its audio on the timeline, and use the Player Time Offset for small corrections.

Baking moved everything out of sync

Playback was running when you baked. Pause first, then bake. After baking, trim from the edges rather than sliding the clip, because the animation is pinned to where the audio sits.

Resolve crashed or the project will not open

Every post effect except vz_PVz.Zoom and vz_PVz.ZoomBlur can trigger this, and so can heavy expression use. It is an unresolved DaVinci Resolve bug rather than something the plugin can work around. Turn on automatic backups, save often, and render intermediates when you are relying on those nodes.

A long track animates smoother than expected

Expected past the lengths in the table above. The converted image no longer has room for every moment, so the engine interpolates the missing detail and the movement loses timing precision. If you need every moment exact, keep the audio inside the recommended lengths.

That is every node.

If something is still unclear, ask in the Discord and you will get an answer from the people who build with this daily.