Transcription

Raspberry Pi Internet RadioCompiling and installing the Music PlayerDaemonA comprehensive guide how to compile and install the Music Player DaemonBob Rathbone Computer Consultancywww.bobrathbone.com5th of January 2022MPD Version 0.23.5 Building Music Player Daemoni

ContentsChapter 1 - Introduction . 1Motivation for writing this procedure . 1Audience . 1Pre-requisites . 1Radio software installation . 1Conventions used in this tutorial . 2Chapter 2 - Installing the latest version of MPD . 3Compiling and installing the latest Music Player Daemon . 3Upgrade the operating system . 3Downloading the source . 3Install Ninja and Meso build utilities. 4Install pre-requisite libraries . 4Build the MPD package . 4Install the MPD package . 5Configuring the new MPD package. 5Testing MPD . 6Installing MPD upgrade from a Debian package. 7Installing the latest MPC client from source . 9Installing Music Player client (mpc) from a Debian package . 11Chapter 3 - Building the MPD Debian packages . 12Building the MPD Debian package . 12Building the MPC Client Debian Package . 13Chapter 4 - Trouble shooting . 14MPD fails to start . 14Missing configuration file in mpd.service file . 14Missing Libraries cause service start to fail . 14Chapter 4 - Licences, disclaimer and support . 16Licences . 16Disclaimer. 16Support . 16Acknowledgements and Copyrights . 16Appendix A – The MPD service file . 17 Building Music Player Daemonii

Appendix B – MPD and MPC package build example output . 18Appendix B.1 MPD package build example . 18Appendix B.2 MPC package build example. 19Appendix C – MPC commands . 20FiguresFigure 1 Music Player Daemon Website . 3Figure 2 MPC client source download . 9 Building Music Player Daemoniii

Chapter 1 - IntroductionThis manual describes how download, compile and install the MusicPlayer Daemon (MPD) for Raspberry Pi on the Raspberry Pi OS operatingsystem (Formally called Raspbian). It is a supplement to the Raspberry PiConstructors Guide for building Internet radios. However, it can be usedfor any package which utilises the Music Player Daemon.The source and basic construction details for the Raspberry Pi InternetRadio are available from the following web site:https://bobrathbone.com/raspberrypi/pi internet radio.htmlMotivation for writing this procedureThe Raspberry Pi usually is installed with the Raspberry Pi OS operating system. At the time ofwriting the latest version of Raspberry Pi OS is called Bullseye. Unfortunately, Raspberry Pi OS isreleased with out-of-date versions of the Music Player daemon. To date the MPD software is neverupdated with the normal package upgrade releases.The MPD version described in this procedure is 0.23.5 whilst the version released with Bullseye is0.22.6 and is already fairly out-of-date. The version released with Buster is 0.21.5 which is evenworse as it is years out of date. The latest version of MPD is much more stable. Due to their age, it isimpossible to get support on the older versions of MPD.AudienceThis guide is intended for anyone that wishes to update their Music Player Daemon and Client (MPC)to the latest version. However, a certain amount of knowledge of the Linux Operating System isrequired as well as the ability to edit and change system files. This does not rule this procedure outfor use by those less experienced but in such a case caution should be applied as the procedures inthis manual are classed as moderately advanced.Pre-requisites1. Raspberry Pi OS Buster or Bullseye installed and updated using apt-get update and apt-getupgrade.2. The version of MPD package released with Raspberry Pi OS Buster (0.21.5) or Bullseye(0.22.6) should be first installed.3. A reasonably fast Raspberry Pi. The Raspberry Pi Zero isn’t really suitable.Note: During testing an attempt was made to run this procedure on a Pi Zero but withoutsuccess. The problem was that the compile phase took hours to run and seemed to hang.The suggestion is to put the SD card to be upgraded into a faster Raspberry Pi and then upgrade it orrun the compilation procedure on the Raspberry Pi Zero overnight.Radio software installationIf you have reached this document whilst installing the Raspberry Pi Radio Software (radiod) thenyou should first install and configure the MPD software released with Buster and the radio softwareas shown in the constructor’s manual.See Raspberry%20PI%20Radio.pdfBuilding Music Player Daemon Chapter 1 - Introduction1

