SkillAgentSearch skills...

Projectm

projectM - Cross-platform Music Visualization Library. Open-source and Milkdrop-compatible.

Install / Use

/learn @projectM-visualizer/Projectm
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Windows Build Status Linux Build Status macOS Build Status Emscripten Build Status Android Build Status

Discord Shield Chat with us on Discord

Logo

projectM - The most advanced open-source music visualizer

Experience psychedelic and mesmerizing visuals by transforming music into equations that render into a limitless array of user-contributed visualizations.

projectM is an open-source project that reimplements the esteemed Winamp Milkdrop by Geiss in a more modern, cross-platform reusable library.

Its purpose in life is to read an audio input and to produce mesmerizing visuals, detecting tempo, and rendering advanced equations into a limitless array of user-contributed visualizations.

Important: This repository only contains libprojectM for use in application development!

This repository now only contains the projectM shared/static library. All frontends, plug-ins and other tools were outsourced into separate repositories. If you're not a developer and just look for a download to run projectM visuals on your machine or device, please use one of the links listed below. The releases section in this repository only contains source-code and binary releases of the projectM development libraries and headers, which aren't useful for end users.

End-User Applications

Important: projectM is currently undergoing heavy development, so the available end-user frontends are either outdated or unavailable. We've released a few development previews, which are not feature-complete and may have bugs. As soon as we've finished the current modernization of libprojectM, we'll release new and tested versions of most of the frontends listed below, while we may remove or replace some of those which are no longer maintained by their original developers.

Windows

macOS

Linux

  • Standalone (currently only available as a development preview for Ubuntu 22.04 and compatible distributions)
  • Steam (Same as standalone development preview)

Or check your distribution's package manager for a binary release. If it is outdated, please contact the package maintainer, as the projectM development team does not maintain any of the distribution-specific packages.

Android

Note: Both the free and paid apps plus the Android TV app are not created or supported by the projectM developers! If you have technical troubles or other inquiries, please contact the app author via the means provided in the Play Store. Any bug reports in the projectM issue tracker regarding the apps will be closed immediately.

Xbox / Windows Phone

Other

Source code and other resources, mostly aimed at developers.

Discord chat

Chat with us on Discord!

Click For Demo Videos

<a href="https://www.youtube.com/watch?v=jJmLQGhYWys&list=PLFLkbObX4o6TK1jGL6pm1wMwvq2FXnpYJ"> <img src="https://i3.ytimg.com/vi/QlfqpVvo4zM/maxresdefault.jpg" width="800" alt="4k ProjectM render demo playlist" /> </a>

Presets

The preset files define the visualizations via pixel shaders and Milkdrop-style equations and parameters.

The projectM library does not ship with any presets. The frontends come with varying preset packs which can be found in separate repositories in the projectM repository list:

Included with projectM are the bltc201, Milkdrop 1 and 2, projectM, tryptonaut and yin collections. You can grab these presets here.

You can also download an enormous 130k+ presets from the MegaPack here (4.08GB zipped, incl. textures).

Also Featured In

Kodi Kodi (formerly XBMC)

Helix Helix

Silverjuke Silverjuke (FOSS Jukebox)

VLC Media Player VLC Media Player (AKA VideoLAN Client)

Reminder: These are all third-party integrations of libprojectM and not developed or supported by the projectM development team. Please report bugs in those applications to their respective developers.


Screenshots

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot


Architecture

Building from source

See BUILDING.md and the developer documentation in the wiki.

Using the library

At its core projectM is a library, libprojectM. This library is responsible for parsing presets, analyzing audio PCM data with beat detection and FFT, applying the preset to the audio feature data and rendering the resulting output with OpenGL. It can render to a dedicated OpenGL context or a texture.

To get started using projectM in your own projects, please go to the wiki and read the developer documentation available there.

There are some open-source applications that make use of libprojectM which can be found in the projectM organization's repositories and elsewhere.


See Also

View on GitHub
GitHub Stars4.1k
CategoryDevelopment
Updated23h ago
Forks451

Languages

C++

Security Score

100/100

Audited on Mar 26, 2026

No findings