Open source music: Tracking 2.0

Tom Hargreaves, December 2011

Open source music

Music has historically been open source...

Open source music

Music has historically been open source... right?

Open source music

Music has historically been open source... right?

Not quite. Always needed humans in the loop.


Performance (nightmare mode)

Early music-making machines

Player pianos

Music came on rolls

Not easy for end-user to make or modify rolls


Player pianos were obsolete by the 1930s, as recording technology got better...

And better...

Computers converged with recording technology by the late 1990s.

CD-ROM drives, MP3, Napster, iPod...


Recordings have been the standard way to distribute music for over half a century now.

But not the only way.

Recordings are really bad when it comes to open source.

A better world

Machine readable, yet hackable, distribution formats...

Already existed by the early 1990s!


Formats: MOD, S3M, XM, IT (the "big four"). Plus dozens of similar formats largely lost to history.

Sample-based synthesis.

Why does nobody use this stuff anymore?

Trackers have an image problem

May 19 21:51:38 <Emmett> Can you make trackers not suck?
May 19 21:51:42 <Emmett> Oh, wait, no, you can't.
May 19 21:52:24 <Emmett> It's 2003. Buy a synth.
-- Emmett Plant on #vorbis
(shortly after he stepped down as CEO of

Why trackers suck

For music creation:

Why trackers suck

For music distribution:

The DSP problem

Sequencer + DSP = DAW (Digital Audio Workstation)

VST plugins

Even contemporary trackers such as Modplug Tracker and Renoise have VST support now.

Protracker command set

XM command set

Protracker command set

Protracker commands we actually need

A tracker in javascript


Not as crazy as it sounds.

Solves the software distribution problem nicely.

Hasn't this been done already?

I know of at least two javascript MOD players:

Neither particularly useful in their current state.

Hasn't this been done already?

Porting of existing playroutines?

Only a matter of time until somebody runs libmodplug through emscripten (by 29C3 perhaps? :)

But playback of existing tunes is not the problem I'm trying to solve!

Hasn't this been done already?

A web-based tracker?

The big picture

A web based tracker...

Plus free (and Free!) repository of music and music components (samples, instruments...)

Music creation and distribution

Collaborative music-making

Nobody has put all the pieces together in one place before.

The big picture

Fooble (formerly modplayjs)...

The big picture

Fooble (formerly modplayjs)...

Is still vapourware.

An inspiring quote

"We tend to think of music as a consumable end-product vs. something you build or assemble. Music is something you buy, something you download, something you play. That's what text used to be, too. But putting text on the web, and specifically, assembling text using code, changed that forever. Just as we mix text from different sources, dynamically overlay it, transform it, translate it, etc., what if you could listen to music being mixed and altered live in your browser? [...] When music becomes algorithmic, scriptable, and composable, any number of new things will happen." -- David Humphrey, Mozilla, Jan 2010