Awesome Open Source/ Free Multimedia Software List

Working with sound and video all the time, we here at scacinto inc have some across some incredibly excellent software that we like a lot (or at least like the looks of!) This list is not a “top ten” nor are these programs “players.” If you are looking for lists of players/codecs, I’m afraid you will have to look elsewhere.

The softwares below are professional tools that require a time commitment to learn. That said, they are all very powerful and good at what they do. Additionally, they are all FREE! Have more? Comment below and we will add them (should they live up to our extremely high standards.) Please don’t bother posting commercial software, not only will we not post them, we will delete your comment and never think twice about it. 😀

 

__

Sound (Audio Programming)

MiniAudicle IDE for ChucK on OSX

ChucK
ChucK is, in some ways, the new kid on the block when it comes to real-time audio programming languages. This doesn’t mean it lacks features, though. It has a stable base, good community support, and has the advantage of a less daunting learning curve than Csound or SuperCollider.

Pros: Easier to learn and use than most other languages.

Cons: Is CPU intensive — you had better have a good machine if you are planning to do anything crazy with this program.

OS: Linux, Mac, WIndows

one of Csound’s many IDEs

Csound

The Elder Statesman of computer programming languages, Csound is still going strong decades after it was written thanks to a large community of programmers and users. There are a number of front-ends for this program so check out the Csounds site “frontends” page for them. If you are on a Mac, I recommend AthenaCL. Otherwise, check out Common Music / Grace.

Pros: NRT synthesis and algorithmic composition.

Cons: Text-based language that will be hard for some to learn. Real-time support not as developed as ChucK or SuperCollider.

OS: Linux, Mac, Windows

Impromptu UI on Mac

Impromptu

This Lisp-related A/V program can do a lot of things from live-coding music to image DSP. What it does best, though, is live coding. Check out the video Tutorial on the site for a good idea of what this program is about.

Pros: One of the best live-coding languages out there, it allows you to make changes on the fly seamlessly.

Cons: Mac only, sorry everyone else! Audio uses Audio Unit plugins for all sound — not for the crazy experimentalists out there.

OS: Mac

Pure Data with Arduino

Pure Data (PD)

Not as old as Csound, but older than any of the other programs in this audio list, Pure Data has a large community of support and sports a graphical programming environment that many will find more easy to approach than the text-based programs on this list.

Pros: real-time interactive processing of live sound.

Cons: User community can be prickly. Because of the TCL/TK graphics interface, PD can be CPU expensive. Not awesome for algorithmic or non-real-time score generation.

OS: Linux, Mac, Windows

SuperCollider

SuperCollider

SuperCollider is an extremely capable and well-rounded program that can be used for real-time processing, live-coding, algorithmic composition, graphics, and more.

Pros: Can do anything and do it pretty well, but real-time processing, live-coding, and algorithmic composition are stellar.

Cons: The drawback for most approaching this program is the learning curve which is very steep. A subscription to the mailing list or membership at the Nabble SuperCollider forum is a must.

OS: Linux, Mac, Windows

__

Sight (Image/Video Programming)

 

Animata

A nice little app for animating 2D images. Uses a hinge/skeleton system to fix joints and points of rotation. Images can be layered and stretched and compressed as well as moved in 2D space.

Pros: Fun, pretty easy to use, and relatively quick to get up and going.

Cons: Lack of any documentation aside from a few silent .movs online. Also can’t export projects so a screen casting/capture program is a must if you want to save your work.

OS: *linux*, Mac, Windows

*you have to build from source, no precompiled binary.

Blender 3D

Blender

Industry standard professional 3D graphics/animation suite. If you want to make pro 3D anything this is your baby. I’d write more, but you already know about this program. If you don’t, then you don’t need it.

Pros: Does what you want.

Cons: Will take a while to learn and some serious programming time to get what you want.

OS: Linux, Mac, Windows

Fluxus Live Coding

Fluxus

This is a seriously weird and excellent live-coding program for visual dorks.  All work is done on-the-fly and the animation/graphic appears in the window with the code.  From the site: “Fluxus is a rapid prototyping, playing and learning environment for 3D graphics, sound and games. Extends the Racket language with graphical commands and can be used within it’s own livecoding environment or from within the DrRacket IDE.”

