MintAMP - Mini Internet Amiga Media Player
==========================================
MintAMP is a lightweight multiformat audio player and internet radio client
for classic Amiga computers. It uses fixed-point decoders designed for m68k
systems and outputs directly through Paula using audio.device, so AHI and a
sound card are not required.
This archive contains two complete MintAMP drawers:
MintAMP-v1.1-68030 For 68030 and 68040 systems
MintAMP-v1.1-68060 Dedicated build for 68060 systems
Open or copy the drawer which matches the processor installed in your Amiga.
The 68060 edition contains a dedicated 68060-safe and 68060-optimised MP3
path. It is not intended for 68030 or 68040 processors.
Each drawer contains three player editions:
MintAMP ReAction/ClassAct edition
MintAMP-GT GadTools edition for systems without ReAction
amiga_mp3dec.fastexp Command-line edition
Features
--------
- Local MP3 playback using the Helix fixed-point decoder
- Dedicated 68060 MP3 build with optimised low-rate synthesis, Huffman,
mid/side stereo and planar sample conversion paths
- Local and streamed AAC-LC ADTS/AAC+ playback
- Local FLAC playback
- Local Ogg Vorbis playback using the fixed-point Tremor decoder
- Experimental classic WMA playback (WMAv1/WMAv2 in ASF containers)
- Uncompressed PCM WAV playback (8/16/24/32-bit, mono or stereo)
- Amiga IFF-8SVX playback, including Fibonacci-delta compression
- Bundled modular AAC, FLAC, Ogg, WMA, WAV and IFF decoders
- HTTP and HTTPS internet radio
- Radio Browser station search and favourites
- Live ICY station, artist and title information
- Station artwork using JPEG, PNG, WebP, ICO and a subset of SVG
- Playlist loading and saving
- ID3 tag display and track ratings
- Configurable output rate, quality, channel mode and buffering
- Reduced-rate and reduced-subband modes for slower systems
- Direct Paula audio output; no AHI installation required
Requirements
------------
- AmigaOS 3.1 or later
- Motorola 68030 or better
- Fast RAM is strongly recommended
- A running TCP/IP stack providing bsdsocket.library for internet radio
- AmiSSL v5 for HTTPS streams
- ReAction/ClassAct v44 classes for the MintAMP ReAction edition
Use MintAMP-GT if ReAction/ClassAct is not installed. Local playback does not
need a TCP/IP stack or AmiSSL.
Installation
------------
Extract the complete archive. Its root contains:
MintAMP-v1.1-68030/
MintAMP-v1.1-68060/
MintAMP-v1.1-68030.info
MintAMP-v1.1-68060.info
Choose the drawer matching your processor:
68030 or 68040:
Use MintAMP-v1.1-68030
68060:
Use MintAMP-v1.1-68060
You may leave both drawers together or copy only the required drawer to your
preferred location.
Keep every file inside the selected drawer together. Its layout is:
MintAMP-v1.1-68xxx/
MintAMP
MintAMP.info
MintAMP-GT
MintAMP-GT.info
amiga_mp3dec.fastexp
ArtCache/
decoders/
aac.decoder
flac.decoder
ogg.decoder
wma.decoder
wav.decoder
iff.decoder
Start MintAMP or MintAMP-GT from Workbench. For internet radio, start the
TCP/IP stack first. Install AmiSSL from util/libs/AmiSSL-v5-OS3.lha to play
HTTPS stations.
Command-Line Edition
--------------------
amiga_mp3dec.fastexp is the command-line edition. Open a Shell, change to the
selected MintAMP drawer and use --play followed by a local filename or direct
stream URL.
Examples:
amiga_mp3dec.fastexp --play "Work:Music/example.mp3"
amiga_mp3dec.fastexp --play "Work:Music/example.aac"
amiga_mp3dec.fastexp --play "Work:Music/example.flac"
amiga_mp3dec.fastexp --play "Work:Music/example.ogg"
amiga_mp3dec.fastexp --play "Work:Music/example.wma"
amiga_mp3dec.fastexp --play "Work:Music/example.wav"
amiga_mp3dec.fastexp --play "Work:Music/example.iff"
Direct internet radio:
amiga_mp3dec.fastexp --play "http://example.com/direct-stream"
amiga_mp3dec.fastexp --play "https://example.com/direct-stream"
Useful options include:
--rate 22050
--mono
--stereo
--fast-lowrate
--fast-mem
--quality 0
--subband-cap 16
--buffer-seconds 4
--volume 80
Example reduced-rate playback:
amiga_mp3dec.fastexp --play "Work:Music/example.mp3" --rate 22050
--stereo --fast-lowrate --fast-mem
Run amiga_mp3dec.fastexp without arguments to display the complete option
list.
68060 Edition
-------------
The 68060 drawer contains a dedicated MP3 build created for real 68060
hardware. The new path avoids expensive instructions which require software
emulation on the 68060 and adds selected 68060-clean assembly optimisations.
The 68060 build includes:
- Dedicated 68060 polyphase synthesis
- Fast reduced-rate playback paths
- Optimised MP3 Huffman decoding
- Optimised mid/side stereo processing
- Optimised planar 8-bit sample conversion
The established 68030 decoder path remains available in the 68030 drawer.
Internet Radio Notes
--------------------
MintAMP supports direct HTTP and HTTPS MP3 and ADTS AAC/AAC+ streams. Radio
Browser search, favourites, ICY metadata and station artwork are available in
both GUI editions.
Version 1.1 increases the compressed radio input buffer and improves network
worker scheduling, rebuffer handling and HTTP/HTTPS read throughput.
Very high bitrate streams can still depend on the radio server, TCP/IP stack,
network conditions, processor speed and selected output settings. A 128 kbit
MP3 station is the safest choice for uninterrupted playback on classic
hardware. Streams at 192, 256 or 320 kbit may require a lower output rate or
may occasionally rebuffer.
HLS/M3U8 streams are not supported. Internet stations must provide a direct
MP3 or ADTS AAC/AAC+ stream URL.
Format Notes
------------
AAC support is for ADTS files and direct ADTS/AAC+ streams.
FLAC decoding is considerably more demanding than MP3. Usable settings depend
on the processor, file complexity and selected output rate.
WMA support covers the classic WMAv1 and WMAv2 codecs in ASF containers. This
includes compatible WMA Standard files, but not WMA Pro, Lossless or Voice.
Source Code
-----------
Source code, build instructions and development information:
https://github.com/boingball/MintAMP
Credits
-------
Amiga port, GUI front-ends, decoder integration, internet radio, artwork and
m68k/68060 optimisation by Darren Banfi (boingball).
Audio decoder components:
- MP3: Helix fixed-point decoder from RealNetworks
- AAC: Helix AAC through ESP8266Audio by Earle F. Philhower III
- FLAC: libfoxenflac by Alexander Stoeckel
- Ogg Vorbis: Xiph.Org Tremor via Phil Schatzmann's Arduino port,
together with Xiph.Org libogg
- WMA: Rockbox fixed-point libwma, derived from FFmpeg's WMA decoder
Artwork decoder components:
- JPEG: picojpeg-compatible decoder; picojpeg was created by Rich Geldreich
- PNG: LodePNG by Lode Vandevenne
- WebP: compact implementation using parts of Google's libwebp reference
decoder under its BSD licence
The MintAMP-specific ASF/WMA integration, WAV/PCM and IFF-8SVX decoders, and
ICO, SVG and compact WebP artwork handlers were developed with assistance from
Anthropic Claude and OpenAI Codex.
These components remain under their respective licences, including the Helix
RPSL, LGPL, BSD-style and LodePNG terms. See the licence files and source
repository for the complete terms and source code.
History
-------
1.1.0 Added a dedicated 68060 drawer with 68060-safe MP3 synthesis and
selected Huffman, mid/side and planar conversion optimisations.
Added both 68030/68040 and 68060 editions to one distribution archive.
Improved HTTP and HTTPS radio throughput, worker scheduling, input
buffering and rebuffer behaviour.
Increased the radio input ring to 256 KiB.
Improved station artwork refresh when windows overlap the player.
Restored station artwork when replaying the previous radio stream.
Retained the established 68030 decoder path in its own drawer.
1.0.0 Initial Aminet release.
|