Product page

Audio Visualiser Plugin documentation

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

Product pageConverterUpdated 25 August 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: left to right moves through your track, up and down moves through the frequencies, and how bright a pixel is tells you how loud that frequency was at that moment. Everything 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.

On performance: the plugin is designed for real-time playback and the internal parts do run in real time. If you see lag it is the visualizer doing the drawing, not the engine reading the audio. Some visualizers are cheap and some are expensive, so which one you pick decides your playback speed.

The Probe runs in real time too. What slows down is Resolve itself: the more parameters you wire the Probe into, the more expressions Resolve has to evaluate every frame, and past a certain point that is where the lag comes from rather than from the plugin.

The signal chain

Converted imageTime effects (optional)vz_PlayerFrequency effects (optional)vz_ConverterVisualizerEffects (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.

Installation

Preparation

  1. 1Download and extract the "sh4rk's Audio Visualiser Plugin" package.
  2. 2Open DaVinci Resolve.
  3. 3Create a new timeline and navigate to the Fusion page.

Automatic install

  1. 1Open the extracted folder and drag the installer.lua file from the Installer folder into the nodes area.
  2. 2Follow the prompts to complete the automated installation.
  3. 3Restart DaVinci Resolve.
  4. 4To verify, open the Fusion page and press Shift + Space and search for 'vz_'.

Manual install

  1. 1From the extracted folder, open the Macros folder.
  2. 2Copy the 'Audio Visualiser Plugin' folder.
  3. 3Navigate to your DaVinci Resolve Macros Folder.
  4. 4Create a new folder named 'sh4rk'.
  5. 5Paste the folder you copied into the 'sh4rk' folder you just created.
  6. 6From the extracted folder, open Macros\Fuses and copy the 'sh4rk_info_encrypted.fuse' file.
  7. 7Paste the copied file into your DaVinci Resolve Fuses Folder.
  8. 8Restart DaVinci Resolve.
  9. 9Return to DaVinci Resolve, open the Fusion page, and press Shift + Space to search for 'vz_'.

Editions

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 Fusion.

Core nodes

Converted imageTime effects (optional)vz_PlayerFrequency effects (optional)vz_ConverterVisualizerEffects (optional)

The core nodes. vz_Player and vz_Converter are what every visualizer needs. The 2 Probe nodes are only needed when you drive parameters with expressions, which includes the post effects further down.

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.
vz_Converter
The standard converter. Takes the animated data from the Player and puts it in the form every vz_Vz visualizer 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 10 frequency sliders you can read from Fusion expressions. This is what makes it 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 reads from the Player, and its output does not need to connect to anything.
vz_ConverterProbeRange
The Probe with a single slider instead of ten, plus a control for which frequencies feed it. Use it when you only care about one thing, say the kick, and would rather not work out which of the ten inputs it lands in.

Time effects

imageTime effectvz_Player

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.
vz_T.Smoothness
Smooths the audio data over time. Use it when a track is too aggressive and the visualizer animates faster than the eye follows. Long tracks already play back smoother than short ones, because past the recommended lengths the engine interpolates missing detail; this node adds smoothing on top, it does not fix that.

Frequency effects

vz_PlayerFrequency effectvz_Converter

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 know 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.
vz_F.Noise
Adds noise to the frequency data. Use it when a visualizer looks too clean or uniform and you want randomness in it.

Visualizers

vz_ConverterVisualizer

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

Some of the visualizers

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 shapes go into lines like LineWave
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

Visualizer effects

visualizerEffect

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.

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 of ellipses.
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. Also known safe.
vz_PVz.Shake
Shakes the image in time with the audio.
vz_PVz.Glow
Glow driven by the audio.
vz_PVz.ColorCorrector
Color correction driven by the audio.
vz_PVz.Vignette
Vignette driven by the audio.

Expressions

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

vz_ConverterProbe.Input2 bassvz_ConverterProbe.Input11 treble

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.

Frequently asked questions

Yes, the plugin is fully compatible with DaVinci Resolve 21 and supports all stable releases from version 19.1 and above.

The vz_Player node handles sync. Check that your converted spectrogram image is imported, and that vz_Player is wired into the node tree.

vz_Converter feeds audio data into the visualizer nodes. vz_ConverterProbe is the advanced one: it lets you drive any animatable parameter in Resolve with an expression.

This usually occurs if you clicked the Bake Keyframes button while the playhead was moving. Always pause playback before you click bake. If it is moving, wherever the playhead happened to be becomes the start point, and the whole thing drifts.

Yes. It runs identically on the Free and Studio versions of DaVinci Resolve.

Absolutely. The system is resolution independent and will scale perfectly to any timeline resolution you are working with.

Yes. By using the vz_ConverterProbe node, you can extract a 0-1 value from your audio data and use a simple 'Link' expression to control any parameter in Fusion.

Use the vz_F (Frequency) nodes. These allow you to filter the audio data to specific ranges before it hits the visualizer nodes.

No. The Free Edition is focused on the core Fusion toolkit for advanced users. The Full Edition adds 18 drag and drop visualizers and 7 effects designed specifically for the Edit Page workflow.

All PVz nodes except PVz_Zoom and PVz_ZoomBlur are corrupted. They may crash and corrupt your project due to an unresolved DaVinci Resolve bug. Delete those nodes or disable the adjustment clip/fusion composition before saving your project, and enable auto backups and render often when a PVz node is in the flow. You can also do all visualizers in a different project, render them using prores for max quality and import the prores render in your main project. I will announce on Discord and on this website when DaVinci Resolve fixes this bug.

Make sure your timeline playback resolution is set to 'Full'. It cannot run at 'Half' or 'Quarter' timeline resolution, because it drives the visuals from a strip of brightness values 1 pixel tall. When using lower resolutions, that 1 pixel is divided down to zero, which hides the visualizer.

First add the converted image to your media pool and drag it in from there. Dropping the file straight from your file explorer will not work due to DaVinci Resolve limitations.

There is no hard limit any more. There is a practical one. It used to cap out at about 22 minutes in Studio and 2.4 minutes in Free; version 1.2.0 added an engine that interpolates the data, so a long track loads fine now. Past the old limits you lose timing detail, and the movement reads smoother but less exact. The numbers on the Audio Visualiser Converter page are the ones I would stay inside. Do not feed it 10 hours.