shimga

Open Source Audio Visualizer: 6 Projects Compared

Reviews ✍️ 📅 Published ⏱ 5 min read

Open Source Audio Visualizer: 6 Projects Compared

The best-known open-source audio visualizers are projectM (MilkDrop-compatible, LGPL-2.1), Butterchurn (MilkDrop in WebGL, MIT), cava (terminal bars, MIT) and audioMotion-analyzer (a JavaScript spectrum analyzer, AGPL-3.0). Sonic Visualiser (GPL-2.0) is the open-source pick for analysing recordings rather than making visuals. All of them are free to use; the licence decides what you may do when you build on them.

If you only want a finished music video and do not want to compile or code anything, a ready-made web studio such as Shimga is quicker. This guide is for people who want the source.

Colourful programming code on a computer monitor Photo: Al Nahian on Pexels

Quick answer

The projects compared

Licences and activity were checked on GitHub on 27 October 2026.

Project What it is Language / platform Licence Recently active?
projectM MilkDrop-compatible visualization library C++, cross-platform LGPL-2.1 Yes (commits Oct 2026)
Butterchurn WebGL implementation of MilkDrop JavaScript, browser MIT Yes (commits 2026)
cava Console audio visualizer (bars) C, cross-platform MIT Yes (commits Oct 2026)
audioMotion-analyzer Real-time spectrum analyzer module JavaScript, browser AGPL-3.0 Yes (commits 2026)
Sonic Visualiser Visualisation, analysis and annotation of recordings C++, desktop GPL-2.0 Yes (commits Oct 2026)
OBS Studio Live streaming and recording C/C++, desktop GPL-2.0 Yes (commits Oct 2026)

What each project is good for

projectM

The open-source heir to MilkDrop, the Winamp visualizer. It reads MilkDrop presets, so thousands of community presets work. Use it for party screens, live backdrops or as a library inside your own app. LGPL-2.1 lets you link it from closed-source software if you follow the licence's conditions.

Butterchurn

MilkDrop in the browser via WebGL. Developers use it to add MilkDrop visuals to web players. MIT is permissive: you can use it in commercial projects with attribution.

cava

A cross-platform console visualizer. It draws bars in your terminal from system audio. Beloved on Linux desktops, also handy on macOS and Windows.

audioMotion-analyzer

A dependency-free JavaScript module for high-resolution spectrum analysis, with many display modes. Note the AGPL-3.0 licence: if you use it in a network service, you must offer your source code under the same terms.

Sonic Visualiser

Not for pretty videos. It is a research-grade tool for looking inside recordings: spectrograms, pitch tracks and annotations. Excellent for learning what spectrum analyzers actually show.

OBS Studio

Not a visualizer itself, but the standard free tool for streaming. Add a visualizer as a source to show audio-reactive graphics on stream. See music visualizer for Twitch and DJ streams.

A laptop showing code under blue light Photo: Nemuel Sereti on Pexels

Open-source licences in plain English

Licence Can I use it commercially? Must I share my source?
MIT Yes No, keep the copyright notice
LGPL-2.1 Yes Only changes to the library itself, and users must be able to swap the library
GPL-2.0 Yes Yes, if you distribute a program that includes it
AGPL-3.0 Yes Yes, including when users interact with it over a network

This is a summary, not legal advice. Read the licence file in each repository.

Open source vs a hosted visualizer studio

Open-source project Hosted studio (e.g. Shimga)
Cost Free Free standard exports; Pro optional
Setup Install, build or code Open a web page
Customisation Unlimited, if you code Presets, layers, templates
Output Live visuals, or whatever you build MP4 in 16:9, 9:16, 1:1
Branding (cover art, title, logo) You build it Built in
Support Community The developer

Choose open source if you want to learn, run visuals live, or embed a visualizer in your own app. Choose a studio if you need a music video for a release this week.

Make a video without writing code

  1. Open shimga.app/studio.
  2. Pick a preset or community template.
  3. Add your song.
  4. Change colours, background, cover art and text; add the Time element for a progress bar.
  5. Export MP4. Standard exports up to 5 minutes need no account and carry no watermark.

How to try projectM or Butterchurn quickly

  1. Pick the right one. Butterchurn if you are a web developer; projectM if you want a desktop app or a C++ library.
  2. Read the README. Both projects document their builds and front-ends on GitHub; look for current release downloads before compiling.
  3. Get presets. Both use MilkDrop presets, and large preset packs are shared by the community. Check each pack's licence.
  4. Route audio. Desktop visualizers usually listen to a system audio device; on Windows you may need to choose the right input.
  5. Decide your output. Real-time on a screen works out of the box. For a video file, you will need a capture tool, which is where a studio that exports MP4 directly saves time.

What to check before relying on an open-source visualizer

FAQ

Is there an open-source audio visualizer?

Yes. projectM, Butterchurn, cava and audioMotion-analyzer are all open source, under LGPL-2.1, MIT, MIT and AGPL-3.0 respectively.

Is MilkDrop open source?

MilkDrop-compatible visuals are available as open source through projectM (desktop and library) and Butterchurn (browser).

What is the best open-source visualizer for Linux?

cava for the terminal, projectM for full-screen MilkDrop-style visuals.

Can I use an open-source visualizer to make YouTube videos?

You can, but most are built for real-time display, so you would need to screen-capture or build an export pipeline. A studio that exports MP4 directly is simpler.

Is Shimga open source?

No. Shimga is a hosted web app, not an open-source project. You use it in the browser; there is no library to embed in other software.

Can I use audioMotion-analyzer in a commercial website?

Its AGPL-3.0 licence allows commercial use, but requires you to make your source available to users of the network service. Check the licence and the author's terms.

Related reads

Last updated: October 2026. Licence and activity data from GitHub, checked 27 October 2026.