Plexamp RPi Limit Bit & Sample Rates to Vintage DAC

Hello,

I’m using Plexamp on a headless RPi (RPiOS Bookwork) with Allo Digione SPDIF hat connected to a vintage DAC that only accepts 44.1khz 16 bit audio.

When I play a 44.1 16 bit file on Plexamp it works perfectly, if I immediately change to a 24/48 file it seems to play fine too but if I start the playback first with a 24/48 file I get loud white noise.

How can I limit the system to play 44.1/16 bit only or force Plexamp to convert to 44.1/16?

Thanks

That is a good question.

Not sure if this will do the trick or not. But in the Plexamp settings on the RPI under Settings >>> Playback >>>Audio Output>>>Sample Rate Matching you have three choices.
Screen Shot 2024-05-03 at 3.51.52 PM

I have mine on strict. All it shows is Disabled. So I don’t know what sample rate it is fixed to. But might be worth a try. Or if any more informed forum members could chime in here if they know.

interesting problem … Plexamp only sees the SPDIF HAT (which supports a wide range of bit depth and sample rate) as your output device, and it’s not aware of the DAC limitations further downstream

you should be able to create a ~/.asoundrc file to force the SPDIF HAT to use format = S16_LE and rate = 44100

(updated: try the contents below for your ~/.asoundrc file … then reboot the Pi, select “Default” for the Plexamp audio output, and you should be good … i also have an Allo Digione here, this seems to work … i’m sure there are other ways to do this)

pcm.!default {
 type plug
 slave {
 pcm "hw:CARD=sndallodigione,DEV=0"
 rate 44100
 format S16_LE
 }
}
1 Like

If your DAC is only able to use a fixed SR, “strict” is the last you want to use.
Set it to Disabled.
Plexamp will use whatever SR the sound interface has been set to. (as per the above tip with the .asoundrc file)

So to summarize.

Use Disabled
Screen Shot 2024-05-03 at 10.03.24 PM

Along with the code above for your file.

And for those whose DAC can do several Sample Rates you are free to choose Smart or Strict.

Thanks tgp-2 and Otto

Thanks all,

I don’t think I had formatted my /etc/asound.conf file correctly. The first two lines that I had added were:

defaults.ctl.card 3
defaults.pcm.card 3

but I had just added the following lines to the config rather than adding them to the !default block as shown above.

defaults.pcm.dmix.rate 44100
defaults.pcm.dmix.format S16_LE

~/.asoundrc seems to get deleted on booting in RPOS Bookworm so I’ve added tgp-2’s config to /etc/asound.conf. First quick test and it seems to work as expected.

Thank you!

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.