Conventions used in this tutorialInstallation of the radio program requires you to enter lines at the command line prompt. Thisrequires you to log into the Raspberry PI as user ‘pi’. The default password is raspberry.Note: Don’t carry out any of the following commands just yet. They are just examples.Raspberrypi login: piPassword: [email protected]: Last login: Wed [email protected]: 9 12:17:35 2020 from 192.168.1.200The prompt line is displayed ending with a sign. The [email protected]: string means user ‘pi’ onhost machine called ‘raspberrypi’. The character means the user ‘pi’ home directory /home/pi. Inthis tutorial if you are required to do something as user pi then only the sign will be shownfollowed by the command as shown in the example below: mpc statusCopy and paste the highlighted text only to the command line. Omit the sign.Some commands produce a lot output which does not need to be shown. In such a case a colon (‘:’)is used to indicate that some output has been omitted. mpd -VMusic Player Daemon 0.23.5(0.23.5)Copyright 2003-2007 Warren Dukes [email protected] Copyright 2008-2018 Max Kellermann [email protected] :Other features:avahi dbus udisks epoll icu inotify ipv6 systemd tcp unNote that when a command is shown with the resulting output the command which was entered isshown in bold.END OF EXAMPLE COMMANDS.Building Music Player Daemon Chapter 1 - Introduction2

Chapter 2 - Installing the latest version of MPD and MPCThere are two methods of updating MPD.1. Download the latest MPD source, then compile and install it.2. Download a ready-made Debian package mpd 0.23.5 armhf.debTo install directly from the Debian package (option 2) see Installing MPD upgrade from a Debianpackage on page 7.Compiling and installing the latest Music Player DaemonThis procedure is based upon the following lYou are strongly advised to read both the above document and this one but with caution as eithercan change. However, there are a number of gaps in the document from miscpd.org which can leadto confusion when operating the new version of MPD. This guide has been written for theinstallation of Music Player Daemon version 0.23.5 dated 24th August 2021.Upgrade the operating systemRun the following three commands: sudo apt-get update sudo apt-get upgrade sudo rebootDownloading the sourceThe source is downloaded from MusicPd at https://www.musicpd.org/Click todownloadFigure 1 Music Player Daemon WebsiteThis will list the latest version of the software; in this case it is version 0.23.5. If downloading a laterversion than shown then substitute the version number shown in the following examples with theone you are downloading. Either click on the version number to download the software to your PC,or alternatively right click the version number to copy the link then use wget to download it via thecommand line on the Raspberry Pi.Building Music Player Daemon Chapter 2 - Installing the latest version of MPD andMPC3

cd wget 5.tar.xzNow unzip the archivetar -xvf mpd-0.23.5.tar.xzThis will unzip the archive to a directory called mpd-0.23.5.Install Ninja and Meso build utilitiesThis build uses Ninja and Meson. sudo apt-get install meson ninja-buildInstall pre-requisite librariesChange to the recently created MPD build directory: cd mpd-0.23.5Now install the pre-requisite libraries. Note that the text below is all one line. Do not copy the . sudo apt install meson g libpcre3-dev libmad0-dev libmpg123-devlibid3tag0-dev libflac-dev libvorbis-dev libopus-dev libogg-dev libadplugdev libaudiofile-dev libsndfile1-dev libfaad-dev libfluidsynth-dev libgmedev libmikmod-dev libmodplug-dev libmpcdec-dev libwavpack-dev libwildmididev libsidplay2-dev libsidutils-dev libresid-builder-dev libavcodec-devlibavformat-dev libmp3lame-dev libtwolame-dev libshine-dev libsamplerate0dev libsoxr-dev libbz2-dev libcdio-paranoia-dev libiso9660-dev libmms-devlibzzip-dev libcurl4-gnutls-dev libyajl-dev libexpat-dev libasound2-devlibao-dev libjack-jackd2-dev libopenal-dev libpulse-dev libshout3-devlibsndio-dev libmpdclient-dev libnfs-dev libupnp-dev libavahi-client-devlibsqlite3-dev libsystemd-dev libgtest-dev libboost-dev libicu-devlibchromaprint-dev libgcrypt20-devPress enter to install the above libraries.Build the MPD packageThe package uses a multi-platform software build system called meson from mesonbuild.com.See https://mesonbuild.com/ for further information. Configure the package with the followingcommand: meson . output/release --buildtype debugoptimized -Db ndebug trueNormally packages are built and installed with make. In this case the MPD is installed using ninja. Forfurther information see https://ninja-build.org/. Run the following. sudo ninja -C output/releaseBuilding Music Player Daemon Chapter 2 - Installing the latest version of MPD andMPC4

