PeppyMeter

There were separate threads for each channel which updated the screen. But that could not happen faster than a screen refresh rate. That's why that logic was moved to the main event loop which runs with a frequency of the screen refresh rate.
 
  • Thank You
Reactions: 1 user
Is pulse audio also on your pi?
I ran pactl list to check if pulse audio is running and received an error.
aplay -l gave the following:

1707764626556.png
 
Use of .asoundrc is configured in default alsa configs /usr/share/alsa . Of course the player must run under the user of .asoundrc. What device is actually Tidal Connect using? Is it using the PCM device with peppymeter, or perhaps directly the hw device?

I am a music and hifi hobbyist, using the RPi for music streaming, and I do not have any developer/programming skills.
Beside the fact it is a Docker solution that resides in the root (not usr) I do not know anything about the Tidal Connect solution.

The developer does mention this in the 'readme':
  • Fiddle with Audio Controls and Song Info scraping *
Check out the 'cmd' folder for a bunch of cool bash scripts to control your music (hence you can use to control via Alexa/Google etc). To scrape song info you can try
python scraper.py
This will give you all song info in JSON format.

Tweaking and tuning configuration​

If you need to alter any parameters, just change the entrypoint.sh to contain whatever settings you need The entrypoint.sh file/command is executed upon start of the container and mounted via docker-compose.

https://github.com/TonyTromp/tidal-connect-docker/blob/master/README.md
 
According to this issue: https://github.com/TonyTromp/tidal-connect-docker/issues/42
the audio device for the service can be defined like this:
PLAYBACK_DEVICE=snd_rpi_hifiberry_digi: HifiBerry Digi HiFi wm8804-spdif-0 (hw:0,0)
@phofman Is it possible to use the 'hw' directly bypassing .asoundrc?

If the Tidal Connect was started by different user then .asoundrc will not be used. The file /etc/asound.conf will be used instead. Please show the content of that file. You can also make a backup copy of that file just in case:
sudo cp /etc/asound.conf /etc/asound.conf.bak
then copy your user file .asoundrc to asound.conf:
sudo cp .asoundrc /etc/asound.conf
and see if that makes any difference.
The example of the /etc/asound.conf can be found in another issue:
https://github.com/TonyTromp/tidal-connect-docker/issues/23
 
If the player runs in the docker container, it's by principle "contained", only communicating with the kernel from the host POW. It has it's own user-space alsa stack (alsa-lib, configs) and only kernel devices (/dev/snd/xxx files) are passed from the host to the container.
 
I used pCP for the past year, however since Logitech shutdown their servers you can no longer stream Tidal with pCP.
Tidal offers the best audio (to my ears) and I have a subscription with them.
In the past I used Volumio but it seems strange to me to pay to 2 vendors in order to hear each song...
So I was looking for an alternative. This one, Tidal Connect Docker, works perfectly and is stable, so I wanted to bring back PeppyMeter which I love
 
You can build your own docker container with custom changes - this seems to be the original steps https://github.com/seniorgod/ifi-ti...application_as_docker_container/ifi_docker.md Not trivial.

Sure you can use snd-aloop but that's quite complicated as you need some bridge from loopback to the PCM device with peppymeter (alsaloop, camilladsp) and you need to arrange all the startup scripts/monitoring, etc. Not trivial either.

Maybe just the older 32bit installation without docker would do for you? https://github.com/seniorgod/ifi-tidal-release

Or not use an ancient binary and not give Tidal your money if they do not want to support your device.