Linux uses Advanced Linux Sound Architecture (ALSA) for music playback. ALSA in tandem with direct audio hardware access give you audio quality that will surpass that of Windows or OS X out of the box. Despite this superiority few are adopting Linux as their OS of choice. Linux can be a beast that's difficult to tame.
Snakeoil OS attempts to break this barrier by making it easy for you install music software. Here you can select the music player and audio output device you want for music playback. This page will only show music players that are installed on your Snakeoil OS PC.
Any players that were running previously will be automatically stopped when you select and start new players. This ensures only the right players are running, thus preventing unnecessary wastage of system resources, or potential conflicts and other random oddities.
Using Linux for music playback has never been this easy. The following music players come pre-installed for every Snakeoil PC:
- Music Player Daemon (MPD):
- v 0.17
- 0.18 (with DSD-RT patches)
- upmpdcli + MPD 0.21
- MediaCenter 22
- MediaCenter 23
- MediaCenter 24
Snakeoil PCs running the free edition can also add these players by logging in to the Snakeoil PC (console or shell). Note also the free edition supports one audio device only.
Unfortunately activated or free, some software will require additional configuration outside this Web App. This will be discussed in detail in the next chapter.
The above shows the music players page - broken down into 4 sections: Software State, Music Servers Music Clients, ALSA Output Devices and ALSA Configuration. This page we will explain the UI of selecting and configuring the audio output. For a more indepth look into individual music players, please refer to the next chapter - How To Play Music.
This panel shows the current music players that are running in your Snakeoil PC.
- Server: The Process ID (PID) of the primary music player responsible for organising and queue music. The running server software will be selected in the 'Music Servers' section.
- Client: The PID of the secondary software that communicates to a music server to play music (e.g. Squeezelite). The running client software will be selected in the 'Music Clients' section.
- Remote Control: Some setups include a web based remote control (e.g. LMS or MPD). When one is detected it will be shown. You can click on the link to start the web remote.
Below the three fields are all the audio output devices that are currently detected by Snakeoil OS. The sample rate will b e displayed if the device is playing music. You can use this information to ascertain if you are outputting 'bit perfect' audio to your device. The information in this status may not be up to date as it is only shown on demand. You can click the 'reload' button on the top right to get the latest update.
Depending on your software selection, the Server or Client fields will display the words 'Not Applicable'. For example, MPD don't require a client to function, so when you select MPD the client entry will be 'Not Applicable'. This is normal behaviour.
In rare situations, the music player software will fail to start, or crash midway. When that happens the text 'Cannot Start Server' will be shown . You can click on the red text to read the error logs. This will add in identifying the cause of the problem.
Here you'd find a list of software players - categorised into 'servers' and 'clients'. 'Music Clients' panel only shows up if the music server you selected requires one. For example, LMS requires an additional music client to run, so when you select LMS as your music server, you'd be asked to pick a client because LMS requires a client. MPD do not so this client panel will not be available when you use this player.
Each Snakeoil PC is designed to only start up to one server and/or one client at any one time. If you want to switch players you need to make your selection in here and click the 'Restart player(s)' button. This setup will be saved so your last selected player(s) will automatically start up on reboot.
Some players have icons at the end of it's name. The following icon (notepad with pencil) denotes audio configuration is not handled by Snakeoil OS. In other words, you need configure audio output and media source by changing them from the software's user interface.
The second icon means the software is GUI based. The GUI is shown in a remote VNC session. This will be further explained in the chapter Logging In.
Activated editions of the Snakeoil OS gives you the option to disable server or client panel. You can use this to run a 2 PC setup, for example one high power, high storage machine for LMS, and one low power machine for Squeezelite.
This panel gives you a quick overview about your audio devices. If you are find no audio playing, or if the volume is too low, you can try and click the first command 'Set Volume to 100%' and see if that helps. Otherwise, you can click on any of the 'Add Device' button to create an entry in the configuration panel.
When you click on 'Add Device', it will immediately be changed to 'In use'. Click on this button to stop using the device - the corresponding entry will be removed from the configuration panel.
A matching entry will show in this panel every time you click on an 'Add Device' button in the 'ALSA Status' panel.
Here's a brief description of the fields:
- Delete button: Click the trash can button to remove the entry
- Name: The name field is the name that usually appear in your player user interface. Use a descriptive name if you are using more than 1 audio device
- Streaming Mode: Select 'DSD over PCM (DoP) Support' if your audio device is a DSD DAC. Select this also if you are going to use mpd-dsd-rt and add the native_dsd_type option in the extra options box. For other DACs, select PCM mode. DSD material will be converted to PCM via software and sent to the audio card. WARNING: Do not use DoP if your audio card is not a DSD DAC as damage to your system may occur.
- Options: Here you can specify additional parameters to tweak the selected software. Refer to the 'Extra Options' section later in this chapter for more information.