oio11: (Default)
[personal profile] oio11

mpg123 - Fast console MPEG Audio Player and decoder library

mpg123 is a real time MPEG 1.0/2.0/2.5 audio player/decoder for layers 1,2 and 3 (most commonly MPEG 1.0 layer 3 aka MP3). Among others working with GNU/Linux, MacOSX, the BSDs, Solaris, AIX, HPUX, SGI Irix, OS/2 and Cygwin or plain MS Windows (not all more exotic platforms tested regularily, but patches welcome).
It is free software licensed under LGPL 2.1 .
Note that nowadays, the mpg123 decoder core can work with floating point or integer math, possibly using assembly optimizations for several platforms, depending on your build configuration. It's fast, it's high-quality. Just use it;-)

Top News

2015-09-06 Thomas: Testers welcome for upcoming mpg123 with libout123 and lots of other goodies
The next mpg123 release will be a big one, packing lots of changes. The most prominent ones:
  • Welcome libout123! The output part of the mpg123 program finally got turned into a re-usable library focused on simply getting that audio data out, with an API resembling writing to files with some fancy properties.
  • Along with the above, the internals regarding the buffering process and interaction with it got reworked a lot. Of course I mean improvements, but that also always can mean new bugs that testing should find before relase.
  • The terminal control got improved a bit, not only in relation with the buffer. It is also active by default now if there is a terminal detected.
  • The status line printed in verbose mode now does not spill over your terminal boundary (causing annoying scrolling, rather quickly since the line also got overly long with the buffer display). It received a full overhaul, too, packing more information more compactly and consistenly in there. Feedback to these changes is particulary welcome, as that marks a rather prominent departure from earlier times. As a special gimmick, the line is now used as a visual progress bar, too, by reversing video in part of it.
  • non-recursive build system; You always invoke make from the toplevel directory and give paths relative to that as targets. This improves build reliability as we have proper dependencies in one tree.
The need for testing is obvious, especially for those changes relating to interactive use. I also did not look much at the generic control interface. People with wrappers using that, please pipe up!
Make sure you use the latest snapshot or directly the svn trunk!
A more complete list of changes (NEWS file):
  • libmpg123 version 42
    • This adds mpg123_framelength() and makes mpg123_position() truly obsolete.
    • Equalizer optional now (--disable-equalizer) to save precious memory
  • First incarnation of libout123, a basic library to get audio data written to audio devices (or files). This collects the output modules of mpg123 and makes them available to the wider masses. Also, the buffer logic (contained in libout123) got a lot of reworking which might be noticable in the interaction with terminal control.
  • Added mpg123 --no-infoframe.
  • Detect terminal on input side and enable control keys automatically. There is --no-control now to disable terminal control anyway.
  • Avoid spillover of status line that caused unwanted terminal scrolling. If the terminal width is smaller than the full status string, a cut is made to make it fit.
  • Draw a progress bar on the terminal by inversing colors behind status line.
  • Rework the format of the status line to be more compact and consistent.
  • Clip decode tables for large amplification with fixed-point decoders. Without that, high-pitched distortion enters really quickly when trying to increase volume even if output samples would not be clipped, weren't it for fixed-point math.
  • Warning messages also start with a line break now to better fit in with verbose playback.
  • Reporting of clipped samples also includes a line break now.
  • Default for --preload now is 0.2 instead of 1 (fill whole buffer before playback). The maximum is 0.5 . This is mandated by corrected buffer interaction in libout123.
  • Improved interaction with buffer process in terminal control mode. Seeking is more transparent now, taking dropped samples from buffer into account to avoid unintended jumps. Direct seeks with number row do not pause playback anymore.
  • Silently skip APE tags (thanks to Hans de Goede).
  • Some reduction in bitrot on AIX (typos in output module, build with --disable-largefile --with-audio=aix, real test welcome).
  • Added '[' and ']' keys to skip to previous/next directory in playlist.
  • Added support for Haiku to configure script (thanks to Jerome Duval).
  • Remove spurious Frankenstein warning when scanning files that have no gapless info (the reported value of -1152 gapless sample length should be a giveaway anyway).
  • Fix a bug in the command line parser that was present from the beginning, apparently, causing certain parameters (--au, --cdr) to kill off parsing of following ones. Nobody complained in all these years. Astounding.


For older news see the news archive

..
http://mpg123.de/

Mpg123
 
It is a console application, meaning that it has no graphical user interface. mpg123 builds are only available for Windows; Linux users need to compile mpg123 ...
 
https://en.wikipedia.org/wiki/Mpg123


October 2025

S M T W T F S
   1234
567891011
12131415161718
19202122 232425
262728293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 4th, 2026 07:09 am
Powered by Dreamwidth Studios