This will take quite a long time as it has at least 660 files to compile. On a Raspberry Pi 4 it will takeabout 10 minutes. On slower Raspberry Pi it will be at least twice that.Install the MPD packageStop MPD and any software using it. In this example radiod is stopped. sudo systemctl stop radiod mpdFinally run the following command to actually install the package. sudo ninja -C output/release installThis will install the mpd daemon in the /usr/local/bin directory.ninja: Entering directory output/release'[1/2] Installing files.Installing mpd to /usr/local/binInstalling /home/pi/mpd-0.23.5/systemd/system/mpd.socket to/usr/local/lib/systemd/systemInstalling mpd.service to/usr/local/lib/systemd/systemInstalling et to/usr/local/lib/systemd/userInstalling d.service to/usr/local/lib/systemd/userInstalling /home/pi/mpd-0.23.5/mpd.svg alling /home/pi/mpd-0.23.5/AUTHORS to /usr/local/share/doc/mpdInstalling /home/pi/mpd-0.23.5/COPYING to /usr/local/share/doc/mpdInstalling /home/pi/mpd-0.23.5/NEWS to /usr/local/share/doc/mpdInstalling /home/pi/mpd-0.23.5/README.md to /usr/local/share/doc/mpdConfiguring the new MPD packageIf you previously installed version 0.21.5 of MPD released with Buster, then it will still be present inthe /usr/bin directory. /usr/bin/mpd -V head -1Music Player Daemon 0.21.5 (0.21.5)The new version is in the /usr/local/bin directory. /usr/local/bin/mpd -V head -1Music Player Daemon 0.23.5 (0.23.5)The system MPD service unit is no longer /lib/systemd/system/mpd.service but is now in/usr/local/lib/systemd/system/mpd.service. However, for some reason appears to be unable tofind the /etc/mpd.conf configuration file.If MPD doesn’t start edit the /usr/local/lib/systemd/system/mpd.service (Use sudo vi or nano)Change the ExecStart line from:Building Music Player Daemon Chapter 2 - Installing the latest version of MPD andMPC5

ExecStart /usr/local/bin/mpd --no-daemonTo the following:ExecStart /usr/local/bin/mpd --no-daemon /etc/mpd.confNow reload system units. sudo systemctl daemon-reloadTesting MPDStart the MPD daemon and check its status. sudo systemctl start mpd sudo systemctl status mpdThis should display something similar to the following: mpd.service - Music Player DaemonLoaded: loaded (/usr/local/lib/systemd/system/mpd.service; disabled;vendor preset: enabled)Active: active (running) since Wed 2020-10-07 19:41:35 BST; 21s agoDocs: man:mpd(1)man:mpd.conf(5)Main PID: 16218 (mpd)Tasks: 6 (limit: 2068)CGroup: /system.slice/mpd.service 16218 /usr/local/bin/mpd --no-daemon /etc/mpd.conf:Note: Note ignore any warnings about wildmidi or bind errors.Note that the version of mpd being used is in /usr/local/bin and not /usr/bin. This is confirmed withthe following command: which mpd/usr/local/bin/mpdIf you already have a playlist and MPD has been configured for your sound device the first stationshould start playing. If you don’t have a playlist then create one in /var/lib/mpd/playlists/ playlistname .m3uFor example, /var/lib/mpd/playlists/ Radio.m3u#EXTM3U#EXTINF:-1,BBC Radio 1http://sc59.lon.llnw.net:80/stream/bbcmedia radio1 mf p#BBC Radio 1#EXTM3U#EXTINF:-1,BBC Radio 2http://bbcmedia.ic.llnwd.net/stream/bbcmedia radio2 mf p?s#BBC Radio 2#EXTINF:-1,Nashville shville FM#EXTM3UBuilding Music Player Daemon Chapter 2 - Installing the latest version of MPD andMPC6

