diyAudio (
-   PC Based (
-   -   PeppyMeter (

rpi 9th May 2016 05:01 AM

PeppyMeter is a software VU Meter written in Python. It was originally developed as new 'VU Meter' screensaver for Peppy Player. With minor modifications it became a stand-alone application. PeppyMeter gets audio data from media players (e.g. mpd) via fifo and displays current volume level in a Graphical User Interface in a form of traditional VU Meter.

Here are the key features of the program:
  • Written in Python.
  • Pygame library leveraged for UI purposes.
  • Fixed resolution 480x320 pixels.
  • Can work with any media player which is capable to output PCM signal to the fifo/named pipe.
  • Supplies 9 default meters out of the box.
  • Allows to add your own meters.
  • Open-source. All source files are available on Github.
  • Provides different algorithms for processing PCM data.
  • Several data sources are available for testing and tuning.
More details including all source files can be found on project's wiki:

Odal3 9th May 2016 05:31 AM

Like the looks of the meters. Well done!

GDO 9th May 2016 03:07 PM

It looks great, but could not run it.

It looks like some issue with Python, which is the first time i use, btw...:confused:


Traceback (most recent call last):
File "", line 22, in <module>
from util import Util
File "/home/pi/PeppyMeter/", line 24, in <module>
from config import Config
File "/home/pi/PeppyMeter/", line 22, in <module>
from configparser import ConfigParser
ImportError: No module named configparser

GDO 9th May 2016 03:35 PM



Python comes with Raspbian distribution therefore there is no need to install it separately. The Peppy player was written using Python syntax of version 3. But the default Python version is 2.7. So if you just start Python from command line the version 2.7 will be in use. There is the symbolic link which points to version 2.7 - /usr/bin/python. That link should point to version 3 instead. To re-link run the following command:

sudo ln -s -f /usr/bin/python3.4 /usr/bin/python
I have seen from the previous project that your player is provided with a WEBui. Any chance to use your meter in a self made webui without too much work?

rpi 9th May 2016 07:10 PM

Thank you Odal3 and GDO!

GDO, yes in addition to the touchscreen connected to the Raspberry, Peppy Player also has a Web UI.But that Web UI doesn't support the screensavers running in the touchscreen. That's because devices where you are running Web UI usually have they own screensavers. Another reason - eliminate network traffic. Therefore when Web UI receives 'start screensaver' event it just greys out the current screen. When it receives 'stop screensaver' event it removes that grey mask.

Theoretically PeppyMeter can be implemented in web browser as well. But there are some things which should be changed in the current Peppy Player implementation and some stuff should be created from scratch. Overall this is not one weekend task ;) Maybe in version #2? But I don't guarantee that. I have some other plans for the next project.

If you feel yourself comfortable in Python and web technologies you can definitely try to do that yourself.

GDO 9th May 2016 08:33 PM

Ok... obviously i don't really feel comfortable between snakes and screensavers...:D

Anyway your meter will be usefull for monitoring recording sessions on a rpi that i am trying to control from webui. I can still control the sessions from webui while outputting your meter to another screen connected to the rpi hdmi output.

rpi 10th May 2016 11:24 PM


Originally Posted by GDO (
...while outputting your meter to another screen connected to the rpi hdmi output.

That should work if you connect directly to rpi. I had slow meter needle animation when connected to rpi through VNC.

rpi 29th May 2018 02:57 AM

New version of PeppyMeter was released today.
New features:
  • Added new native resolution 320x240px
  • Redesigned volume data extraction from named pipe
  • Handling of data input from different audio players through ALSA file plugin
  • Implemented support for output to Serial Interface and I2C interface

Here is example implementation of I2C output:

Here is example implementation of Serial interface created by Tobias (Hamburg):

More details can be found on wiki pages:
Home * project-owner/PeppyMeter.doc Wiki * GitHub

RAndyB 30th May 2018 12:15 PM

When I start peppymeter, the meter is showing frenetic activity before any sound program is running. Is that normal?

Your sample asoundrc is valid, but no sound comes from the speakers, and the short piece of music does not finish. Any thoughts?

Would be good if it can be made to work.


phofman 30th May 2018 01:40 PM

Does the peppy script keep reading/flushing the named pipe? If the pipe buffer gets full, I would expect the playback to stop as the popen in file plugin starts waiting on the write operation to the pipe.

All times are GMT. The time now is 09:29 AM.

Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2021 DragonByte Technologies Ltd.
Resources saved on this page: MySQL 16.67%
vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2021 DragonByte Technologies Ltd.
Copyright ©1999-2021 diyAudio