Players/musicpd: Difference between revisions

From Snakeoil OS Reference
Jump to navigation Jump to search
No edit summary
No edit summary
 
(38 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{DISPLAYTITLE: Music Player Daemon}}{{TopicPlayers|float:right;}}
{{TopicPlayers|float:right;}}
[[File:Music Player - mpd.png|center|frame|Music Player - 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.


{{ManualNavigation|[[Players|Music Players]]
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.
|
 
|[[Players/LMS-Squeezelite|Logitech Media Server & Squeezelite]]
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.
}}
 
Different versions 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 since. v17 is included for historical reference (as a comparison). Always use the latest version avilable if you can.
 
Do not be deceived by the simplicity of MPD. This is an ultra high quality, no-frills player. It 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 [[Players/musicpd/0.18-dsd-rt|player's page]] on how to set this up.
 
==Common MPD Configuration==
You can specify the following configuration options to tweak MPD. Separate each option with a ';' (semi-colon). Specific configuration options may exist for different versions of MPD, please refer to their pages for more information.
 
=== Disable Remote ===
You can disable myMPD from starting by entering the following in the options. Please type these as is (case sensitive!)<syntaxhighlight lang="abap">
remote=off
</syntaxhighlight>
 
===Volume Mixer===
Use this if you want to enable MPD's built in software volume control (SVC). in MPD. Snakeoil disables SVC by default. The assumption is you are running your Snakeoil PC through an high quality pre-amplifier. Add the following option to enable MPD's SVC if you want to connect your PC straight to your speaker system.
{| class="wikitable"
!MPD Option
!Settings
!Comments
|-
| rowspan="3" |mixer_type
|hardware
|Use the hahrdware audio volume control (if available)
|-
|software
|Use ALSA to adjust volume control
|-
|none
|Disable MPD volume control. (Default)
|}
 
===On Screen Display (OSD)===
Applies to Raspberry Pi only. This will enable the OLED on screen display. Refer to this [https://www.snakeoil-os.net/forums/Thread-OLED-display-for-Snakeoil-Raspberry-Pi-and-MPD forum thread] for more information.
{| class="wikitable"
!MPD Option
!Settings
!Comments
|-
|mpd_oled
|[none]
|Enable OLED OSD<br />
|}
 
===Streaming Services===
MPD no longer support streaming services.  Please use [[Players/LMS-Squeezelite#Music streaming services|Logitech Media Server]] and its streaming service plugins.
 
==Custom Audio Output==
Content coming soon.
 
==MPD Versions Available in Snakeoil==
Since 1.2.6, SnakeOil has MPD 0.21, 0.22 and 0.23.
 
==MPD Client - myMPD==
There is a a long list of MPD clients you can use to queue music for MPD, see [http://mpd.wikia.com/wiki/Clients this site] for a full list.
 
For Android devices my favourite is [https://play.google.com/store/apps/details?id=com.namelessdev.mpdroid&hl=en MPDroid]; Peep in the Apple world can try out [https://itunes.apple.com/au/app/mpad/id423097706?mt=8 MPad]. Using a mobile device is the ideal method for remote control as it allows you to browse the albums and artists while sitting comfortably. Finding a remote app that works best for you is really all about personal choices, so take your time to find the one that suits your workflow best.
 
Snakeoil OS firmware 1.0.9 onwards comes bundled with a web client call ympd. To launch ympd, go to the 'Music Players', and click the label myMPD in Audio State, highlighted here:
[[File:Mpd remote.jpg|alt=|center|thumb|500x500px|Musicplayers - remote client mpd]]
This will launch yMPD in a new browser tab, like so:
[[File:Web client.png|center|thumb|1241x1241px|yMPD - Web client]]
 
===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" menu item at the top to get into the settings page, followed by the "Update DB" button (arrow).
[[File:Ympd - settings.png|center|thumb|631x631px|Ympd - settings]]
Be patient, the first scan may take a long time (It takes around 20 minutes to parse 45,000 music files). If you quit MPD while the database is scanning you may be required to re-do the scan on restart. 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.
 
===Browse Music===
Click on "Browse Database" at the top navigation bar to get to this view:
[[File:Ympd - browser.png|center|thumb|1192x1192px|Ympd - browser]]
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.
[[File:Ympd - browser inside a folder.png|center|thumb|1182x1182px|Ympd - browser inside a folder]]
 
===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.
[[File:Ympd - queue.png|center|thumb|1169x1169px|Ympd - queue]]
 
===Dirble===
[https://dirble.com/ 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.
[[File:Ympd - drible.png|center|thumb|1054x1054px|Ympd - drible]]
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.
 
==Folder Art Configuration For Your MPD Client==
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:
[[File:Mpdroid.png|center|thumb|800x800px|Mpdroid showing coverart]]
 
===MPDroid Example===
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'.
[[File:Mpdroid cover art settings.png|center|thumb|800x800px|Mpdroid cover art settings]]
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:
[[File:Mpdroid path to music.png|center|thumb|971x971px|Mpdroid path to music]]
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.
[[File:Mpdroid cover filename.png|center|thumb|948x948px|Mpdroid cover filename]]
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.
 
===MAFA embedded album art===
[https://mafa.indi.software/ MAFA] is a paid Android application which is rich in features and user friendly.  As well as supporting album art in folders (as above), MAFA can also read embedded album art.  MAFA first tries to get cover art file from the directory of the first album track. If that file was not found it will try to get embedded image from the first album track.  MAFA is ideal for people who are migrating to MPD and have yet to set up their folder art.
 
<br />
[[Category:Music Players]]

Latest revision as of 11:14, 26 December 2022

Music Player - 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.

Different versions 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 since. v17 is included for historical reference (as a comparison). Always use the latest version avilable if you can.

Do not be deceived by the simplicity of MPD. This is an ultra high quality, no-frills player. It 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 player's page on how to set this up.

Common MPD Configuration

You can specify the following configuration options to tweak MPD. Separate each option with a ';' (semi-colon). Specific configuration options may exist for different versions of MPD, please refer to their pages for more information.

Disable Remote

You can disable myMPD from starting by entering the following in the options. Please type these as is (case sensitive!)

remote=off

Volume Mixer

Use this if you want to enable MPD's built in software volume control (SVC). in MPD. Snakeoil disables SVC by default. The assumption is you are running your Snakeoil PC through an high quality pre-amplifier. Add the following option to enable MPD's SVC if you want to connect your PC straight to your speaker system.

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)

On Screen Display (OSD)

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

MPD Option Settings Comments
mpd_oled [none] Enable OLED OSD

Streaming Services

MPD no longer support streaming services. Please use Logitech Media Server and its streaming service plugins.

Custom Audio Output

Content coming soon.

MPD Versions Available in Snakeoil

Since 1.2.6, SnakeOil has MPD 0.21, 0.22 and 0.23.

MPD Client - myMPD

There is a a long list of MPD clients you can use to queue music for MPD, see this site for a full list.

For Android devices my favourite is MPDroid; Peep in the Apple world can try out MPad. Using a mobile device is the ideal method for remote control as it allows you to browse the albums and artists while sitting comfortably. Finding a remote app that works best for you is really all about personal choices, so take your time to find the one that suits your workflow best.

Snakeoil OS firmware 1.0.9 onwards comes bundled with a web client call ympd. To launch ympd, go to the 'Music Players', and click the label myMPD in Audio State, highlighted here:

Musicplayers - remote client mpd

This will launch yMPD in a new browser tab, like so:

yMPD - Web client

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" menu item at the top to get into the settings page, followed by the "Update DB" button (arrow).

Ympd - settings

Be patient, the first scan may take a long time (It takes around 20 minutes to parse 45,000 music files). If you quit MPD while the database is scanning you may be required to re-do the scan on restart. 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.

Browse Music

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

Ympd - browser

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.

Ympd - browser inside a folder

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.

Ympd - queue

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.

Ympd - drible

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.

Folder Art Configuration For Your MPD Client

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:

Mpdroid showing coverart

MPDroid Example

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'.

Mpdroid cover art settings

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:

Mpdroid path to music

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.

Mpdroid cover filename

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.

MAFA embedded album art

MAFA is a paid Android application which is rich in features and user friendly. As well as supporting album art in folders (as above), MAFA can also read embedded album art. MAFA first tries to get cover art file from the directory of the first album track. If that file was not found it will try to get embedded image from the first album track. MAFA is ideal for people who are migrating to MPD and have yet to set up their folder art.