MilkDrop


MilkDrop is a hardware-accelerated music visualization plugin for Winamp and Kodi, which was originally developed by Ryan Geiss in 2001. It uses DirectX and beat detection to render iterated images which blend seamlessly. MilkDrop uses a complex system of interpolation to transition between presets gradually through time, creating a constantly changing visual experience.

Presets

MilkDrop is an environment for running presets, software which controls MilkDrop, and does not produce visualizations by itself.
Presets are saved in file format, typically in a subfolder of the MilkDrop plugin directory. Creating new presets is generally referred to as authoring, or writing, making the person that wrote a preset its author. Presets are distributed on the Internet through Winamp, the Winamp forums, and through the personal webpages of MilkDrop preset authors. A preset's title also doubles as its save name, and usually includes the preset author or authors' pseudonym. Since MilkDrop presets were frequently shared on forums, they often have more than one author and such variations are referred to as remixes, edits, or mashups. Hence these presets will often include these terms within the preset's title.

History

MilkDrop was the successor of an earlier music visualization software by Ryan Geiss, the Geiss Plugin for Winamp, which was released in 1998. The software generated visuals by utilizing the CPU with highly optimized, hand-tuned assembly code.
MilkDrop v1.0 was released by Ryan Geiss in 2001 and was specifically designed with GPU hardware support in mind. 12 versions of MilkDrop were released between November 2001 and July 2003. The source code of MilkDrop v1.04 was released under the BSD license in May 2005. Geoff Potter did further development and released 6 beta versions. MilkDrop has been ported to multiple platforms: such as XBMC, a media player for Xbox, PC, or LiveCD.
MilkDrop v2.0 was released in 2007 and introduced Per Pixel Shader support. New features included DirectX 9.0 support and the ability to use pixel shaders within presets. Milkdrop is implemented in Winamp v5.66 and ProjectM. The source code for MilkDrop 2.25c was released under the BSD license in May 2013. MilkDrop 2.25d was released in December 2022 but it broke backwards compatibility with some presets.

Reception

According to the Winamp main download page, the milkdrop plugin and its predecessor Geiss were the most downloaded plugins overall, with 2,737,890 and 4,686,010 downloads, respectively.

Codebase Forks

projectM

projectM is an implementation of MilkDrop using OpenGL in C++, and is released under the GNU LGPL. It is available as a plugin for Audacious, XMMS, Winamp, iTunes, Jack, PulseAudio, foobar2000, Windows Media Player, VLC media player and XBMC, and also as a standalone desktop application. The VLC versions 2.2.x does not support the projectM plugin. however it returned to VLC 3.0.0. It comes natively with Clementine, Poweramp, and Qmmp that are also available in the Play Store on Android.

Milkymist

Milkymist One, made by Flickernoise Software, is a video synthesizer that is largely inspired by MilkDrop and is compatible with MilkDrop presets to some extent.

DS-MilkDrop

DS-MilkDrop, made by Sky-Skan, is a plugin for the DigitalSky 2 software that allows a computer cluster to render MilkDrop visuals within a planetarium dome using a multi-projector setup.

Butterchurn

Butterchurn is a web implementation of the original source code of MilkDrop released on the Winamp forum in 2007. Butterchurn v2.6.7.1e-complete is easy to implement with example webpage and extended functions and implementation manual.

BeatDrop

BeatDrop is a standalone implementation based on the original MilkDrop plug-in. The BeatDrop for Spout fork added support for Spout video streaming. The Incubo fork adds enhanced beat detection, extra custom shapes/waves, new transitions, real-time song information, Spout support, projectM-eval integration, shader caching/precaching, and screen-dependent render mode.

NestDrop

NestDrop is a software designed specifically for VJs to easily perform with the MilkDrop presets. Support for Spout video output has been added which allows for the real-time video stream to be shared directly on the GPU with any VJ software. Another extension of MilkDrop is the addition of "Spout Sprites" which allows for any Spout video stream to be used as a texture for the sprites in MilkDrop and therefore allow for webcam video to be injected into the generative visuals. Also four different MilkDrop engines can be active concurrently and controlled by the queue windows. The NestDrop dev team manually curated through 52,000 presets to create a highly organized "Cream of the Crop" collection containing the best 9,795 presets.

MilkDrop 3.0

MilkDrop 3.0 is an updated fan version of MilkDrop released on the Winamp forum in 2023 by MilkDrop2077.
MilkDrop3 supports any audio sources, double-presets, loading presets based on beat detection, new waveforms, new transition effects, injecting effects in the shaders, saving any image directly in the preset, and up to 16 custom shapes/waves. A new type of 2 file format has been introduced which combines two presets and displays them simultaneously.

MilkDropLM

MilkDropLM is a large language model designed to interpret and generate scripts in the MilkDrop scripting language. Built upon the Qwen2.5 model, it was trained on a dataset comprising over 10,000 MilkDrop presets organized into categories and subcategories. The model is available in two different configurations, featuring 7 billion parameters and 32 billion parameters.