home *** CD-ROM | disk | FTP | other *** search
- Short: Optimised MP3 (MPEG 1 Layer 3 audio) decoder
- Author: Fraunhofer institute and Johan Hagman
- Uploader: Troels Walsted Hansen (troels@stud.cs.uit.no)
- Type: mus/play
- Requires: ixemul.library V45+
-
- This is a decoder for MPEG 1 Layer 3 audio (often refered to as MP3). It is
- based on the same freeware source as the other two archives currently on
- aminet (mp3.lha and mpeg1_iis.lha), but the source has been optimised a lot
- by Johan Hagman.
-
- I downloaded the source after a tip from Cstar on irc, and compiled it with
- ADE gcc. This decoder is more than 4 times faster than the one found in
- mp3.lha. It is also completely selfcontained, you don't need the external
- tables/#? files anymore.
-
- I changed the makefile for ADE gcc and changed the source to write a raw PCM
- file instead of an AIFF file with a header. This means you can make the
- decoder write to the PIPE: device and have some other program read the audio
- data from the pipe at the same time. I use this for converting mp3 files to
- mp2.
-
- To convert an mp3 file to mp2 for realtime playback with the mpegaudio.lha
- delitracker player on aminet execute the following commands in a shell:
-
- stack 100000
- run mpeg3play -o pipe:mp3 <mp3file>
- musicin pipe:mp3 <mp2file> -b128
-
- (You need the pipe device mounted, I think it is found in some other archive
- on aminet..)
-
- You can also decode mp3 files to a PCM audio file and play it back using for
- example Play16. To do that, try the following commands:
-
- stack 100000
- mpeg3play -o <pcmfile> <mp3file>
- play16 <pcmfile> tracks=2 bits=16 freq=44100 hifi
-
- Here's some timings I made on my CS060mkII equipped A4000. I used "timer"
- from the Executive 2.0 package to make the timings, so they should be as
- exact as possible.
-
- The file is spot1.mp3, 130836 bytes, 416 frames, 11 seconds of audio.
-
- The suffix of the decoder filenames indicate the CPU they were optimised for
- by the compiler.
-
- Decoder Time w/CyberPatcher Time w/o CyberPatcher
- ----------------------------------------------------------------
- decode020-040 0:09:17.67 0:09:19.51
- decode020881 0:06:49.29 0:04:47.49
- decode040 0:05:41.69 0:04:26.27
- decode040881 0:05:32.96 0:04:19.18
-
- mpeg3play000 0:04:36.61
- mpeg3play020 0:04:45.35
- mpeg3play040 0:01:07.13
- mpeg3play040881 0:01:00.68 0:00:59.06
-
- Yabbadecode060 0:01:05.04 0:01:10.51
-
- Yabbadecode060 is a work in progress. Just like mpeg3play it is based on the
- original mpeg1_iis sources and it has been optimised by Stefan Burström and
- compiled for 060 with SAS/C 6.57. All the other decoders were compiled with
- ADE gcc (which does not have an option to optimise for 060). As you can see
- from the timings, mpeg3play is currently the fastest decoder available (even
- if it is still far from realtime).
-
- Troels Walsted Hansen, troels@stud.cs.uit.no, Troels on IRC
-