DietPi: creating a lean-and-mean Roon Bridge

I have dietpi properly configured with roonbridge on a new RP3 equipped with a HIFIBERRY DIGI+. It’s working fine if I send an audio signal directly from Roon to that roonbridge, but when I attempt to link zones together with my main listening zone the audio quits playing on the RP3/DIGI+. Other than that it’s working fine as a roonbridge for direct playback.

Has anyone a suggestion regarding this behavior? Is this something I need to ask Roon about directly?

Should be fine I link pi3 and pi2 running Dietpi with another RAAT device and its rock solid.
What’s the device? Does it play fine by itself? All hard-wired?

Besides the HifiberryDigi+/RP3, I have both a Win10 laptop in my main listening room and my main gaming pc in another room running roonbridge.

I have a somewhat novel setup on my laptop to allow me the benefit of upsampling, speaker, and room correction in my main listening room. I’m using Reaper DAW mastering software along with FABFILTER, et al. professional VST Plugins to tailor the sound in my main listening room and tame a rising top-end on my horn loaded speakers. Reaper can be configured to allow audio outputted to it’s own ASIO device that roonbridge can see and output audio too. The sound is then manipulated in the digital domain with VST Plugins before being outputted to my USB Benchmark Media DAC2 HGC.

Sending sound —> RP3/ROONBRIDGE (WORKS)
Sending sound —> RP3/ROONBRIDGE + W10-LAPTOP/REAPER/ASIO/ROONBRIDGE (ONLY LAPTOP WORKS)
Sending sound —> RP3/ROONBRIDGE + W10-DESKTOP/ASIO/ROONBRIDGE (WORKS)

And yes, they all work fine by themselves.

Well, that’s pretty far from a standard setup I’d say and so I’m guessing the problem isn’t Dietpi related :wink:

Might be worth posting it in support and see what the team say.

Figured out the problem. Roon was upsampling to Reaper on my laptop because the Reaper app was requesting 96kz from Roon. Once I matched the bit depths and bit rates Roon stopped oversampling and outputted properly to all my zones. When I thought about the problem it occurred to me that this extra upsampling by Roon to only one zone adds latency that makes syncing between zones properly problematic. My main listening configuration is temporary until Roon releases V1.3, but I needed some way to correct my horns rising top end and this convoluted solution accomplishes that and allows me the use of any VST plugins. Thanks for the suggestions.

100% agreed.

We were staring down the barrel of this problem when considering the prospect of doing “Roon Bridge Kit”. It’s a lot of work that really only needs to be done once, and not something that vendors like us should be doing in a fragmented way.

I’m looking forward to playing with DietPi when I get a chance to dive into these guys…

3 Likes

Setup a NanoPi Neo with DietPi and it took me less than 10 minutes. I use it in my home office with an Audioquest Dragonfly connected to powered speakers. Works flawlessly and SQ is very good.

In my main rig I have an RPi2 with a Kali Reclocker, also set up with DietPi. Works beautifully as well.

Just made a small donation to express my thanks !

2 Likes

@Dan_Knight Thanks for the great software - easiest Linux install ever.

Is there a particular setting to enable the HifiBerry Digi+ PRO?

DietPi-Config -> Audio Options -> Soundcard settings only lists a “hifiberry-digi” option with a description referring to “HifiBerry DIGI / DIGI+”. It seems to be working fine if I select that option, but I wanted to be sure I’m not missing something.

2 Likes

The Digi+ Pro is autodetected – you can set your soundcard to ‘none’ in dietpi-config.

It will work just fine with the standard Digi driver as well – you can verifiy that the Pro-driver is loaded by issuing ‘aplay -l’. If there’s ‘Pro’ in the string, you’re all set.

3 Likes

Excellent, thanks for the confirmation.

It appears this card has its own dtb overlay. I’ve added this card to DietPi-Config.

Run the following command below (copy and paste all) to update dietpi-config, allowing you to select the card:
wget https://raw.githubusercontent.com/Fourdee/DietPi/88d562320a02f70afaa5c6aabe0246ce3738915f/dietpi/dietpi-config -O /DietPi/dietpi/dietpi-config

It will also be available in our next update (DietPi v142).

I need a simple Android SSH app to close my DietPi down each evening. Any recommendations?

Rene - thanks for your help the other night, I got it all working in the one evening

Just pull the power.

just leave it running

I suggest you leave it running. And if you really want to shut it down every night you should put a ‘shutdown’ command somewhere in a boot script (/etc/init.d/boot.local for example).

I’ve been unceremoniously pulling the power from day one as it’s powered from the same extension board as the rest of my hifi and never had an issue. Logs are written to ram, so it’s actually not doing any writing to sd card unless you run an update.

This very basic bash script + service, will turn your system off automatically at a specific hour.

Change the power off time by editing /etc/poweroff_specific_time.sh and POWER_OFF_HOUR= after installation. then restart
systemctl restart poweroff_specific_time.service

Just be warned, this simply checks the hour, so if you power back on at any time between POWER_OFF_HOUR:00 and POWER_OFF_HOUR:59, after 120 seconds, the script will trigger the power down, and system will simply shutdown again.

Install:
(Copy paste all)

cat << _EOF_ > /etc/poweroff_specific_time.sh
#!/bin/bash

#Wait for 120 seconds, before starting this script.
sleep 120

POWER_OFF_HOUR=1234 #24h format | eg: 15 = 3pm

while true
do

    CURRENT_HOUR=\$(date +%-H)

    if (( \$CURRENT_HOUR == \$POWER_OFF_HOUR )); then

        poweroff

        break

    fi

    sleep 60

done
_EOF_
chmod +x /etc/poweroff_specific_time.sh

#service
cat << _EOF_ > /etc/systemd/system/poweroff_specific_time.service
[Unit]
Description=Power down system at specific time

[Service]
Type=simple

ExecStart=/bin/bash -c '/etc/poweroff_specific_time.sh'

[Install]
WantedBy=multi-user.target
_EOF_
systemctl daemon-reload
systemctl enable poweroff_specific_time.service
systemctl start poweroff_specific_time.service

To disable this:

systemctl stop poweroff_specific_time.service
systemctl disable poweroff_specific_time.service

Dan,

Just wanted to say thank you for your work on DietPi… I am using it on two NanoPi Neo boards, running Roon Bridge. Really easy to get up and running, even for a Linux newbie…

I sent you a donation, keep up the good work! :slight_smile:

2 Likes

Dan,

When I use PiCorePlayer with Roon then I get 192kHz output fine as confirmed by Roon and by my processor. However, when I use DietPi then I only get 48kHz max. I solely use HDMI out. I tried the High Sound Quality HDMI option but that did not change the issue.

Please advise.

Thanks
CJ

Is the pi hdmi not limited to 48?