PeppyMeter

Rather than keep "spamming" this forum, I looked at the code and made a simple experimental change in datasource.py

if self.stereo_algorithm == STEREO_ALGORITHM_NEW:
channel_value = new_value * (90/100)

Obviously works fine and after I do some more validation testing with other VU meters will adjust the ratio as needed to match what I see else where.

I tried the other two algorithms (logarithm and average) but no real change so will stick with new

Anyways, peppy has added the final touch to my custom Kodi skin so all is good.

Many Thanks

Bluck
 
I was going to suggest you to try another algorithms 🙂
You found the right place for experiments. In the past I even had different compensation coefficients for different player types (mpd, vlc etc) but then decided to simplify the code.

It would be helpful for others to know how you made it working with Kodi. I should probably add this info to the PeppyMeter wiki pages - how to make it working with Volumio, Kodi etc. So, it would be great if you could provide this information.

Thank you!
 
So in my situation, testing against a variety of VU meters I have on hand, the general "consensus" from these meters is that my test WAV file containing a 1khz 0 DBfs signal should read +3db on an analogue VU Meter, so the above change ( channel_value = new_value * (90/100) ) gets me there with peppy.

This was my non-scientific "feeling" as well... if 0 DBfs is max for a digital signal and in "old skool" music recording practice, +3db on a VU was considered max then logic says 0 DBfs should match +3db VU.

Regards,

Bluck
 
I was going to suggest you to try another algorithms 🙂
You found the right place for experiments. In the past I even had different compensation coefficients for different player types (mpd, vlc etc) but then decided to simplify the code.

Reading the doco, it talks about a config setup that can be used for calibration(?) but maybe its worth including a physical test file (or files of different formats from a master) that can be used to test at least where 0dbFS is, even for a provided meter.

