---
title: "Milkdrop-compatible Audio Visuals - DMXDesktop"
description: "Music-reactive visuals powered by Butterchurn, on the same audio that runs your lights. 100 presets, playlists and .milk import. Standard and Pro."
canonical: https://www.dmxdesktop.com/milkdrop-visuals
lang: en
source: /milkdrop-visuals
---

![](/assets/images/optimized/video-playback-hero-400w.jpeg)

 New in v1.0.52

# Milkdrop-compatible visuals, powered by Butterchurn

The Winamp visualizer, grown up and wired into your rig.

Run classic Milkdrop presets on a second screen, driven by the same live audio that drives your lights. No VJ rig, no prepared tracks, no second machine.

[Download DMXDesktop](/download) [Read the setup guide](/knowledgebase/milkdrop)

The Video Window in DMXDesktop can render Milkdrop-compatible presets through Butterchurn, an open-source engine that reads the same preset format MilkDrop made famous. 100 presets are bundled, you can import your own `.milk` files, and the whole thing runs off the live audio DMXDesktop is already listening to. Included with Standard and Pro subscriptions; it is not available on the Free plan.

## Lights and visuals from one machine

Most people running visuals alongside lighting run two programs on two laptops. DMXDesktop puts the visualizer inside the same application as the lighting desk, on the same audio, so the drop that moves the rig moves the screen too. Open the Video tab, switch on the Milkdrop-compatible engine, and launch the window onto whatever display you want.

## Browse presets by eye, not by name

Milkdrop preset names are famously cryptic. The preview grid shows you what each one actually looks like before you commit to it, so picking a rotation takes a minute rather than an evening.

![The Video tab in DMXDesktop showing Pattern Rotation with a grid of Milkdrop preset previews, Cycle Timing and Reactive Presets](/assets/images/optimized/patterns-tab-400w.jpeg)

Pattern Rotation in the Video tab. Preset names keep their author prefix, which is how credit works in the MilkDrop scene.

### Preview grid or plain list

Switch between a thumbnail grid and a compact list. Previews are generated in the background as you browse, and there is a Pause and Resume button next to the progress line. Queued presets are kept, so resuming carries on where it stopped.

### Search and filter

Type to filter the library by name, or use the filter buttons for All, Built-in and Imported. Your choice is remembered between sessions.

### Sort by name, colour or movement

Sort the grid by name, by the dominant colour of the preset, or by how much it moves. Useful when you want a whole set that sits in one palette, or a calm rotation for a walk-in.

### Tick what rotates

Every preset has a checkbox, with Select all and Deselect all to speed up auditioning. Changes apply instantly to any open video window, so you can tune the rotation while it is running.

## Preset playlists

A tick list is fine for one rotation. A playlist is what you want when the order matters, or when one set needs a different look from another.

### Playlist from selection

Tick the presets you want in the grid and save them as a new named playlist in one step, instead of building the list by hand.

### A proper manager

Create, rename and delete playlists, add presets from the same preview grid, and drag members to reorder them. You can also import an existing Milkdrop playlist file, a `.txt` or `.m3u` list of `.milk` presets.

### Preset source picker

Choose All enabled, or any playlist by name with its preset count beside it. The active playlist also appears as a fourth filter button alongside All, Built-in and Imported, so showing only what that list contains is one click.

### Nothing gets quietly dropped

A playlist member that is not in your current library is greyed rather than deleted. It is skipped when playing and kept in case you re-import it later.

## Bring your own presets

Twenty-five years of MilkDrop presets exist in the wild. Import the ones you like with the Import `.milk` button.

### MilkDrop v1 and v2

Import `.milk` and `.milk2` files, several at a time. Imported presets sit alongside the bundled ones in the same grid.

### An honest import report

Presets that use advanced pixel shaders or unsupported equation features may not import. You get a per-preset report telling you exactly which ones did not make it, rather than a silent gap in the library.

### Yours stay yours

Imported presets are filed under their own Imported filter with a count, and each one can be deleted individually. Bundled presets have no delete button, so they cannot go by accident.

## Cycle timing

How long each preset holds before the next one loads, and how the next one is chosen.

### Cycle duration stops

10s 15s 20s 30s 45s 1 min 2 min 3 min 4 min 5 min 8 min 15 min 30 min 60 min Never

A random variation of up to 20 percent is applied on top, so a rotation never feels metronomic.

### Next preset or Random preset

Walk the enabled list in order, or jump around it. Sequential is predictable for a rehearsed set; random keeps a long night from repeating itself.

### Switch on silence

Also switch preset when the music goes quiet, which in practice means at a track change. Set the cycle duration to Never and you get one new look per track and at no other time.

### Live, not on relaunch

Every setting on this tab applies immediately to an open video window, and a LIVE badge on the panel confirms it. Nothing here needs the window closed and reopened.

## Reactive Presets: change the look on the drop

A timer does not know where the drop is. Reactive Presets watches a frequency band and loads the next preset the moment that band spikes past a threshold you set, so a build resolves onto a new look instead of halfway through one.

### Pick the band

Bass, Mid, Treble or Overall energy. Bass is the obvious one for dance music; Overall energy suits a live band, where the whole mix lifts at once.

### Set the threshold

A percentage slider decides how big a spike has to be before it counts. Raise it for a dense mix, lower it for something sparse.

### Rate limited on purpose

A minimum gap in seconds between reactive switches stops a busy track flicking through presets. Three seconds is the default.

### It stacks with the timer

