Get projectM! Available in the App Store
Available in Android Market

Want to help projectM?
Not enough people know about projectM. Help projectM get included in your distribution, ask your favorite media player to add support for projectM, and tell your friends!





Contact
Pete Sperl
Carmelo Piccione

SourceForge.net Logo

projectM for iOS and Android - Now Available!

projectM is an awesome music visualizer. There is nothing better in the world of Unix. projectM's greatness comes from the hard work of the community. Users like you can create presets that connect music with incredible visuals. Try it!

projectM 2.0 - Pixel Shaders

projectM 2.0, on Gentoo Linux, running some Milkdrop 2.0 presets

projectM 2.0 - Pixel Shaders

projectM 2.0, on Gentoo Linux, running some Milkdrop 2.0 presets

projectM 2.0 - Pixel Shaders

projectM 2.0, on Gentoo Linux, running some Milkdrop 2.0 presets

projectM 2.0 - Pixel Shaders

projectM 2.0, on Gentoo Linux, running some Milkdrop 2.0 presets

projectM 2.0 - Pixel Shaders

projectM 2.0, on Gentoo Linux, running some Milkdrop 2.0 presets

projectM 1.2 Mac OS X with Qt + JACK

projectM 1.2 with Qt GUI, running on OSX. Sound passed to projectM from iTunes vis JACK

projectM 1.1 preset ratings

projectM 1.1 has a new preset rating system that helps projectM show you the presets that you want to see.

projectM 1.1 with Qt + PulseAudio

projectM 1.1 with a new Qt tnterface and support for PulseAudio. Soon you can use projectM to visualize any sound source on your PulseAudio supported system, and rate, select, and search presets with our new Qt interface.

projectM 1.0

projectM-xmms running on Gentoo Linux

projectM 1.0

projectM-xmms running on Gentoo Linux

projectM 1.0

projectM-xmms running on Gentoo Linux

projectM 1.0

projectM-xmms running on Gentoo Linux

projectM 1.0

projectM-xmms running on Gentoo Linux

projectM 1.0

projectM-xmms running on Gentoo Linux

projectM 1.0

projectM-xmms running on Gentoo Linux

projectM 1.0

projectM-xmms running on Gentoo Linux

projectM 1.0

projectM-xmms running on Gentoo Linux

projectM 1.0

projectM-xmms running on Gentoo Linux

projectM 1.0

projectM-xmms running on Gentoo Linux

projectM 1.0

projectM-xmms running on Gentoo Linux

projectM 1.0

projectM-xmms running on Gentoo Linux

projectM 1.0

projectM-xmms running on Gentoo Linux

projectM 1.0

projectM-xmms running on Gentoo Linux

projectM 1.0

projectM-xmms running on Gentoo Linux

projectM 1.0

projectM-xmms running on Gentoo Linux

projectM is an LGPL'ed reimplementation of Milkdrop under OpenGL. All projectM requires is a video card with 3D acceleration and your favorite music.


6/4/12 - projectM for iOS Released!

We are extremely proud to bring projectM to the iPad, iPhone, and iPod Touch. Unlike most music visualizers on iOS, projectM comes with a built in media player with full access to your iTunes library. When no music is playing, projectM will use microphone input. projectM requires iOS 5.0 and above.

We are dedicated to providing the best music visualizer on iOS! Please send us your comments and feature requests.

Download it now!


5/26/12 - Switched to Git.
For various reasons we have switched from subversion to git! Access information is here. The subversion repository will stay online for one week longer. After that, it will be taken down to avoid any confusion. Email us for questions or concerns, and happy Memorial Day weekend!

5/24/12 - projectM 2.1 Released
Hello from 2012. We got a new release for you. Surprisingly, we didn't refactor the code base this time. Instead, this release represents fixes from the open source community and fixes discovered when porting projectM to android.
  • Fixed several memory leaks (when projectM gets destroyed, or when a preset gets destroyed)
  • Resolved some parser errors and an embarrasing evaluation bug (in particular, 2^x does not equal x^2)
  • +/- keys support to edit the ratings
  • libvisual / gstreamer compatible
  • Various cmake build fixes and improvements

