Sound is one of those portions of the Linux operating system that is often unappreciated and not even given a second thought. When examined from a technical perspective, the sound frameworks and architectures used within Linux are quite fascinating.
You may not be aware that Linux supports many different audio architecture sets. The most commonly installed on mainstream Linux distributions is Pulse Audio. But ALSA (Advanced Linux Sound Architecture) is also another popular framework. And there are of course others. OSS (Open-Source Sound) is probably the third most common framework set that you may or may not have heard of.
But the framework and architecture of the audio service you use is not the only part of the system that makes your system produce all that noise. Your system also uses many different plugins and codecs. But all of this would not at all be possible without the very tool that allows you to play all those sounds-The Audio Player.
I’ll show you just a few of the most popular media players used on Linux and explain the basics of how they work to produce that sound that you so take for granted.
VLC Media Player
VLC Media Player is my personal favorite. VLC is a popular media player and one of the most popular media players used not only on Linux, but also Windows. And it’s also available for BSD, Mac OS and Solaris users too.
VLC users its own set of codecs which comes packaged and built-in to VLC. Which basically means that you can technically have no other codecs installed on your system, yet VLC will independently play your audio, regardless. Pretty neat and probably one of the main contributors to its popularity and loyal user base.
VLC can also be configured to use other external codecs if you want and can also be configured to use any audio framework you have installed. VLC is highly customizable and does everything that you want in a media player.
MPlayer is another popular media player. MPlayer is a powerful media player which is ridiculously customizable. It’s often regarded as an advanced media player for power users. It has all the features of VLC and even more. You only have to check out the Manual pages for MPlayer and you’ll be overwhelmed at the amount of options available.
Of course, MPlayer doesn’t have to be complicated. Out of the box, it’s a command-line driven media player, but GUI are installable which bring it’s functions more in line with standard graphical based media players.
As far as codecs are concerned, they’re all handled by MPlayer itself and don’t rely on any pre-installed codecs for any of its functions. And it can output to any architecture and framework that you tell it to.
I’m not going to explain too much about MPlayer, as there’s simply too much information for this space here. But I will go as far as saying that anyone can find something from MPlayer. It seriously is a media player capable of anything you throw at it.
Some audiophiles and power users are put off by this as the GStreamer framework can be seen as a very basic and clunky form of audio output function.
Rhythmbox is also limited in a sense that it is tightly integrated into the GNOME environment and uses the audio configuration set based on GNOME’s settings rather than it’s own configuration set. For example, if you use ALSA as your GNOME sound framework, then Rhythmbox will use ALSA. But if you set GNOME to use Pulse Audio, then Rhythmbox will use Pulse Audio. This can be a minor annoyance as you can’t specify your system-wide framework choice to be different from that of Rhythmbox.
The way Rhythmbox works is limited and is often seen as the very reason is can not be taken as a serious contender in the media player market.
is a more simple graphical based approach to an audio player. It is plugin based. It can output to Pulse Audio, ALSA and OSS. But it does use ALSA as the default output architecture. And some users have reported issues when using Audacious with Pulse Audio output. The Audacious website packages all the plugins into one neat tarball archive. But some Linux distributions package the actual Pulse Audio output plugin separate. I can only assume this can be assumed due to reported issues with Pulse Audio output.
Audacious uses the GStreamer framework. So before you install Audacious, make sure you have the GStreamer framework all all desired plugins installed.
I have used Audacious in the past and my experience was always pleasant. It can be fiddly to setup and get just the way you want it, but once configured and working correctly, its intended simplicity means there’s nothing more to worry about.
XMMS2 is another command line driven audio player. And it also uses plugins. But what’s different about XMMS2 is that each plugin is a different package which is to be installed to get that function to work.
It’s a powerful little package though. It can output to any audio framework architecture that you choose and also supports almost all audio formats you can think of. Even a couple of rare file types on Linux!
I was a loyal user of XMMS2 for many years and was more than happy with its performance level. But I wouldn’t recommend it for the general Linux user or someone new to the Linux scene, as installing those individual plugin packages can be fiddly sometimes. But if you’re up for a challenge and want a powerful audio player, give XMMS2 a try.
I hope you found something interesting in my audio player recommendations. Let us know what framework architecture and audio player you use on your own Linux system.