Short: Multiformat player and net radio Author: Darren Banfi (boingball) Uploader: boingball gmail com (Darren Banfi) Type: mus/play Version: 1.1.0 Requires: 68030+; TCP/IP stack for radio; util/libs/AmiSSL-v5-OS3.lha for HTTPS Architecture: m68k-amigaos >= 3.1.0 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.