Hangar.La tienda de software del Amiga

mpeg3play

Optimised MP3 (MPEG 1 Layer 3 audio) decoder

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+
Architecture: m68k-amigaos

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

Gratis

Descargar 218 KB

Desde el Amiga: abre Hangar y busca mpeg3play.

AutorFraunhofer institute and Johan Hagman
Categoríamus/play
Tamaño218 KB
Param68k-amigaos
Necesitaixemul.library V45+
OrigenAminet