#EXTINF:-1,UK Country Radiohttp://s3.xrad.io:8064/#UK Country Radio#EXTM3U#EXTINF:-1,Radio io LichtensteinNow load the new radio playlist. Omit the m3u extension. mpc load RadioConfirm that it is loaded. mpc playlistBBC Radio 1BBC Radio 2UK Country RadioNow play the first station. mpc playBBC Radio 1[playing] #1/1430:00/0:00 (0%)volume: 60%repeat: offrandom: offsingle: offconsume: offAdjust the volume as necessary mpc volume 70This ends the procedure. If you are running the Rathbone radio software the restart it by rebootingthe Raspberry Pi or run sudo systemctl start radiod.Installing MPD upgrade from a Debian packageThe package is currently available in the package directory on the Bob Rathbone web site.This is an upgrade and mpd and mpc must be installed first. If you have already installed theRathbone Internet radio software then this step isn’t necessary but does no harm as mpc and mpdare already installed. sudo apt-get install mpd mpcAnswer yes ‘y’ when asked to continue.Install the required libraries. This may take some time if not already installed. Note the followinginstruction is all one line. Do not copy the character. sudo apt-get install libsidutils0 libresid-builder0c2a libcurl3-gnutlslibadplug-2.2.1-0v5 libaudiofile1 libyajl2 libiso9660-11 libzzip-0-13 libao4Download the MPD update software.Building Music Player Daemon Chapter 2 - Installing the latest version of MPD andMPC7

wget https://bobrathbone.com/raspberrypi/packages/mpd 0.23.5 armhf.debNow install with dpkg. sudo dpkg -i mpd 0.23.5 armhf.deb(Reading database . 117699 files and directories currently installed.)Preparing to unpack mpd 0.23.5 armhf.deb .Installing MPDsystemctl stop mpd.service mpd.socketUnpacking mpd (0.23.5) over (0.23.5) .Removing MPDSetting up mpd (0.23.5) .Updating MPD configurationLinking MPD service and socket to systemd configurationsudo chown mpd:audio /var/tmp/mpd.conf/etc/mpd.conf existssudo chown mpd:audio /etc/mpd.confIgnore the warnings for /var/log/mpd and /var/lib/mpd.Reboot the Raspberry Pi to enable the new version. sudo rebootNote: For some unknown reason when mpd.socket is run from this package it changes theownership of the /var/run/mpd directory from mpd:audio to root:root which causes mpd.serviceto fail with a permissions error. To correct this problem the following line has been added tompd.service just before the ExecStart statement.ExecStartPre -/bin/chown mpd:audio /var/run/mpdBuilding Music Player Daemon Chapter 2 - Installing the latest version of MPD andMPC8

Installing the latest MPC client from sourceThe mpc client software is also out of date but will work fine with the latest version of MPDdescribed in this manual. However, this can also be also be compiled and installed. Only carry outthis routine after installing meson and ninja and compiling MPD as previously shown. Go tohttps://www.musicpd.org/ and click on “clients” in the left-had menu. Now copy the link to mpc asshown below.Copy thislinkFigure 2 MPC client source downloadType in wget and copy the link just copied from the musicpd.org site. wget r.xzExtract the mpc source archive. tar -xvf mpc-0.34.tar.xzChange to mpc the build directory. cd mpc-0.34Run meson to configure the compile process. meson . outputCompile the mpc source code. ninja -C outputInstall the mpc client. sudo ninja -C output installBuilding Music Player Daemon Chapter 2 - Installing the latest version of MPD andMPC9

ninja: Entering directory output'[0/1] Installing files.Installing mpc to /usr/local/binInstalling /home/pi/mpc-0.34/AUTHORS to /usr/local/share/doc/mpcInstalling /home/pi/mpc-0.34/COPYING to /usr/local/share/doc/mpcInstalling /home/pi/mpc-0.34/NEWS to /usr/local/share/doc/mpcInstalling /home/pi/mpc-0.34/README.rst to /usr/local/share/doc/mpcInstalling /home/pi/mpc-0.34/contrib/mpd-m3u-handler.sh to/usr/local/share/doc/mpc/contribInstalling /home/pi/mpc-0.34/contrib/mpd-pls-handler.sh to/usr/local/share/doc/mpc/contribInstalling /home/pi/mpc-0.34/contrib/mpc-completion.bash to/usr/local/share/doc/mpc/contribThe new mpc client will be found in which mpc/usr/local/bin/mpcMove the old version of mpc out the way and link the newly compiled client to /usr/bin/mpc cd /usr/bin/ sudo mv mpc mpc.old sudo ln -s /usr/local/bin/mpcRestart the MPD sudo systemctl restart mpdTest mpc. Check the version first. mpc help head -3 grep versionmpc version: 0.34Run mpc. There is no need to reboot the Raspberry Pi.Radio Caroline: Sweet Little Machine - We Used To Own These Playgrounds[playing] #18/116 262:59/0:00 (0%)volume: 58%repeat: offrandom: offsingle: offconsume: offNote: There are new commands for the new version of mpc. A complete list of mpccommands is shown in Appendix C – MPC commands on page 20.Building Music Player Daemon Chapter 2 - Installing the latest version of MPD andMPC10

