mpg123

Mpg123 is a free audio player on the command line for MPEG -1 audio. The supported formats are MPEG -1 Layer 1, 2 and 3 (the latter is known as MP3). Its name is due to the support of these three formats. He is one of the most common MP3 players, and many other projects use the code.

Function and Features

Mpg123 serves to decompress the data present in the MPEG -1 audio format and optionally output. This means that the program can serve as a command-driven player for music. Through his options but it can also be used as Dekomprimierstufe for other programs.

Required computing power

Mpg123 's goal is to decode the data in real time and play. That is, the program will decode faster than sound is output. Enabling to decode a track during playback. According to the website it is possible for example already clocked with 120 MHz 80486 processor. On many modern computers mpg123 produces a very low system load, so you can run multiple instances of mpg123 at the same time, for example, to sound for different rooms. Mixer programs like dermixd use multiple instances of mpg123, a gentle transition - to implement between two songs - so-called crossfading. In addition, mpg123 specially optimized code for 80386, 80486, Pentium, AltiVec, MMX and 3DNow!. Can be achieved on systems with such architectures, therefore, an increase in speed. Should Media not meet the computing power for a specific use, it can be the built-in 2:1 - 4:1 and use downsampling, which reduces the sampling rate of the output to half or quarter in order to achieve a higher speed.

Technical Details

The program runs on various Unix operating systems. Officially supports Linux, FreeBSD, SunOS 4.1.3, Solaris 2.5, HP- UX 9.x, IRIX and, more recently, Mac OS X and Cygwin ( Unix layer for Windows). More Ports to Windows and Mac OS X exist.

Similarly, many different devices are supported for output of sound. In addition, however, dominated mpg123 also the variant output the decoded data to standard output. The data can be further processed by another program. The raw data can be written to the standard output as a WAV file or in a.

Mpg123 normally uses floating-point arithmetic for mathematical calculations, but can also be compiled for the use of fixed-point arithmetic. This differs mpg123 example of MAD, which always uses fixed-point arithmetic. In many modern desktop processors floating point arithmetic is permanently installed and can thus be processed quickly. On processors for PDAs but a higher execution speed can be achieved with fixed-point arithmetic.

Other properties

The MPEG specification defines conditions under which the reproduction of a decoder can be described as " correct." For this purpose, the deviation of the decoded output to the reference is measured. These discrepancies can not exceed a certain value, in order not to violate the conditions for the correct playback. Has been shown by tests that mpg123 meets these requirements.

Break -free playback - so-called gapless playback - means that between playing tracks no pause is heard. However, the MP3 format stores the data in sections (frames), so that the length of the song title does not have to necessarily correspond to the sum of the length of each frame. In addition, the underlying algorithm requires additional length for correct playback. Therefore, additional information on the correct start and end of the song will be needed to implement gapless playback. mpg123 evaluates this information from LAME. It also evaluates the ID3 tags and outputs the information thus obtained to the console. Replay Gain is also supported. mpg123 also takes during decoding keyboard commands. But there is also another control interface via standard input and output, with which the music output can be controlled. Some user interfaces use this functionality.

History

Mpg123 was started by Michael Hipp in 1995 as a further development of the MPEG audio packet. Over time, contributions from the other programmers were added, mainly Dekodierroutinen optimized for different processor architectures.

Beginning in 2001, the activity of the development reduced to mpg123, after several versions were released in the 0:59 range before. As became known over time several serious vulnerabilities that Linux distributions Debian developed (based on mpg123 0.59r ) and Gentoo ( from mpg123 0.59s ) patches to fix these vulnerabilities. Michael Hipp pointed out in early 2005 on these issues and advised on the use of the official, but unkempt version.

In addition to these variants further developments were offered as patches of various authors. In April 2005, Nicholas Humfrey launched a project on SourceForge. He published a version called mpg123 -gpl, based on the version 0:59 and the Debian patches. As a further development, he implemented the use of GNU Autoconf and ported the project to Mac OS X. Regardless developed Thomas Orgis 2005, several versions of mpg123 - thor, the to version 0.59r einarbeitete based some patches freely available, including the Debian security patches. Moreover, the control interface for front-end has been revised.

These two projects began in late 2005 to work together. With the approval of Michael Hipp they developed the new "official" version of mpg123. After several beta versions as released on August 29, 2006 version 0.60 of mpg123. The date was chosen symbolically, one of the MP3 patents concerned was on the day in Germany.

License and patents

Since version 0.60 is mpg123 licensed under the LGPL and so fulfills the conditions for free software and open source.

At the beginning of its development was mpg123 but published under the following condition: free for private use, ask me when you want to do something commercial. However, the restrictions for commercial use are not compatible with the principles of free software. Many Linux distributions put mpg123 therefore in a non-free section or waived entirely to this software.

Given this situation, Joe 1999 Drew developed script to replace mpg123 for use in FreeAmp. He decided in 2001, developing it into a complete replacement called mpg321, mpg123 to both fully compatible as should also be free software.

Michael Hipp changed in later releases of mpg123 the license to GPL and the LGPL license of mpglib on. For the program to free software, the need for a free alternative has been accounted for. With the release of version 0.60, the new project manager changed the license for the whole package to LGPL.

The Fraunhofer-Gesellschaft and Thomson hold a whole lot of software patents concerning technologies for the use of the MP3 format. However, according to his own statement, they do not require royalties from free decoders. In addition, some of these patents are expired.

Distribution and variants

Since the release of version 0.60 is about one hundred times daily mpg123 downloaded from SourceForge. Add to this the ability to download the program directly from the project site. It is also included in the main Linux distributions.

Michael Hipp created in 1998 a Java version under the name jmpg123. This variant, however, never came across the version 0.1 also.

From the program, there is a Windows port. mpg123 or code components which were used in many other projects as a decoder for MP3, for example, XMMS, MPlayer, LAME, Xine and as a plugin for Winamp.

585227
de