Those crazy Amiga artists were ahead of their time. The lightweight real-time music engines and formats they began were uncommonly efficient, and allowed the exchange of elaborate electronic music using a minimum of resources – with some accompanying compositional and sound design ingenuity required, as well. As a result, getting a phone handset to reproduce their work today is a pretty manageable task, and some of the music available is concise and clever. Pop on some headphones, load up some tunes, and you may feel you’re starring in your very own Amiga point and click adventure the next time you hit the grocery market.
There are a number of trackers and mod players for mobile platforms from iPhone to Windows Mobile, but Android is now in on the game thanks to Xmp (Extended Module Player). Using Android’s JNI-based NDK interface for accessing native code from Java, the “experimental” queue up some files and play back on your SD card. My sense is that this hasn’t been widely tested, which is where you come in: got an Android phone? Ideally, got some obscure models of Android phone? Load this up and see if you’re getting the retro tracker music love. Let us know in comments how it goes.
Full downloads and code for Xmp, a command-line mod player for Mac, Windows, Linux and pretty much every OS every invented, along with the experimental Android port:
Thanks to Dan Galpin, developer advocate at Google, for pointing this out to me.
Now, this brings me to my open question. Suffice to say, someone could build a pretty player interface for Xmp, with playlist support and the lot. But what about actually editing files on your Android device, as you can on iPhone, PSP, GamePark, PC, Mac, etc.? It’s possible that the Xmp code could be used as a template for porting the engine of something like LittleGPTracker. But looking through quickly, I wonder if Xmp itself might serve as a real-time engine? It’d also be interesting to design a tracker interface that took the UI patterns of platforms like Android to heart, rather than just reproducing interfaces designed for other platforms. If you’re interested in such a project or have some insight into what might be practical, let us know in comments.