• Software Players

    So which player is the right choice?

    The short answer is, try them all. In this chapter we'd briefly give you a quick background of the music software that comes bundled with Snakeoil OS and attempt to subjectively describe the sonic nature of these players.

    Note the subjective assessments are unauthoritative as everything is pretty much system dependent - what sounds good for me may not sound good to you and vice versa. So just read this as a guide, and at the end of the day, make up your own mind. 

    Some software players are best used with a companion mobile phone or tablet. Please refer to each player's dedicated chapter for more details.

    Opinion: MPD vs Squeezelite

    Here are just some general observations based on my setup after using MPD for several years (and a few months with Squeezelite). These are personal observations and nothing more. 

    MPD is the clear leader in absolute resolution. You can almost resolve the shape and form of any instrument/vocal down to multiple single infinitely small points in a 3D space. However, at times the presentation can be very stressful - certain pieces of music can really tense you up and keep you on the edge of the seat. At times I actually felt exhausted and emotionally drained after a session, in a worse state compared to what I begin with.

    Squeezelite+LMS is different, so far this combo always makes me feel fully recharged after a session, making me feel like I am ready to tackle on the next problem that comes my way. I never felt worn out with this yet. Perhaps it's because of the more natural timbre? The cost however is the loss of that dead-accurate pin point resolution MPD can give. While you can still 'break' the sound stage apart, it is just not to the same infinitely focused level MPD can give. The difference is I never felt stressed out and worse for wear like I do with MPD. With that 'lack of focus' issue, it seems WAV seems to present that problem less when compared to FLAC. So you can try that if you want (I'm still testing this myself as of this writing).

    Ultimately which player you decide to use as your primary player is up to you, there are too many variables to consider to agree on a consensus. Personally I am mystified by the crash I can get after a high from MPD, something Squeezelite+LMS cannot do to me. This may suggest MPD is better, however one can also argue against the verdict of better because it involves a emotional crash.

    At the end of the day, find your way to enjoy your music.

  • Adding Music To Your Snakeoil Machine

    Now it's time to add music to your Snakeoil computer! There are two ways to play music off Snakeoil:

    1. From another computer (e.g. a NAS)
    2. From files stored on a SSD/HDD inside your Snakeoil computer

    Please review the Music Library and verify you have setup the storage correctly. Skip this section and start your music client of choice if you are playing music from a NAS (option 1).

    Read on if you need to copy music to your Snakeoil computer for local music playback.


    For local music playback you need to setup your Snakeoil as a simple NAS in your home network. From a Windows computer, start Windows Explorer and enter your Snakeoil's machine_name or ip_address in the address text box like so:


    You should see two network shares - music and playlists. Copy all your music files to the music share, this is the location where most software players (e.g. MPD, Squeezelite) will look for when searching for music content. 

    Adding Music To Your Snakeoil Machine

    Network copying from other systems (e.g. Mac) will be similar.

    Copying a large music library over the network will take some time. We recommend doing this copy operation using the high speed wire connection. If you have a very big music library to transfer (> 1 TB),  you can cut down the copying time significantly by removing the HDD/SDD and connect it to your music source computer using a USB 3.0 dock. Once copied you can reinstall the music HDD/SDD back into the Snakeoil machine. The file system types supported by Snakeoil are XFS, EXT4 and NTFS.


    Use the M3U format for your playlists as that seems to be the best supported format for the various players provided by Snakeoil. Make sure the music files in your playlist begins with /media/music/. 

    Copy your playlists to the playlists share folder of your Snakeoil machine and most players should pick it up automatically.

    Supported File Formats

    The formats differ according to the players. In general Snakeoil OS can play the music files as long as the software player can support the format. For best results, stick to the 3 biggest formats: WAV, FLAC and DSF/DSD.

  • Music Player Daemon (MPD)

    Music Player Daemon (MPD)


    Short for Music Player Daemon, MPD is a very lightweight player that can run on the slowest computer you have kept unused in the shed/storeroom.

    MPD handles both music management and playback and does not require a secondary client to work. MPD is designed to run from a headless computer. In other words, you are running MPD off a computer that is not connected to a keyboard or a mouse.

    You control MPD using secondary devices like your mobile phone, a tablet or another computer. This secondary device is a like your TV remote control, only better. More on this at the end of this article.

    Four editions of MPD are bundled in Snakeoil OS:

    • v17: A very old version of MPD
    • v18-dsd-rt: MPD 0.18 with DSD-RT patches applied. This supports native DSD.
    • v19: A somewhat older version
    • v20: Old version
    • v21: The latest version

    Each release of MPD may impart a different sonic signature, so pick the version that sounds best to you. There was a time when v17 and v19 used to sound very different, but I think the gap has closed in the last few months. v17 is included for historical reference (as a comparison), use v20 if you can. Do not be deceived by the simplicity of MPD, it is a high quality no-frills player and is the player adopted by many high end commercial products,  including Bryston, SoTM and Chord.

    If you are looking for simplicity and exceptional sound quality, go with MPD. Sonic signature that can be associated with MPD includes:

    • pin-point accuracy
    • very detailed
    • very transparent
    • heart pounding attack
    • exceptional attack speed

    To put in another way - MPD delivers absolute precision when playing back. MPD will tell you a lot about the recording itself. If your audio system is up to it, MPD will turn you into a super bat! You'd pick up the tiniest noise in the recording, details you have never heard before, minute details you may never realise it's there until now. 

    DSD Playback

    MPD supports DoP or native DSD when playing back DSD material. Modern versions of MPD (0.20+) will auto-detect DSD compatibility if you have a native DSD DAC, try setting the hardware to "Native (PCM/DSD)" and let MPD handle the DSD detection - this will do native DSD streaming.

    MPD-dsd-rt supports native DSD, refer to the dsd_native_type configuration option below on how to set this up.

    MPD Options

    You can specify the following configuration options to tweak MPD. Separate each option with a ';' (semi-colon).

    Use this if you want to enable volume control in MPD (this is disabled by default).

    Volume Mixer

    Applies to all versions of MPD. Snakeoil disables volume control by default. The assumption is to run the Snakeoil PC through an analogue pre-amplifier. if your intention is to bypass external volume control. add the following option to use MPD's mechanism for volume control.

    MPD Option Settings Comments
    mixer_type hardware Use the hahrdware audio volume control (if available)
    software Use ALSA to adjust volume control
    none Disable MPD volume control. (Default)

    Native DSD Hack (MPD DSD-RT only)

    The follow option applies to MPD DSD-RT only. It will not work on other MPD version. You also need to enable DoP in the hardware tab.

    MPD Option Settings Comments
    dsd_native_type 0 Stream DSD music in unsigned 8 bits (DSD_U8)
    2 Stream DSD music in unsigned 32 bits big endian (DSD_U32_BE)
    3 Stream DSD music in unsigned 32 bits little endian (DSD_U32_LE)


    Snakeoil 1.1.5 (Blind Testing) and onwards supports the Tidal plugin. Available in activated editioni for now, this configuration only works with MPD 0.21.8 and above.

    MPD Option Settings Comments
    tidal_token [string] The Tidal application token. Since Tidal is unwilling to assign a token to MPD, this needs to be reverse-engineered from another (approved) Tidal client.
    tidal_username [string] Your Tidal user name
    tidal_passwd [string] Your Tidal password
    tidal_quality HI_RES Highest resolution. MQA?
    LOSSLESS Bit perfect?
    HIGH High quality lossy?
    LOW Low quality lossy?


    Snakeoil 1.1.5 (Blind Testing) and onwards supports the Qobuz plugin. Available in activated editioni for now, this configuration only works with MPD 0.21.8 and above.

    MPD Option Settings Comments
    qobuz_id [string] The Qobuz application id. (See Application authentication)
    qobuz_secret [string] The Qobuz application secret. (See User authentication)
    qobuz_username [string] The Qobuz user name.
    qobuz_passwd [string] The Qobuz password.
    qobuz_quality 5 For MP3 320. (See Qobuz format identifier)
    6 For FLAC Lossless
    7 For FLAC Hi-Res 24 bit =< 96kHz
    27 for FLAC Hi-Res 24 bit >96 kHz & =< 192 kHz

    On Screen Display (OSD)

    Applies to Raspberry Pi only. This will enable the OLED on screen display. Refer to this thread for more information

    MPD Option Settings Comments
    mpd_oled [none] Enable OLED OSD

    MPD Client - ympd

    There is a a long list of MPD clients you can use play music: See Link. For Android devices my favourite is MPDroid; Apple users can try out MPad.

    Remote apps are a personal choice so really you have to find one that suits your workflow best. 

    Snakeoil OS firmware 1.0.9 onwards includes a web client call ympd. To launch ympd, go to the 'Music Players', and click the label ympd in Audio State:

    Music Player Daemon (MPD)

    This will launch a new browser tab like so:

    Music Player Daemon (MPD)

    ympd - Database Scan

    If you are running MPD for the very first time, you need to run a music. This step will add all your music in your music library to the MPD database.

    To start scanning, this click the "Settings" button, followed by the "Update DB" button. 

    Music Player Daemon (MPD)

    Your first scan may take a long time (It takes around 20 minutes to parse my 45,000 library), so please be patient. If you quit MPD while the database is scanning you may be required to do a scan again. Note that each version of MPD has it's own database. So you will need to run a scan for every version you want to run.

    ympd - browse music

    Click on "Browse Database" at the top navigation bar to get to this view:

    Music Player Daemon (MPD)

    Your playlists and music library are displayed in this single view. Your music files are organised as what is called the 'folder view'. i.e. how your music file is stored in your file system will be displayed as such in this view.

    Click the '+' button associated with a folder to add a folder to the queue. Click on the playlist to add its contents to the queue. Here's an example of using the browser and dive deep into one of the folders. You can navigate around your folder structure quickly by clicking one of the links as marked.

    Music Player Daemon (MPD)

    ympd - queue

    Click on the "Queue" button in the navigation menu to see this view. This is more commonly known as the playlist, and here is the list of music that the MPD has played, is playing, or about to play. Unlike other MPD clients, the order of the playlist can't be changed.

    Music Player Daemon (MPD)

    ympd - dirble

    Dirble is created to make internet radio modern again and is focusing on giving that good experience of finding your new favourite radio station. It is a directory listing radio stations found on the Internet. 

    Music Player Daemon (MPD)

    Unfortunately because of the design of the API, you'd need to install a browser extension to disable CORS. Disabling CORS is not ideal as it allows hackers to compromise your computer using a technique called 'cross site scripting'. Eventually Dirble will provide the right headers to make this work. Until then advanced users can install a browser extension to disable CORS if they like. Note that you are doing this at your own risk.

    MPD Client - Folder Art

    MPD has a very low footprint, this minimal overhead means things like album cover art is not supported. To work around this limitation - cover art is supported via the Snakeoil OS Web server instead. To get this to work you need to create JPG file for each folder. Unfortunately this means your albums have to be organised in folder logic (i.e. songs from the same album has to be organised in one folder, and in this folder a JPG covert art).

    The covert art file is commonly named folder.jpg (and is case sensitive). This is an example of MPDroid displaying the cover art using this method:

    Music Player Daemon (MPD)

    To set this up in MPDroid, go to Settings → Cover art settings. Tick the option 'Download local cover art' to enable two options, 'Path to music' and 'Covert filename'.

    Music Player Daemon (MPD)

    Once the checkbox is set, tap 'Path to music' and set it like so, replace [ip_address] with the the IP address of your Snakeoil machine:

    Music Player Daemon (MPD)

    And in covert 'Cover filename', set it to 'folder.jpg'. Note this name is case sensitive. Also you are free to use another name if you prefer.

    Music Player Daemon (MPD)

    Once you have make this settings, exit the settings and go back to MPDroid playback. Your cover art should start to appear.

    You can use this same idea to configure other MPD clients to use the local cover art. There are more advanced MPD clients with the ability to query the Internet to download the cover art. Unfortunately querying the Internet can be hit and miss (false results). Were possible use a local cover art where possible.

  • Logitech Media Server & Squeezelite

    While MPD reveals a lot about the recordings, LMS/Squeezelite seems to reveal a lot about the music. Squeezelite is a piece of computer software that converts your computer into a Squeezebox clone. These are clients and it communicates with Logitech Media Server (LMS) to cue and play music. LMS is responsible for managing your music library while squeezelite is responsible for playback. All your requests are sent to this central LMS, and from there you can control the behaviour of your squeeze players - whether they will all be sync'ed to play the same playlist, or you can setup different tracks for different players (effectively a multi-zone setup). The beauty of LMS is the big list of plugins available - e.g. Spotify. 

    Words I'd associate with Squeezelite+LMS combo:

    • euphoric,
    • natural,
    • relaxing
    • easy-listening.

    This is a good combination to go with when you simply want to unwind at the end of the day, chill out and relax. More information on how to play music with squeeze is in the How To Play Music chapter.

    Logitech Media Server &amp; Squeezelite

    The Squeezelite player turns your computer into a Squeezebox clone. Allowing you to play music managed by a Logitech Media Server (LMS) on your network. Snakeoil comes with LMS pre-installed but registered users has the option of disabling the bundled LMS if they already have one running in the network (e.g. from a NAS).

    LMS by default applies software volume control. The first thing you need to do (which Snakeoil can't automate) is to change the settings for all your installed players. People who rely on software volume control should ignore this step. 

    Disable Software Volume Control

    Click LMS Web link as shown to start the client:
    Logitech Media Server &amp; Squeezelite

    And you should see this screen.

    Logitech Media Server &amp; Squeezelite

    The audio device added should appear in the top right corner (e.g. QLS). Click on the "Settings" button at the lower right to begin adjusting the software volume control settings.

    Logitech Media Server &amp; Squeezelite

    A new web tab would pop up. Do not change the media and playlist folders as that's where all the music will be located. The other fields can be adjusted to your needs.

    Logitech Media Server &amp; Squeezelite

    Click the word "player", then click the drop down box where it says "Basic" and select the item "Audio".

    Logitech Media Server &amp; Squeezelite

    Make sure the selection highlighted by the ugly arrows are set as per the picture. Setting this feature is very important as it gives you a fair ground to compare this against all other players in Snakeoil. i.e. have all players output in bitperfect, then and only then can you even begin to make an assessment on which player you want to use as your primary player.

    Logitech Media Server &amp; Squeezelite

    Click on the "apply" in the far bottom right to save your changes.

    Playing Back DSD 

    With DSD materials you can choose to either play it as DoP (if your DAC supports it), or have LMS convert DSD to PCM and send the PCM bitstream to your DAC. This is an example of a audio device that don't do DSD:

    Logitech Media Server &amp; Squeezelite

    If you set your audio device like the above you will need to make one more change to LMS. Go to the "advanced" tab, and click on the drop down box, and go to the "File Types" options, like so:

    Logitech Media Server &amp; Squeezelite

    Scroll down the list until you see the entries DFF and DSF. Adjust the settings like so to have LMS convert DSD material into PCM.

    Logitech Media Server &amp; Squeezelite

    When you changed to another DAC  that supports DSD, you'd have to modify the hardware settings to enable DoP support, and then revisit this filetypes page and set DFF/DSF back like so:

    Logitech Media Server &amp; Squeezelite

    Hopefully a future version of Snakeoil will automate this.

    Playing music using LMS web interface

    If you've just installed Snakeoil, and added your music library, give it a few minutes for LMS to scan the directories and add it to the database. Once the files are read and tagged, you can use the surprisingly useful web interface as your remote control:

    Logitech Media Server &amp; Squeezelite

    LMS gives you many ways to look up your music, be it by Folder names, artists, composers and so on. Once added to the queue, the tracks will be shown to your right, refer to the first picture.

    Hover your mouse over any icon to discover it's role.

    Playing music via a smartphone App

    Logitech Media Server &amp; Squeezelite

    There are many smartphone apps that work with LMS. I'm in the Android ecosystem, and have been using Squeezer for a while now. It gives the same functionalities as the LMS web pages, but in a smaller footprint so it's more like a remote control. Similiar apps are available on Apple too, Squeezepad seems to be a popular choice.

    Extra Options

    Some players have a text box beside it, e.g. Enter extra mpd-dsd-rt options here. This means the player support extra configuration options you can fine tune. 

    Extra Options for Squeezelite

    You can put almost all the squeezelite command line in here, except -l, -z, -m, -n and -o. You can use this to really customise Squeezelite, tweak the buffers and so on. Here is the command line explanations:

     -s <server>[:<port>] Connect to specified server, otherwise uses autodiscovery to find server
    -a <b>:<p>:<f>:<m> Specify ALSA params to open output device, b = buffer time in ms or size in bytes, p = period count or size in bytes, f sample format (16|24|24_3|32), m = use mmap (0|1)
    -a <f> Specify sample format (16|24|32) of output file when using -o - to output samples to stdout (interleaved little endian only)
    -b <stream>:<output> Specify internal Stream and Output buffer sizes in Kbytes
    -c <codec1>,<codec2> Restrict codecs to those specified, otherwise load all available codecs; known codecs: flac,pcm,mp3,ogg,aac,dsd (mad,mpg for specific mp3 codec)
    -C <timeout> Close output device when idle after timeout seconds, default is to keep it open while player is 'on'
    -d <log>=<level> Set logging level, logs: all|slimproto|stream|decode|output, level: info|debug|sdebug
    -e <codec1>,<codec2> Explicitly exclude native support of one or more codecs; known codecs: flac,pcm,mp3,ogg,aac,dsd (mad,mpg for specific mp3 codec)
    -f <logfile> Write debug to logfile
    -M <modelname> Set the squeezelite player model name sent to the server (default: SqueezeLite)
    -N <filename> Store player name in filename to allow server defined name changes to be shared between servers (not supported with -n)
    -p <priority> Set real time priority of output thread (1-99)
    -P <filename> Store the process id (PID) in filename
    -r <rates>[:<delay>] Sample rates supported, allows output to be off when squeezelite is started; rates = <maxrate>|<minrate>-<maxrate>|<rate1>,<rate2>,<rate3>; delay = optional delay switching rates in ms
    -R -u [params] Resample, params = <recipe>:<flags>:<attenuation>:<precision>:<passband_end>:<stopband_start>:<phase_response>,
    recipe = (v|h|m|l|q)(L|I|M)(s) [E|X], E = exception - resample only if native rate not supported, X = async - resample to max rate for device, otherwise to max sync rate
    flags = num in hex,
    attenuation = attenuation in dB to apply (default is -1db if not explicitly set),
    precision = number of bits precision (NB. HQ = 20. VHQ = 28),
    passband_end = number in percent (0dB pt. bandwidth to preserve. nyquist = 100%),
    stopband_start = number in percent (Aliasing/imaging control. > passband_end),
    phase_response = 0-100 (0 = minimum / 50 = linear / 100 = maximum)
    -U <control> Unmute ALSA control and set to full volume (not supported with -V)
    -V <control> Use ALSA control for volume adjustment, otherwise use software volume adjustment

  • XMMS


    Short for X MultiMedia System. XMMS really needs no introduction for people who grew up listening to computer audio with WinAmp. People who used WinAmp before will have no trouble with XMMS. This player is included in Snakeoil because libFLAC includes a reference FLAC decoder for it, and this player to me sounds pretty good. For 16 bit FLAC material anyway.

    This is really an old player now and don't work with 24 bit FLAC! Use this player as the reference player to get an idea what FLAC should be.

    XMMS is a graphical player and will be loaded in a virtual desktop. You can view this virtual desktop with a VNC  client (the same way if you did the install). Refer to the VNC section of the Logging In chapter if you havn't done this before. Your VNC session will look like this:


    Read the XMMS user manual on how to use this classic piece of software. Please be aware this player don't support DFF/DSF, or > 16 bit music.

  • Roon Server

    Content Coming Soon

  • Roon Bridge

    RoonBridge works somewhat differently from other Linux software. The RoonBridge is an installation script which then downloads the actual RoonBridge software from the web site. This means your Snakeoil computer needs to be connected to the Internet else the installation will fail.

    Please follow this walkthough to install RoonBridge on your computer. 

  • HQPlayer

    HQPlayer only works on computers that suppor SSE4.2. This means you cannot run this software on typical Atom boards like the Jetway NF9C. The CPU processing required by HQPlayer far exceeds what Atoms can provide anyway.

    So if you intend to use HQPlayer with Snakeoil, please use more beefy hardware, e.g. i7, or Xeons.

  • HQPlayer NAA


    This player will only show up when you install HQPlayer NAA manually. Go to Signalyst's website to download a copy of NAA. You can either install this manually from the shell, or via the Snakeoil tab.

    Make sure you download the binary that matches your architecture (e.g. Download the i386 deb file if you are using 32 bit of Snakeoil OS), and also, the deb package for Trusty.

    This forum thread (link) is a step by step guide on how to download and install the software. Please post in that thread if you have any issues.

  • Amarok

    Content Coming Soon.

  • Clementine

    Content Coming Soon.

  • deadbeef

    Content Coming Soon.

  • qmmp

    Content Coming Soon.

  • upmpdcli

    Content Coming Soon.

  • minimserver

    Content Coming Soon

  • Spotify Connect

    Content Coming Soon.

This collection ©2019 by Agent Kith • ContactHelp