DietPi based audio transport? Not necessarily on RPi

Hi guys,

I’ve been using dietpi on RPi very happily for a while. Lately I thought to try to set up a transport only streamer, it means that I would use an external USB DAC rather than a box with an onboard DAC.

As you all know, apparently RPi boxes are now unobtanium until who knows when. So I bought an Odroid XU4Q since it was the only box listed as supported by DietPi that I could find locally.

If there are no surprises and the install goes as expected, my question is what apps are helpful for this?

I have subscriptions to some streaming services and I have a homebrew NAS serving CIFS/Samba and dlna.

I want to connect the Odroid to a USB DAC and have a nice music player which can play from my streaming services and NAS. And the main reason I’m doing this is to be able to control it remotely from Windows or Android.

If you have suggestions how to help with a setup or experiences with different music players that you run on DietPi etc. please chime in.

Thank you :slight_smile:

Hi, I am currently tinkering with mpd-based and squeezebox-based apps on several sbc platforms, the XU4Q amongst them. All with USB DACs btw. Dietpi makes it so easy to install 90%+ of the apps needed in my experience. I am very satisfied by the audio quality, actually I love it.

What streaming services were you interested in? Personally I only use Spotify, and that primarily from my phone rather than the Odroid, but I could certainly try some Odroid options (like mopidy for example), if Spotify was your interest.

1 Like

Hi, thanks for your post and offer to help!

I figured worst case I could use mpd on the XU4 and some front end on another box. But I’d like an integrated solution that plays files from NAS (dlna/samba) and also Tidal and Deezer. I don’t know if there is any solution for that which does not require a monthly fee. And I have a lot of SACD.iso and I’m not sure if there is any Linux player that integrates support for that. VLC can play some of the them, mplayer seems more successful. But I’m not sure of the front-end options for those apps and there are other details I need to double check.

I read some posts on various sites that talk about using squeezebox with bubbleupnp to support even Tidal but they seem to be hopes and claims without much detail on what’s required.

The box is coming today so I hope over the weekend I’ll have time to play around with it a little.

The O!MPD MPD frontend btw supports Tidal and youtube-dl as well, but no Deezer, AFAIK.

1 Like

That’s awesome info @michalng thank you!

Do you guys know of any place where the info about all these apps is consolidated? I see several dedicated music players for RPi but I guess they won’t run on the Odroid, is that correct?

I’m looking on several forums but so far I didn’t understand any solution end to end. I’ll flash dietpi to get started with and see what I can do from there.

You will see available packages only within the catalogue if you install DietPi for Odroid SBC. Browsing dietpi-software will give an overview of available Media Systems

1 Like

Thanks, this is good info!

I’m not aware of a player which works on RPi but not on Odroid. Those are not really hardware dependant as long as the sound card itself is detected by the kernel as such.

You’re right, I didn’t say it clearly. There are several music player distros…for example Moodio, Volumio, PiCore Player, that are targeted at RPi and I didn’t see other targets listed.

Should they be expected to work on the Odroid? I was thinking they wouldn’t but I hope I’m wrong. Thanks.

Every SBC means a dedicated OS image, so just check if those audio distros provide an image for Odroid XU4 or not.

1 Like

But this has nothing to do with DietPi. We don’t install any other Destro. We simply provide a base operating system that could be used to install dedicated software title.

I understand that, it seems we have lost track of the discussion.

I tried all the web front ends to mpd I could find in dietpi-software and I wasn’t happy with any of them. Then I tried the squeezebox apps and they are more to my liking, but some piece of software that I couldn’t identify resamples everything to 48 KHz. I ran out of time, but in the end mpd looks the most promising. I need a remote UI of some sort.

I should have taken notes but I found several cases of config file changes doing nothing, only to realize there was another piece of config hidden somewhere else. One I remember is that sshd_config can be overriden by files in a subdirectory of /etc/ssh… which is really not nice.

Anyway, thanks again to the DietPi devs, it’s easy to bring up a new board and it’s obvious an unbelievable amount of work goes into this… THANK YOU! :slight_smile:

Hehe we switched mostly to using conf.d like directories to not change the package default files and have DietPi overrides/configs transparent. It’s common practice on Linux when software A changes configs of software B :wink:. However, I can imagine it’s nasty when changes to the commonly known config files have no effect.

EDIT: About Logitech Media Server, check out /etc/squeezeboxserver/convert.conf, which seems to define the audio formats for some conversions.

1 Like

Thanks, I’ll check the server config, I didn’t know where the problem was and it (squeezelite) also doesn’t give me a choice of USB DAC- it seems to use some onboard default device which doesn’t exist.

Well, to me it looks like a hybrid, not exactly conf.d and not exactly the other style which I forget the name. I think the way it is set up in dietpi could lead to problems. For example, for some reason somebody decide to override AllowRoot Logins. So I found it, because the first thing I do on a new box is set up pubkey auth, and disable root logins and password auth. I was still able to log in with root and with password so I went looking.

Now what’s my choice? If I delete the override in the conf.d subdirectory of /etc/ssh I guess a future update will break it again. And if I delete the line from that override, it still fails least surprise because sshd_conf has AllowRootLogins no…

To me it leads to the situation getting worse not better.

Maybe a better approach is to change the standard configs with any overrides chosen by DietPi devs and just comment around them. I mean, this is already pretty standard practice by distro and OS.

Thanks again for all the hard work!

Use dietpi-config to change the default ALSA device that Squeezelite uses.

Those conf.d-like (in case of OpenSSH /etc/sshd_config.d directories are a common implementation on Linux shipped and used by the binaries and meant to be used by other packages and admins exactly the way we use it. You’ll find them for most basic Debian software packages (upwards tendency). Some binaries even parse those directories only (like sysctl) and have a link within to the “old” config for backwards compatibility only. You can override such overrides just with a new file in those directories which starts with a character later in alphabet.

This is meant for the opposite of causing issues, since now every package and admin/user can have it’s own hook without possibly breaking the intention of others, having to do error prone parsing and replacement, making it impossible to restore defaults (without re-downloading them manually) etc :wink:.