Installing Music Player client (mpc) from a Debian packageThe mpc client package is currently available in the package directory on the Bob Rathbone web site.This is an upgrade and the latest mpd as shown in the section called Installing MPD upgrade from aDebian package on page 7 must be installed first.Download the MPD update software. wget https://bobrathbone.com/raspberrypi/packages/mpc 0.34 armhf.debNow install with dpkg. sudo dpkg -i mpc 0.34 armhf.deb(Reading database . 107174 files and directories currently installed.)Preparing to unpack mpc 0.34 armhf.deb .Installing MPCUnpacking mpc (0.34) over (0.34) .Removing MPCsudo rm /usr/bin/mpcsudo mv /usr/bin/mpc.old /usr/bin/mpcSetting up mpc (0.34) .Updating MPC configurationsudo rm /usr/bin/mpcsudo ln -s /usr/local/bin/mpc /usr/bin/mpcTest mpc. mpcBBC Radio: BBC Radio 2[playing] #2/114 30:52/0:00 (0%)volume: 85%repeat: offrandom: offsingle: offconsume: offBuilding Music Player Daemon Chapter 2 - Installing the latest version of MPD andMPC11

Chapter 3 - Building the MPD Debian packagesBuilding the MPD Debian packageThis chapter shows how to create the MPD Debian package using the script provided from thefollowing GitHub geBefore this can be done you must first download and compile the MPD package fromGitHub as shown in Chapter 2 - Installing the latest version of MPD on page 3. If this hasalready been done, download the MPD Debian package scripts from GitHub. cd git clone https://github.com/bobrathbone/mpdpackageNow change directory to mpdpackage. cd mpdpackageEdit the build script build.sh. Find the BUILD DIR definition. Amend this to point to the actual MPDbuild directory that was used in Chapter 2 - Installing the latest version of MPD on page 3.BUILD DIR /home/pi/mpd-0.23.5Now run the build.sh script. ./build.shIf you see an error similar to below, check that you have correctly specified the BUILD DIRdefinition.Building MPD version 0.22.8ERROR: /home/pi/mpd-0.22.8/output not foundCheck that BUILD DIR is correctly specified in this scriptAbortingIf you have correctly specified the BUILD DIR definition the you should see the output similar to thatshown in Appendix B – MPD and MPC package build example output on page 18. The packagempd 0.23.5 armhf.deb should also have been created. This can now be installed with dpkg. sudo dpkg -i mpd 0.23.5 armhf.debBuilding Music Player Daemon Chapter 3 - Building the MPD Debian packages12

Building the MPC Client Debian PackageThis chapter shows how to create the MPC Client Debian package using the script provided from thefollowing GitHub geBefore this can be done you must first download and compile the MPD and MPCpackages as shown in Chapter 2 - Installing the latest version of MPD on page 3 andInstalling the latest MPC client from source on page 9.First download the MPC Debian package scripts from GitHub. cd git clone https://github.com/bobrathbone/mpcpackageNow change directory to mpcpackage. cd mpcpackageEdit the build script build.sh. Find the BUILD DIR definition. Amend this to point to the actual MPCbuild directory that was used in Installing the latest MPC client from source on page 9.BUILD DIR /home/pi/mpc-0.34Now run the build.sh script. ./build.shIf you see an error similar to below, check that you have correctly specified the BUILD DIRdefinition. ./build.shBuilding MPC version 0.30ERROR: /home/pi/mpc-0.30/output not foundCheck that BUILD DIR is correctly specified in this scriptAbortingIf you have correctly specified the BUILD DIR definition the you should see the output similar to thatshown in Appendix B – MPD and MPC package build example output on page 18. The packagempd 0.34 armhf.deb should also have been created. This can now be installed with dpkg. sudo dpkg -i mpc 0.34 armhf.debBuilding Music Player Daemon Chapter 3 - Building the MPD Debian packages13