Reactive Presets works alongside Cycle Timing and switch-on-silence rather than replacing them. All three can move the rotation on, so you can have a slow timed drift that jumps early whenever the music earns it.

## The window itself

Launch it once and it stays where you put it.

### Launch Window

One button opens the video window. Drag it to a projector, a TV, an LED processor input or a capture card, and full-screen it.

### It remembers

The display it was on, its position, whether it was set to stay on top, and which preset filter you were using are all remembered between sessions.

### Keep window on top

On by default, because a display output should stay visible. Turn it off if you are on a single monitor and it is covering the desk.

### Show label on change

Name the preset on screen as it loads. Useful while you are building a rotation, and worth switching off once the show starts.

### Patterns off means black

One toggle turns patterns off and gives you a clean black screen without closing the window or losing your selection. Turn it back on and your exact rotation returns.

### Also in the 3D Visualizer

Milkdrop presets can render on the screen source inside the [3D Visualizer](/visualizer), so a virtual LED wall in your previz shows what the real one will.

## It hears what your lights hear

The visuals are driven by the same live audio DMXDesktop uses for beat and energy, so the screen and the rig respond to the same moment in the same music. If your DJ master goes to a dedicated interface rather than the default output, point the Device picker at it and the visualizer follows.

## Credit where it is due

Milkdrop-compatible rendering is powered by **Butterchurn** by Jordan Berg, used under the MIT licence. The bundled presets are the work of the MilkDrop preset community and each keeps its author's name.

MilkDrop itself is Ryan Geiss's original visualizer for Winamp. DMXDesktop does not ship MilkDrop. It renders presets written in that format through Butterchurn, an independent open-source engine that reads them.

Preset authors represented in the bundled pack include:

- Aderrasi
- AdamFX
- Cope
- Eo.S.
- Flexi
- Geiss
- Goody
- Idiot
- Krash
- Loadus
- Martin
- mash0000
- Mig
- ORB
- Phat
- Rovastar
- TonyMilkdrop
- Unchained
- Zylot
- $$$ Royal

- _Geiss - Artifact 01
- Aderrasi - Potion of Spirits
- $$$ Royal - Mashup (197)
- Rovastar - Oozing Resistance
- Cope - The Neverending Explosion of Red Liquid Fire

Preset names are shown exactly as their authors wrote them, prefix and all. That prefix is the credit, so we do not tidy it away.

[github.com/jberg/butterchurn](https://github.com/jberg/butterchurn?utm_source=dmxdesktop.com) [github.com/jberg/butterchurn-presets](https://github.com/jberg/butterchurn-presets?utm_source=dmxdesktop.com) [geisswerks.com/milkdrop](https://www.geisswerks.com/milkdrop/?utm_source=dmxdesktop.com)

## How to get it running

1

### Open the Video tab

Console, then Video, then Patterns. The Video tab needs a Standard or Pro subscription.

2

### Switch on the Milkdrop-compatible engine

One toggle swaps the built-in pattern set for Butterchurn and the full preset library.

3

### Pick your presets

Use the preview grid to tick a rotation, or save a selection as a playlist. Set a cycle duration and, if you want it, Reactive Presets.

4

### Launch the window

Drag it to your second display and full-screen it. Everything you change afterwards applies live.

## Common questions

Is this MilkDrop? No. MilkDrop is Ryan Geiss's original music visualizer for Winamp. DMXDesktop does not ship it. What DMXDesktop ships is a Milkdrop-compatible engine, Butterchurn by Jordan Berg, which renders presets written in the MilkDrop format. Most presets you already have will work.

Can I import my own .milk presets? Yes. MilkDrop v1 and v2 presets are supported, as .milk and .milk2 files, and you can import several at once. Presets that use advanced pixel shaders or unsupported equation features may not import, and you get a per-preset report saying which ones did not.

Do I need a second screen? It is much better with one, but no. The video window is an ordinary window: put it on a projector, a TV, an LED processor input or a capture card, or leave it on your main display while you set it up. Presets can also render on the screen source inside the 3D Visualizer.

Which plans include it? Standard and Pro. The Video Window and everything in it, including the Milkdrop-compatible engine, are part of both paid subscriptions. It is not available on the Free plan.

Does it need DJ software, or tracks analysed in advance? Neither. It runs from whatever audio DMXDesktop is listening to, live: a mixer feed, a laptop, a live band in the room, vinyl, streaming. Nothing has to be prepared first.

Is this a replacement for full VJ software? It replaces the common case, which is generative audio-reactive visuals running unattended next to a light show. It is not a media server: there is no clip launching, no layer compositing and no timecoded video. If you want your own footage on screen, the Video Playlist mode in the same tab plays MP4, MOV, WebM and MKV files.

How long does each preset stay on screen? You choose, from 10 seconds up to an hour, or Never for no timer at all. On top of the timer, presets can switch when the music goes quiet at a track change, and Reactive Presets can switch them on a spike in the frequency band you pick.

Included with Standard and Pro

The Video Window and the Milkdrop-compatible engine are part of both paid subscriptions.
They are not available on the Free plan.

[View pricing](/pricing)

## Read next

- [Milkdrop visuals: full setup guide](/knowledgebase/milkdrop)
- [Video and pattern playback](/video-playback)
- [3D Visualizer](/visualizer)
- [Audio configuration](/knowledgebase/live-audio)

## Put the screen on the same beat as the rig

Download DMXDesktop and run lights and visuals from one machine.

[Download now](/download) [View pricing](/pricing)