This was truly a community driven release- many people contributed to this one. Kudos to ximion, mastertrenten, the Clementine developers, and several others! Get the latest source code here.


12/19/11 - projectM for Android Released
Merry Christmas! We have ported projectM to OpenGL ES 2, and created a top notch Android app! Complete with a preset browser with ratings support, a live wallpaper mode, and auto switching between microphone input and the music playing on your phone.

Get it from the Android market and feel free to send us feature requests and comments.

projectM at the Android Market

12/1/09 - projectM 2.0 Released
We apologize for taking our sweet time (17 months) getting this out. Truth is, projectM 2.0 has been 98% ready for almost a year and a half, as many of our users have noticed by pulling the code from SVN.

We put some finishing touches on in the last few days and it's time to get it out. We have packaged the presets in separate packages for your convenience. If you would like to use the new Milkdrop 2.0 support, remember to install the Nvidia Cg toolkit, enable USE_CG during compilation, and install the Milkdrop 2.0 presets. I have personally tested this on a Radeon 4670 and Geforce 7900GS with great results. Please report back to me if there are any issues.

As always, we need your support to get projectM out to more people. Please ask your favorite media player or distribution to include projectM support!

8/28/08 - projectM 2.0 - Pixel Shaders & Milkdrop 2.0 Support
projectM 2.0 is a huge step forward. Pixel Shaders have been integrated via NVidia's Cg toolkit, for cross-platform shader acceleration. This, of course, allows Milkdrop 2.0 preset compatibility! It's awesome.

projectM (has been/is being) completely restructured. This will set the framework for new ways of writing presets. Milkdrop presets will become just one way of using the projectM framework. How do you want to write presets? PHP, Python, or Ruby? Let us know!

About the Mac port... Our macbook broke. So now any hopes for a polished up mac binary rest upon a) getting another macbook or b) Alligator returning and saving the day.

projectM 2.0 is in subversion and we have reports of it working on many different distributions and with multiple video cards, so the handy among you should feel free to try it out. Just remember to use Milkdrop 2.0 presets if you want to see the new stuff! We'll make a formal release once our hackathon stops.

4/20/08 - projectM 1.2 Coming Soon. Mac OS X support for Qt GUI and JACK
After messing around with some things, we discovered that our JACK port runs beautifully on Mac OS X. Yes, Mac users will get the full Qt GUI with JACK support, meaning that ANY sound-producing application can be visualized with projectM on a Mac. Stay tuned! We'll be releasing binaries any day now.

Other Improvements:
* Numerous build system fixes
* Multiple image loaders (embedded SOIL or DevIL)
* Mac OS X support for Qt GUI and projectM-jack

3/30/08 - projectM 1.1 released
4 months after we said "coming soon", we finally follow through. You see, making releases is a pain in the @$$, so we kept writing features instead. Anyone want to help out projectM and become our release manager?

Like 1.0, this is a huge release, and we hope you'll send us some feedback.
* Performance improvements
* PulseAudio Support
* Qt Gui (search, rating, preset browsing, and playlists, for jack and pulseaudio only)
* Improved compatability with some 3D cards
* Multi-Threading during smooth preset switching (no slowdowns)

See the full changelog here.

12/13/07 - projectM 1.02 for iTunes OSX released, projectM 1.1 coming soon
Mac users can now enjoy projectM 1.02 courtesy of our man Alligator. Get it and let us know what you think in the forums.

projectM 1.1 is shaping up nicely. We're putting the final touches on it now and getting ready for a release. Here are some of the features and improvements we've been working on for you.
* PulseAudio Support
* Qt Gui (search, rating, preset browsing, playlists, and more!)
* Improved compatability with some 3D cards