Chapter 4 - Trouble shootingMPD fails to startMissing configuration file in mpd.service file sudo systemctl start mpdJob for mpd.service failed because the control process exited with errorcode.See "systemctl status mpd.service" and "journalctl -xe" for details.Check the status systemctl status mpd.service mpd.service - Music Player DaemonLoaded: loaded (/usr/local/lib/systemd/system/mpd.service; disabled;vendor preset: enabled)Active: failed (Result: exit-code) since Fri 2020-05-29 19:30:19 BST;1min 41s agoDocs: man:mpd(1)man:mpd.conf(5)Process: 1060 ExecStart /usr/local/bin/mpd --no-daemon (code exited,status 1/FAILURE)Main PID: 1060 (code exited, status 1/FAILURE)May 29 19:30:19 buster03 systemd[1]: Starting Music Player Daemon.May 29 19:30:19 buster03 mpd[1060]: exception: No configuration file foundMay 29 19:30:19 buster03 systemd[1]: mpd.service: Main process exited,code exited, status 1/FAILUREMay 29 19:30:19 buster03 systemd[1]: mpd.service: Failed with result 'exitcode'.May 29 19:30:19 buster03 systemd[1]: Failed to start Music Player Daemon.In this case /usr/local/bin/mpd cannot find /etc/mpd.conf. Check that the ExecStart statement in/usr/local/lib/systemd/system/mpd.service contains the configuration file name.ExecStart /usr/local/bin/mpd --no-daemon /etc/mpd.confMissing Libraries cause service start to failA message similar to the following shows that one or more required libraries are missing. sudo systemctl status mpd.service mpd.service - Music Player Daemon:Apr 12 01:54:59 buster04 mpd[3460]: /usr/local/bin/mpd: error while loadingshared libraries: libao.Apr 12 01:54:59 buster04 systemd[1]: mpd.service: Main process exited,code exited, status 127/n/aApr 12 01:54:59 buster04 systemd[1]: mpd.service: Failed with result 'exitcode'.Apr 12 01:54:59 buster04 systemd[1]: Failed to start Music Player Daemon.Building Music Player Daemon Chapter 4 - Trouble shooting14

Solution: Install the pre-requisite libraries. Note that the text below is all one line.Do not copy the . sudo apt install libpcre3 libao4 libmad0 libmpg123-0 libid3tag0 libflac8libvorbis0a libopus0 libogg0 libsndfile1 libfaad2 libfluidsynth1 libgme0libmikmod3 libmodplug1 libmpcdec6 libwavpack1 libwildmidi2 libsidplay2libsidutils0 libresid-builder0c2a libavcodec58 libavformat58 libmp3lame0libtwolame0 libshine3 libsamplerate0 libsoxr0 libbz2-1.0 libcdio-paranoia2libiso9660-11 libmms0 libzzip-0-13 libyajl2 libexpat1 libasound2 libaom0libjack-jackd2-0 libopenal1 libpulse0 libshout3 libsndio7.0 libmpdclient2libnfs12 libupnp13 libavahi-client3 libsqlite3-0 libsystemd0 libicu63libchromaprint1 libgcrypt20 libcurl3-gnutls libadplug-2.2.1-0v5libaudiofile1Press enter to install the above libraries.Reset failed units mpd service units. and recheck. sudo systemctl reset-failed mpd.socket mpd.serviceRestart mpd service. sudo systemctl start mpd.serviceRe-check the mpd service. sudo systemctl status mpd.service mpd.service - Music Player DaemonLoaded: loaded (/usr/local/lib/systemd/system/mpd.service; enabled;vendor preset: enabled)Active: active (running) since Mon 2021-04-12 02:06:32 HDT; 2min 29s ago:Apr 12 02:06:32 buster04 systemd[1]: Started Music Player Daemon.Finally remove any redundant libraries sudo apt autoremoveBuilding Music Player Daemon Chapter 4 - Trouble shooting15

Chapter 4 - Licences, disclaimer and supportLicencesThe software and documentation for this project is released under the GNU General Public Licence.The GNU General Public License (GNU GPL or GPL) is the most widely used free software license,which guarantees end users (individuals, organizations, companies) the freedoms to use, study,share (copy), and modify the software. Software that ensures that these rights are retained is calledfree software. The license was originally written by Richard Stallman of the Free SoftwareFoundation (FSF) for the GNU project.The GPL grants the recipients of a computer program the rights of the Free Software Definition anduses copyleft to ensure the freedoms are preserved whenever the work is distributed, even whenthe work is changed or added to

The Raspberry Pi usually is installed with the Raspberry Pi OS operating system. At the time of writing the latest version of Raspberry Pi OS is called Bullseye. Unfortunately, Raspberry Pi OS is released with out-of-date versions of the Music Player daemon. To date the MPD software i