I am obviously comfortable that peppy works fine (and its been around long enough for any kinks to be worked out) but I guess there is the possiblity that 0dbFS relative to +3 dbVU (if we accept that as a reasonable correlation) can very from installation to installation (i.e. Kodi might be different from other players)....hence a standard calibration test and a simple way to change this (maybe a command line ratio parameter that can be applied to that section of code in datasource.py that calcs for the three algo's

Regards,

Bluck
 
Last edited:
I am obviously comfortable that peppy works fine (and its been around long enough for any kinks to be worked out) but I guess there is the possiblity that 0dbFS relative to +3 dbVU (if we accept that as a reasonable correlation) can very from installation to installation (i.e. Kodi might be different from other players)....hence a standard calibration test and a simple way to change this (maybe a command line ratio parameter that can be applied to that section of code in datasource.py that calcs for the three algo's
Sure, that makes sense. I'll try to add a new configuration parameter in range 0-1 for adjusting the "null" position. The file 1khz 0db can be provided as well for the testing purposes.

Thank you!
 
It would be helpful for others to know how you made it working with Kodi. I should probably add this info to the PeppyMeter wiki pages - how to make it working with Volumio, Kodi etc.
As someone who comes back to this project every few months trying to get it to work with volumio, I’d really appreciate a copy and paste style tutorial for getting it to work. I’ve been all over the internet learning a little bit here and a little bit there, but I’ve never been able to pull the whole thing together and make it work.
 
Thats amazing @glc650. I am really having a hard time activating/installing Peppymeter for Moode Audio. May I please seek your help and support here ?

My environment is Allo Boss 2 Player - https://allo.com/sparky/boss2-player.html

The first thing I would like to know is how to activate 4K display for Moode Audio as the device support 4K@60 FPS. Please advise what changes do I need to make ?

Also my next question is related to the guide you have shared when I move to the next page - https://github.com/FdeAlexa/PeppyMeter_and_moOde/blob/main/2_moOde.md

It talks about some selected versions of Moode Audio whereas Moode Audio's latest version availaible now is 8.3.3. Will this guide be still applicable to the latest version ?

Looking forward to your valauble reply.

Regards,
RK
 
Hi,
About the second question:the process for version 7.2 is still valid.
Take care because Boss 2 has a problem with linux 6.1. On the moode forum there is a workaround to solve it.
If any problem do not hesitate to ask. On moode forum there is a dedicated thread.
Best regards,
Francesco
 
Dear @rpi I have recently activated PeppyMeter on Moode Audio with the help of @fdealexa. I have successfully completed the installation but stuck at the last stage. Though I have requested @fdealexa also to look into the issue but if you can also look into the logs and share your inputs please ---

1. When I am running the below command my 4k display goes blank, I have attached the logs..please suggest what is wrong ?

cd /home/pi/PeppyMeter
sudo python3 peppymeter.py

  • Listening the music we should see on the putty screen a couple of bar moving with the music intensity ? Yes it is working for me
  • I mean are you listening the music and you see the twoo "character bars? Yes
  • what is your configuration in terms of display? 3840*2160
  • About display configuration: I mean "what is your system configuration"? for example: raspberry pi 4b, allo piano dac, local display 7 inch, etc - Raspberry Pi 4B 8GB RAM / External DAC - IFI Audio DAC, Display - Sony 4K TV
  • After the installation, are you able to listen the music? Yes
Kindly suggest please what changes I can make to get the Peppy Meter working on my 4K display.

2. If you can also please suggest me what will the right configuration for 4K display considering the logs I have attached.

3. Also how can I ensure that the peppymeter starts in 20 secs when the music is playing as currently everytime I have to go to the Web SSH and run the below command to run peppymeter
 

Attachments

  • Log 1.jpg
    Log 1.jpg
    217.9 KB · Views: 109
  • Log 2.jpg
    Log 2.jpg
    95.5 KB · Views: 109
Hi,

Just to clarify some points:
  • The maximum resolution of the PeppyMeter is 800x480 (large) and 1280x400 (wide). That's why it will not occupy full screen of your TV. You can get meters in a higher resolutions on a Volumio forum but meters in resolution 3840x2160 don't exist at all as far as I know.
  • You can change the reolution of your screen (/boot/config.txt) and set it to 800x480 for example.
  • The screen resolution can be specified in the PeppyMeter configuration file (properties: screen.width and screen.height).
  • Meters coordinnates on a large screen can be specified in files meters.txt for each meter type.
  • I don't know how PeppyMeter works with Moode. Probably Francesco can clarify how it can be started/stop with Moode.

Best regards
 
New version (Kandinsky Edition) of the PeppyMeter was released today:
https://github.com/project-owner/PeppyMeter

New features include:
  • Implemented new linear meter movement directions (top-bottom, center-edges, edges-center)
  • Implemented knob based linear meter (indicator.type = single)
  • Added four new meters of the medium size (chillout, fantasy, relax, steam-punk). The meters use AI generated backgrounds.
Here are the new meters which demo the new functionality and use AI generated backgrounds:

meters-k-edition.jpg
 
  • Like
Reactions: Naturlyd
Hi
New to the forum but has read through all the post on this channel to see if my question was already answered. Seems like it's not.

Has anyone found a loophole to combine a Raspberry Pi ROON Endpoint with PeppyMeter? I have spent almost 2 full days searching at other foras but with no positive results.... One finding that may be the reason why I can't find a solutions had to do with something about Roon (RoonBridge) SW uses HW to HW mapping to audio devices (HAT's, ...) and thereby PeppyMeter / PeppyAlsa can't get hold of the audio signal via ALSA.... I'm not at all an expert here so....

I WOULD LOVE to add LCD panel to my DIY streamer (RoPiee based but could use Rasbian with Roon bridge) with the ONLY purpose to run PeppyMeter.

Thanks in advance

Yes: I could loop analog audio output from endpoint to another Pi with analogue input and Peppymeter but this is clumsy and will add terrible delay)
 
@JesperM : IIUC RoonBridge is a closed-source binary which is coded to talk to hw:X alsa devices only, not to PCM devices where you could configure the stream branch to PeppyMeter. Roon devs do not seem to be willing to support PCM devices https://community.roonlabs.com/t/ro...x-pcm-device-of-a-type-other-than-hw/172149/2 .

As such your only option with PeppyMeter would be configuring alsa loopback device (which is a hw device and RoonBridge would see it), and running alsaloop process reading samples from the capture side of alsa loopback to the PCM device with PeppyMeter configured. But it's a rather involved setup which is quite difficult to make reliable.
 
Thanks - I really appreciate this exceptionally fast feedback. No reasons to keep digging if Roon is not really interrested in helping out (now aquired by Harmon so likely even more commercially focused).
I will skip the Meter (although they are really nice designed) and stick to a display with Roon "Now playing". Also cool. Time to get the router and some aluminium milling going in the workshop.
PS: Did a Pi image with Volumio and Peppy Meter. Worked quite nicely but my setup is entirely based on Roon so.....
 
Actually the different handling of hw and PCM alsa devices only applies when searching for/listing available devices. To communicate with alsa only a string - device name - is used. The string is either "hw:XXX" (hw), or "default" (PCM), or "mypeppymeterdevice" (PCM), the alsa library linked to the player will use the appropriate device correctly. If Roon allowed also to enter the string directly (at least some stored txt config to change), no changes in Roon alsa code were required. Maybe there is some roon txt config in your system stored.