Volumio + Rpi4 player for SACD and DVD-A ISOs [Using Beta + Custom MPD]

[DISCLAIMER: THIS IS USING BETA VOLUMIO AND MODIFIED MPD. Please understand the risks, Below procedure works as of July 2021. This is only an informational steps for people who might be interested in extending Volumio’s capability as a fun experiment.]

Here is a brief tutorial for anyone who might be interested to play 2CH and MCH content from the ISOs.

I have tested it out using HDMI output and USB to Topping E30.

I have used the Beta release of the latest volumio for getting Buster version of Debian, and a modified mpd player to achieve this. So if you update your image in the future, you may have to repeat some steps below.

  1. Download latest buster based beta of volumio for RaspberryPi, and flash the image

  2. Do minimal network configuration for volumio, so that ssh will work (you can add the music sources at the end, as mentioned below).

  3. login thru putty for ssh. Username/Password: volumio/volumio, sudo passwd: volumio

  4. Install few required dummy packages so that volumio patches are not lost.

wget https://repo.volumio.org/Volumio2/Binaries/arm/libraspberrypi0_0.0.1_all.deb
wget https://repo.volumio.org/Volumio2/Binaries/arm/raspberrypi-bootloader_0.0.1_all.deb
wget https://repo.volumio.org/Volumio2/Binaries/arm/raspberrypi-kernel_0.0.1_all.deb
sudo dpkg -i libraspberrypi0_0.0.1_all.deb
sudo dpkg -i raspberrypi-bootloader_0.0.1_all.deb
sudo dpkg -i raspberrypi-kernel_0.0.1_all.deb
  1. Install required packages to build mpd User’s Manual — Music Player Daemon 0.22.9 documentation
sudo apt update
sudo apt install meson g++ \
  libpcre3-dev \
  libmad0-dev libmpg123-dev libid3tag0-dev \
  libflac-dev libvorbis-dev libopus-dev libogg-dev \
  libadplug-dev libaudiofile-dev libsndfile1-dev libfaad-dev \
  libfluidsynth-dev libgme-dev libmikmod-dev libmodplug-dev \
  libmpcdec-dev libwavpack-dev libwildmidi-dev \
  libsidplay2-dev libsidutils-dev libresid-builder-dev \
  libavcodec-dev libavformat-dev \
  libmp3lame-dev libtwolame-dev libshine-dev \
  libsamplerate0-dev libsoxr-dev \
  libbz2-dev libcdio-paranoia-dev libiso9660-dev libmms-dev \
  libzzip-dev \
  libcurl4-gnutls-dev libyajl-dev libexpat-dev \
  libasound2-dev libao-dev libjack-jackd2-dev libopenal-dev \
  libpulse-dev libshout3-dev \
  libsndio-dev \
  libmpdclient-dev \
  libnfs-dev \
  libupnp-dev \
  libavahi-client-dev \
  libsqlite3-dev \
  libsystemd-dev \
  libgtest-dev \
  libboost-dev \
  libicu-dev \
  libchromaprint-dev \
  libgcrypt20-dev \
  libfmt-dev
  1. download the modified Music Player Daemon which supports SACD/DVD-A ISOs
    MPD / MPD.git / [c6dfcc]
git clone https://git.code.sf.net/p/sacddecoder/mpd/MPD.git sacddecoder-mpd-MPD.git
cd sacddecoder-mpd-MPD
meson . output/release --buildtype=debugoptimized -Db_ndebug=true
meson configure output/release
ninja -C output/release
  1. stop default mpd, and rename it
sudo systemctl stop mpd
sudo mv /usr/bin/mpd /usr/bin/mpd_old
  1. copy the custom build mpd to /usr/bin
sudo  cp output/release/mpc /usr/bin
  1. modify the mpd.service file (if required do - sudo apt install vim)
sudo vim /lib/systemd/system/mpd.service

[change the following line for ExecStart]
#ExecStart=/usr/bin/mpd --no-daemon $MPDCONF
ExecStart=/usr/bin/mpd --no-daemon /etc/mpd.conf

[Note: Not sure why the $MPDCONF environment variable did not work, I just hard coded it for now]

  1. reload the service scripts
sudo systemctl daemon-reload
  1. reboot

  2. login to volumio page, and now add your network/usb hdd sources which contain the ISOs

  3. Done, now you should be able to select the ISOs and play the music
    [I usually copy the album image as “folder.jpg” under the same folder as the iso file]

Hope this is useful for anyone looking for alternate option to play ISOs.
[Note: Was not that happy with HDMI O/P, felt it had little disturbances, could be the ordinary HDMI cable. But USB to DAC was amazing]

1 Like

I was not able to create a topic with more than 2 links in it. Will try to update the first post by editing, or update the links in subsequent posts in this thread.

Links

1 - Volumio Debian Buster Beta - Raspi images debugging - #194 by gvolt
3 - wget https://repo.volumio.org/Volumio2/Binaries/arm/libraspberrypi0_0.0.1_all.deb
[2 more wgets in the next post]

Links
3)
wget https://repo.volumio.org/Volumio2/Binaries/arm/raspberrypi-bootloader_0.0.1_all.deb
wget https://repo.volumio.org/Volumio2/Binaries/arm/raspberrypi-kernel_0.0.1_all.deb

Links
5) download customized mpd from
https://sourceforge.net/p/sacddecoder/mpd/MPD.git/ci/master/tree/

abv works on X86 systems?

Fixed it for you, also added it to code blocks so there aren’t any strange formatting artefacts…

Thanks for the changes, it looks better.
I tried to to remove the \\ in step 9, not sure if I can edit my post after your edit :slight_smile:

It probably should work on x86 system as well, dont see why not. Give it a try.

“git clone https://git.code.sf.net/p/sacddecoder/mpd/MPD.git sacddecoder-mpd-MPD.git”

The clone url has changed, pick the right url from the sourceforge link. Also the target folder should not have .git in it.

“git clone https://new_url_to_download_from/p/sacddecoder/mpd/MPD.git sacddecoder-mpd-MPD”

2 Likes

When I try to compile I get this error:

Linking target mpd
FAILED: mpd

Do you know how to fix it?

Volumio + Rpi4 player for SACD and DVD-A ISOs | Steve Hoffman Music Forums
I’ve already compiled mpd. You need some additional libraries because it can be compiled as it is but gives error in linking stage. Try this additional libs if you want to build it…
apt install cmake wildmidi libopenmpt-dev libavfilter-dev pipewire libsidplayfp-dev libpcre2-dev