10/10/07 - projectM 1.0 Released
The single biggest release in our history. projectM 1.0 is much more compatible with Milkdrop, and looks better than ever.
* Smooth Preset Transitions
* Improved Milkdrop Compatibility
* Sharper Rendering (OpenGL Framebuffer Objects)
* Textured Shapes via Preset files (Better than Milkdrop's Sprites)
* JACK support added
This initial source release of projectM 1.0 includes support for XMMS, JACK, and libvisual. iTunes and Windows Media Player support is in the works and will be available as soon as possible. Enjoy 1.0, and give me feedback!

6/21/07 - projectM 1.01 Beta for Mac OS X Released!
After 357 days without an update, we have a very functional preview release for Mac OS X users. The 1.0 branch has Framebuffer Objects for sharper rendering, aspect correction, and a new architecture to support Smooth Preset Switching (which isn't done yet). When we finish some more things, we will release the full source, as well as an iTunes for Windows port, and maybe even a WMP plugin and a linux version with JACK support.

Mac users should thank Alligator for this, he's the only reason projectM on OS X is possible. Rock on!
6/29/06 - projectM 0.99 Released!
We've moved the projectM config file to ~/.projectM/config, added the ability to close xmms plugins via the window decorations, added song title support for xmms-projectM, and removed the mouse cursor when fullscreened in xmms-projectM. You can thank n0dalus for the mouse cursor, title, and window closing stuff.

See the full changelog here.
4/18/06 - projectM 0.98 Released!
This is the best projectM release yet. We have improved milkdrop compatability tremendously, added libvisual 0.40 support, moved from GLF fonts to FTGL TrueType fonts, fixed the framerate limiter/display, fixed some memory leaks, cleaned up autotools, and compile the source as C++, among other things.

We also have an experimental version of xmms-projectM that uses pbuffers. If you are adventureous and want better rendering quality, try xmms-projectM-pbuffers. Note that you should raise the texsize to at least 1024 in the projectM config file if xmms-projectM-pbuffers works for you.

I would like to thank Chris Byrne of monstavision for being a good GPL community member, Hai Zaar and n0dalus for their patches, Frank Roscher for keeping me on my toes, and Dennis Smit of libvisual for everything he does.

See the full changelog here.
12/28/05 - An Experimental Mac iTunes w/ATI graphics release, and a full release soon!
We've got a new iTunes version that may fix a lot of users' problems with ATI compatibility on Mac OS X here. If you have a Mac w/nvidia, you are best served by sticking with the older release (0.97.2) for now. As always, email me if you can to let us know if it works (or doesn't).

Pretty soon we'll have a new relase for everyone that splits projectM up into individual packages, with libprojectM as a standalone shared library and all the implementations as their own package. We'll roll in the updates to the mac version above and try and bring you the best version of projectM yet.
5/6/05 - projectM 0.97 Released!
Nullsoft released the Milkdrop source code so I have fixed the behavior of waveforms 2, 3, & 5, zoom, and custom shapes (tex_ang and tex_zoom). I also added the Darken, Brighten, and Solarize filters. Things look much better with these added features. We also have some stability patches for xmms-projectM in this release courtesy of Richard McKnight.

So this is just the beginning. Now that the Milkdrop source is out, expect good things. This is just a quick release to show how much progess we've made in just a few days with the source. Expect more.
3/31/05 - projectM 0.96 Released!
This is a big release for us. projectM has been turned into a library to ease integration into anything that plays music. projectM itself needs nothing other than OpenGL. We now have support for libvisual. projectM for XMMS no longer requires SDL 1.3 from CVS, the current stable SDL is all you need.

This release contains source and (some) binaries for the following: the projectM library (projectM), projectM for XMMS (xmms-projectM), projectM for libvisual (lv-projectM), projectM for iTunes (iprojectM), and a small test app (projectMvis).

As stated above, projectM has been turned into a library. A developer only needs an OpenGL context to use projectM now. You open up a window with an OpenGL rendering context, and that's it. Look at projectMvis, it's a great example of how easy and simple it use to use projectM as a library.

Click here to download

The major changes in this release:
* projectM - Refactored into a library only dependant upon OpenGL
* xmms-projectM - no longer requires SDL 1.3 from CVS
* lv-projectM - NEW! Support for libvisual!
* iprojectM - Mac OS X now has pbuffer support, which means crisper visuals
* projectMvis - NEW! An SDL test app.
There are a lot of people to thank for getting this release out. The most notable are our very own Alligator Descartes and Dennis Smit of libvisual. Dennis' friend Sepp also fixed a nasty memleak for us. That was clutch.
11/22/04 - projectM 0.95 for iTunes (Mac OS X 10.3) Released
First release of projectM for iTunes on Mac OS X! Everybody waiting for this owes our newest (and recently most productive) developer, Alligator Descartes, a big thank you.

ATI cards are not supported with this release. We hope to resolve this soon. This release still has some minor bugs beyond the ATI issues.

Following this release will be a full release of projectM 0.95, which is a big release for us. In terms of projectM's functionality, not much has been added to 0.95, but Alligator has turned projectM into a library that is really easy to link against. One only has to open an OpenGL context to use projectM now!

Also, since this is a new release, any feedback is welcome. Send us bug reports, success reports, or general comments, more is better. You can mail me.
9/2/04 - projectM (Standalone) for Mac OS X 10.3 Update
There is a new Mac release ion the downloads area with some bug fixes, so more presets should render correctly now. iTunes integrated version still to come.
8/16/04 - First Release of projectM (Standalone) for Mac OS X 10.3
You heard it right! projectM is now running BEAUTIFULLY under Mac OS X 10.3. This release is a standalone program meant to illustrate that projectM indeed works under Mac OS X and to fix bugs. After bugs are squashed, the full version that supports iTunes will be released. So, if you want to see the iTunes version released quickly, then try this program out, and send me screenshots and bug reports! Get it in the download area.
7/30/04 - First Release of projectM for Windows
Thanks to the great work of Andrew Millin, we can now release the first port of projectM to the Win32 platform. This first release is a binary release, but the source will follow shortly. Also, this release is a plugin for the winamp media player. Its kind of redundant since MilkDrop is for winamp, but consider it more of a stepping stone :) Get it in the download area.
6/18/04 - Screenshots of Andrew Millin's Windows Port
Here are two screenshots of Andrew Millin's Windows port, which is soon to be released. The screenshots show projectM running under WinAmp on a Laptop PC not capable of running Milkdrop. Read the news item below for more info.

Screenshot 1
Screenshot 2
6/17/04 - Email, New Release eventually, and the Windows/Mac Ports
I have changed my email address to the left. Please remove the REMOVE from the address if you want it to work. My old address will work for a while, but not for long.

There will be a new release eventually, as we have a few more bug-fixes that make some more presets work. We have a minor problem with people exploiting bugs in Milkdrop, and I really don't want to have to add intentional bugs to projectM.

Andrew Millin of ObviousFX LLC. just told me he has projectM running on a Windows box under Winamp. And get this.... The machine he's using is a P3 500 Laptop with 8MB VideoRam. He says Milkdrop won't even run on this machine, but projectM runs fine! The windows port is now pretty close to reality, so all you guys will soon be able to port projectM to your favorite Windows media players and VJ softwares.

Alligator Descartes is still a busy man, but he is working out some SDL issues with Mac OS X, and eventually that'll be out too. As one of our unfortunate opponents recently said in an undisclosed forum, "given the nature of the open source beast it appears everywhere," and boy did he mean it! I love all you coders out there who are helping us out, thanks alot!
5/17/04 - Good News! Mac and Windows Ports
Alligator Descartes reported to me about 15 minutes ago that he's running projectM on a Mac under iTunes. In a few days, he says he'll send me the codebase and we'll get working on an official cross-platform release. He also says he's going to complete a windows port.

Stay tuned for screenshots and more info.
5/8/04 - projectM 0.94.20 released
There's a new release in the files section! This release is mostly performance optimizations. Carmelo rewrote the evaluator to behave more like Milkdrop, as well as to speed things up. Under certain situations, the new evaluator will be multiple times faster. We've added about a hundred more presets to the package as well now that projectM is quicker.

A big thanks goes to Andrew Dodd from Cornell for submitting our first patch! Andrew contributed some code to help reduce branching in the evaluator, so he's responsible for a portion of the performance optimizations in this release. Thanks Andrew!

Changes from 0.92 to 0.94.20:
*overhauled evaluator (is multiple times faster based on preset)
*Andrew Dodd's branching patch (~20% faster evaluation)
*removed some unnecessary files from the source
*default FPS is now 60

The lack of updates this past month was because Carmelo and I have been swamped trying to graduate here at CMU. Carmelo and I are now finished with CMU and will graduate next weekend (congratulations US!), so we'll have a little more time to work on projectM. Hopefully we'll have some nice goodies for you guys soon!
4/8/04 - projectM 0.92 released
There's a new release in the files section with some new features this time.

What's new? Carmelo fixed some bugs in the editor, as well as these new features:

* ability to redirect the X output to another X server (default ":0.0") via the config file
* a "fullscreen on startup" option in the config file
* an (Inverse)Per-Pixel/Beat Detection Monitor (press F9 in projectM)

What does that mean? Look at the screenshots below. In the top left is the menu. In the top right is the rendering of the preset. In the bottom left is the beat detection monitor. From the top down you can see treb(le), mid, bass,and their respective attenuated values, with vol(ume) on the bottom. In the bottom right is the per-pixel monitor. It's basically just showing you the per-pixel mesh. Remember, projectM calculates all of its effects in the texture domain, which means our mesh is the inverse of the actual screen effect. It can seem a little tricky, but I didn't feel like writing an inverse function for huge matrices.

hw4339ca.jpg
hw4340ca.jpg
hw4341ca.jpg
4/6/04 - More than 4 shapes! & a bugfix release
There's a new release in the files section with some bugfixes.

Please send me an email if you get projectM to build successfully :)

Here is a remix of one of Idiot's Presets to support more than 4 shapes. The yellow, purple, pink and grey ones were added by me. As far as I know, that's the first Milkdrop preset to use more than 4 shapes.

hw4335ca.jpg
hw4336ca.jpg
4/5/04 - Please email us if you successfully build projectM!
Please give us feedback if you get projectM to compile. From what we understand, it should work anywhere SDL 1.3, opengl, and xmms are successfully installed. That means to us Redhat/Nvidia setups because thats all we have to test on, and we'de like to see some ATI folks try it out and let us know how it works.

So please report successful builds to me or Carmelo.
4/4/04 - projectM 0.90 beta released!
WooHoo! First public release!

click here to download

SDL 1.3 is REQUIRED. You can get it from the link above with our code. The only differance between SDL 1.3 and 1.2.7 is support for off screen rendering (pbuffers), and that is one of the things that lets projectM shine.

One more time, we STRONGLY reccomend 2.6 and ALSA.
4/3/04 - Soon now we'll be released.
Here are some screenshots for you.

hw4334ca.jpg
hw4333ca.jpg
hw4332ca.jpg
hw4331ca.jpg
hw4330ca.jpg
hw4329ca.jpg

Current Settings:

texsize: 1024x1024 (rendering resolution)
gx,gy : 32,24 (interpolation resolution)
FPS : 60 (Frames per second)

That's running on an Athlon64 3200+ w/1GB ram and a Geforce 4 Ti4200. We've only tested on three other systems, a Dual Celeron 533 w/Geforce 3 Ti200 and an old pentium 400 orsomething w/Geforce 4 MX440.

Don't trust my processor usage. Some presets that show 80% on my CPU still work smoothly on Carmelo's dual celeron 533. 80 percent of my A64 is like 400 percent on that garbage but somehow it still works.

I'm running 2.6.4 and ALSA on the system in the screenshots and boy is it worth it. The program becomes much smoother than with 2.4/oss.