A library by Brendan Ratliff for the programming environment processing. Last update, 11/23/2009.
PortaMod - a MOD/XM/S3M replayer library for Processing by Brendan Ratliff (aka Crayolon, aka Syphus of UpRough)
Based on IBXM by Martin Cameron (© 2008)
Fundamentally, PortaMod is a Processing implementation of IBXM so that the Processing community can benefit from
the advantages that oldschool 'tracker' formats offer.
Compared to WAV/MP3/OGG, these advantages include small file-size,
the ability to synchronise visuals and other triggered events to events in the music (e.g. synching a screenflash to a
particular note, at a particular time and volume) and the possibility for allowing extensive user interaction with the
music itself.
Compared to MIDI, tracked formats use instruments based on samples which sound the same on any replayer system, rather
than being dependent on varying MIDI-synths. Though oldschool 4-channel chiptunes can be as small as 3 kilobytes, complex and high-
quality music can be arranged in an XM of up to 32 channels, often matching mp3 quality but with a reduced filesize.
PortaMod builds quite heavily on IBXM in the control features it offers, while retaining IBXM's efficiency and reliable
handling of these formats and their idiosyncrasies. Its diverse range of methods is intended to give the Processing community
a very granular relationship with tracked audio data, which can either be found amongst the gigabytes of free modules available
online or created with trackers such as ProTracker (Amiga), FastTracker (MS-DOS), ScreamTracker (MS-DOS), or the modern-day
and very cross-platform MilkyTracker - www.milkytracker.org
Feedback always appreciated - contact me on echolevel <~# A!T # ~> gmail -=[blotch]=- com if necessary, but the best way of discussing PortaMod would be to post a comment on
this article on my blog. Also the quickest way of getting a response :)
Special thanks to Peter Quayle (parapete), Paul Carpenter (Vampire^TZT) and Anders Carlsson (goto80), for help and bugtesting; to Joey Scully (dataprole) and Jamie Allen for advice;
to Martin Cameron (of course!) for IBXM :D
Note: the source WILL be open, and soon, but first I must tidy it a LOT! Embarrassing...
Download PortaMod version 0.1.1 in .zip format.
Unzip and put the extracted PortaMod folder into the libraries folder of your processing sketches. Reference and examples are included in the PortaMod folder.
Platform Windows XP
Processing 1.0.1
JDK Version 1.5
Dependencies none
Here's an example of a dual-deck mod DJing app which uses PortaMod: ChipdiscoDJ
Find a list of examples in the current distribution of PortaMod, or have a look at them by following the links below.
Reference. Have a look at the javadoc reference here. a copy of the reference is included in the .zip as well.