====== MAD ====== [[http://www.underbit.com/products/mad]] {{hw:madplay.tar.gz}} (417kb) Note that this is a tar of /usr/local with libmad, libid3tag and madplay installed by running "make install" on each. This is a much more suitable player, as the decoder is implimented in pure integer math. Even better, there's a hand-coded ARM assembly module. The downside is that there are two dependancies for the player, libmad (which is the decoder library itself) and libid3tag. Fortunately, both libraries compiled cleanly. madplay itself was more difficult, as it required aclocal as part of the compile process. Adding all the perl modules for aclocal was a very long process of running make, having it fail due to a missing Perl module, installing the module, and re-running make. Eventually all the modules were installed and the compile completed. A sample run of madplay is shown below: root@slug:~/source/madplay-0.15.2b# ./madplay -v various-montego_bay.mp3 MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al. Title: montego bay Artist: various Album: sun, fun & music Track: 6 output: sample frequency 44100 Hz not available; using 48000 Hz output: resampling 44100 Hz to 48000 Hz 00:02:52 Layer III, 192 kbps, 44100 Hz, stereo, no CRC 6598 frames decoded (0:02:52.3), +0.4 dB peak amplitude, 2 clipped samples root@slug:~/source/madplay-0.15.2b# While playing, madplay uses 14% to 16% CPU. Memory usage starts at about 856kb, but increases as the file is played by 120kb every 5 seconds. It appears that the file read buffer is not being freed as the extra size is the size of the file being played and drops as each file is closed and the next one is started.