Pros: Does what no other live-coding program can, and does it with style.

Cons: Installation and learning curve.

OS: Linux, Mac, Windows

Gem

Gem

Gem is the open-source sister program of Jitter (much the same way PD is to Max/MSP.) And similarly Gem is dependent on PD the same way Jitter is to MaxMSP. If you know PD, using Gem will be easy. The link above takes you to the PD site. Here you can find links to the extended versions of PD that ship with the Gem libraries built-in.

Pros: Graphical programming environment will be easier for some to approach and use. A reasonably good amount of examples ship with the libraries, and more can be found online.

Cons: Documentation could be better. Finding solutions to problems will require membership to a forum / mailing list.

OS: Linux, Mac, Windows

Gem (site)

The above site will be useful if you do not have the “extended” version of PD which comes with the Gem libraries built-in.

Impromptu

Impromptu

In addition to being a live-coding audio environment, Impromptu also does image processing using your Mac’s built-in Quartz plugins. You can write more plugins using Quartz Composer.

Pros: Quartz support makes this an expandable, powerful tool for graphics processing.

Cons: Will take a little while to learn, and requires knowledge of Quartz Composer if you want to expand the DSP functionality beyond what ships with your mac.

OS: Mac only

Nodebox

NodeBox

A great, easy-to-use program for 2D graphics, text, and more. Uses Python as its language. Really good for intricate graphics that employ random or repetitive elements to add complexity.

Pros: Quite a bit easier to use than some other text-based graphics programs on this list.  Faster from start to finished product.

Cons: Not as powerful as some other language/text-based programs like Processing.

OS: Mac

NodeBox2

This is, in some ways, a different program than the original NodeBox. It is more complex, but also more capable. The interface now updates code in real-time, and modules are a new feature. Connecting GUI modules together creates more complex DSP series.

Pros: More powerful than the original NodeBox.

Cons: Harder to pick up and use than the original.

OS: *Linux, Mac, Windows

*must build from source.

Nodebox OpenGL

NodeBox for OpenGL

From the website: “NodeBox for OpenGL can be used for simple games, interactive media installations, data visualization and image compositing. It’s not as fast as anything in native C, but quite a bit faster than the classic NodeBox.” I haven’t started doing anything serious with this program yet. I may not… still, it is worth a look to anyone interested in any of the above.

Cons: Installing and getting the libraries to a useable state alone takes a significant effort. This might put this program out of reach for first-time-users.

OS: Mac

Processing

Processing is an incredible motion and graphics programming language that is based on Java with a simple and easy-to-use text interface.

Pros: Lots of external libraries that expand the standard functionality of the program. Incredible documentation with lots of books and tutorials available.

Cons: Text-based code, not for those who prefer GUIs.

OS: Linux, Mac, Windows

Processing.JS

ProcessingJS

The blurb from the web site says it all: “Processing.js makes your data visualizations, digital art, interactive animations, educational graphs, video games, etc. work using web standards and without any plug-ins. You write code using the Processing language, include it in your web page, and Processing.js does the rest. It’s not magic, but almost.”

Pros: Full language support of Processing. Make incredible interactive web graphics easily and embed as JS. nice.

Cons: Like Processing, will take some time to learn. Not for those who don’t like code.

OS: Linux, Mac, Windows

VVVV

I have not personally used this program, so perhaps I shouldn’t be listing it here. I do know people who use it and like it, however, and it’s $free$ so I threw it on here.

Pros: Purportedly does anything you want it to do. Has a pretty good-looking GUI (at least on Win7)

Cons: Window$ only :P.

OS: Windows

__

Physical (hardware)

Arduino

If you want to make robots to take over the world, or at least do some physical computing with sound, video, moving parts, etc., this is your baby. Arduino is a physical board that connects your computer with the outside world. Arduino uses a programming langage that is basically like Processing to interact with incoming data and send messages to the board.

Pros: Very well supported (community.) Programming language is strong and concise.

Cons: N/A

OS: Linux, Mac, Windows