DUMB is an IT, XM, S3M and MOD player library developed by Robert J Ohannessian, Julien Cugnière and me, Ben Davis. XMMS, Beep Media Player and Winamp 2.x/5.x plug-ins are available on this site too.
Here is the statutory feature list for DUMB:
"I must say so far, this is the most amazing development I have seen yet as far as a sound lib goes, and your devotion to the project is an inspiration XD ... I really like this clear sound I get, when I track stuff with resonance filters in MPT, it sounds muffled, and played back in XMPlay with filter envelopes, it sounds not only muffled but distorted. I played it with the new DUMB and it sounded clear :O ... when I quickly jumped from low reso to high ... [XMPlay] did something funky ... but your player plays it 'just right' :3" - Nobuyuki`
- Supports playback of Impulse Tracker (IT), Scream Tracker 3 (S3M), Fast Tracker 2 (XM) and Amiga Module (MOD) files
- Faithful to the original trackers, especially IT; if it plays your module wrongly, please tell me so I can fix the bug! (But please don't complain about differences between DUMB and ModPlug Tracker)
- Accurate support for low-pass resonant filters for IT files
- Very accurate timing and pitching; completely deterministic playback
- Click removal
- Facility to embed music files in other files (e.g. Allegro datafiles)
- Three resampling quality settings: aliasing, linear interpolation and cubic interpolation
- Number of samples playing at once can be limited to reduce processor usage, but samples will come back in when other louder ones stop
- All notes will be present and correct even if you start a piece of music in the middle
- Option to take longer loading but seek fast to any point before the music first loops (seeking time increases beyond this point)
- Audio generated can be used in any way; DUMB does not necessarily send it straight to a sound output system
- Can be used with Allegro, can be used without (if you'd like to make DUMB more approachable to people who aren't using Allegro, please contact me at the address in the documentation)
- Makefile provided for DJGPP, MinGW, Linux, BeOS and Mac OS X
- Project files provided for MSVC 6
- Autotools-based configure script available as a separate download for masochists
- Code should port anywhere that has a 32-bit C compiler; instructions on compiling it manually are available in readme.txt
"Having done a lot of tracking and coding for MODs and S3Ms in the past, I can appreciate the work going into this lib. Keep up the good work!" - Sirocco
"That's great news! :) :) If it really works I'll consider starting to use it instead of FMod. Not many extensions and programs play IT files correctly, so be proud of yourself!" - Fladimir da Gorf
"By the way before I forget, I gotta congratulate you on dumb, I've tried it with various mods, and that's one mean playing machine. It's comparable to FT2s own playback quality. I'm not a heavy mod feature user, but everything I've tried, sounded right." - Funklord
"DUMB is the best music lib I've ever used. *bows down*" - Matthew Leverton
"DUMB isn't too good! REALLY! I use it in my Multimedia player - MultiAMP for DOS only because i haven't found anything else that supports Impulse Tracker. JGMOD RULEZ THE GLOBE! DUMB is very slow... and it have stupid structs... it can't support MOD... it can't detect lenght of module... It can't display tech info like JGMOD..." - Rafa
DUMB-XMMS is an XMMS plug-in that uses DUMB (duh). It plays IT, XM, S3M and MOD files. It isn't particularly fancy - in particular it lacks features such as the ability to view the song message - but it is still usable, and it takes advantage of all the features listed above for DUMB.
Other player plug-ins
For those wanting to use DUMB with Beep Media Player, Michael Doering has converted DUMB-XMMS and provided an unofficial 'DUMB-BMP' package. There was a patch and some discussion here until the link broke, but you can obtain the package on the downloads page.
Winamp 2.x and 5.x users whose systems have not yet been trashed by buffer overflow exploits will be pleased to know that there is an unofficial Winamp plug-in too. I say 'unofficial', but it doesn't crash the way our own attempt did, so give it a try! See the Downloads page.
DUMBOGG is an add-on library that adds support for Ogg Vorbis files to DUMB. OGG files cannot yet be embedded in other files (e.g. Allegro datafiles), but once an OGG file is loaded into a DUH struct, you can treat it like any other piece of music; all the usual operations like seeking and playing several at once are possible. The current implementation does not buffer the OGG in memory, but streams it from disk; future versions will give you the option here. Thanks to Sven for writing this add-on!
Please note that this is currently out of date and only works with DUMB v0.9.1.
I have a lot of experience in writing programs that generate music. To prove it, here is a screenshot from a music editor I did with QuickBASIC and Assembly Language: