PeppyMeter

Thanks 312elements. I have done this quite a few times already (Volumio) but gave up on getting audio streams from Roon connected to Volumio (like most other people). Spent at least 10 hours trying hard.... I always control my music / Roon via Mobile app, so don't need the interface. Just a simple audio stream to be fed into Peppymeter. Anyhow: I have unfortunately given up on getting Peppymeter into my audio setup. And it's NOT the fault of Peppymeter.....
THANKS to everyone for all your advices. Really appreciated.
 
  • Like
Reactions: 1 user
Hello everyone. I am having trouble getting the meter animation. I am able to hear tracks via VLC using peppyalsa as the device for output and I am also able to see pipe activity while the track is playing using cat /home…. so I know I am close! I am suspecting a problem with the conf file. Here is my device list, could I get any recommendations on how to route the meter data? To hear audio I have changed hw 0,0 to hw 2,0.

brianwis@raspberrypi:~ $ aplay -l
** List of PLAYBACK Hardware Devices **
card 0: vc4hdmi0 [vc4-hdmi-0], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: vc4hdmi1 [vc4-hdmi-1], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
Subdevices: 7/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
 
Code:
pcm.!default {
    type plug
    slave.pcm "softvol_and_peppyalsa"
}

ctl.!default {
    type hw
    card 2
}

pcm.peppyalsa {
    type meter
    slave.pcm "hw:2,0"
    scopes.0 peppyalsa
}

pcm.softvol_and_peppyalsa {
    type softvol
    slave.pcm "peppyalsa"
    control {
        name "PCM"
        card 0
    }
}


pcm_scope.peppyalsa {
    type peppyalsa
    decay_ms 400
    meter "/home/brianwis/myfifo"
    meter_max 100
    meter_show 1
    spectrum "/home/brianwis/myfifosa"
    spectrum_max 100
    spectrum_size 30
}


pcm_scope_type.peppyalsa {
    lib /usr/local/lib/libpeppyalsa.so
}

pcm.dsp0 peppyalsa
 
Thanks, I was trying that in order to confirm the data was working. I have changed it to zero, but there is still no animation. I’m able to hear the test file:

raspberrypi:~ $ aplay -D peppyalsa /home/brianwis/test2.wav
Playing WAVE '/home/brianwis/test2.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo

And in another terminal window I’m running ./peppyalsa-client and can see meters there. But nothing happening with peppymeter.py.
 
Yes, I see the UI and have the random running, all the versions look fantastic.

Here is my config.txt


Code:
[current]
meter = random
channels = 2
ui.refresh.period = 0.033
start.angle = 45
random.meter.interval = 20
meter.size = large
screen.width =
screen.height =
exit.on.touch = False
stop.display.on.touch = False
output.display = True
output.serial = False
output.i2c = False
output.pwm = False
output.http = False
use.logging = False
use.cache = False
frame.rate = 30

[sdl.env]
framebuffer.device = /dev/fb1
mouse.device = /dev/input/touchscreen
mouse.driver = TSLIB
mouse.enabled = True
video.driver = dummy
video.display = :0
double.buffer = True
no.frame = False

[serial.interface]
device.name = /dev/serial0
baud.rate = 9600
include.time = False
update.period = 0.1

[i2c.interface]
port = 1
left.channel.address = 0x21
right.channel.address = 0x20
output.size = 10
update.period = 0.1

[pwm.interface]
frequency = 500
gpio.pin.left = 24
gpio.pin.right = 25
update.period = 0.1

[http.interface]
target.url = http://localhost:8000/vumeter
update.period = 0.033

[web.server]
http.port = 8001

[data.source]
type = pipe
polling.interval = 0.033
pipe.name = /home/brianwis/myfifo
volume.constant = 80.0
volume.min = 0.0
volume.max = 100.0
volume.max.in.pipe = 100.0
step = 6
mono.algorithm = average
stereo.algorithm = new
smooth.buffer.size = 4
 
There are some properties which should not be in the 'current' section. Here is how it should look like:
Code:
[current]
meter = random
random.meter.interval = 20
meter.size = large
screen.width =
screen.height =
exit.on.touch = False
stop.display.on.touch = False
output.display = True
output.serial = False
output.i2c = False
output.pwm = False
output.http = False
use.logging = False
use.cache = True
frame.rate = 30
 
I've updated [current] and rebooted and also raised levels in alsamixer, but still no change. My pi is connected to an HDMI monitor, and I have also tried VNC. In each case I can see PeppyMeter.py running just fine, but no meter movement. Is there anything else I can try?
When I use the terminal and play a file, if I have meter_show set to 1, I see meters in the terminal as soon as I launch PeppyMeter, reacting to the audio. This suggests to me things are so close to working! But when I set it back to 0, it makes no difference. I appreciate your help.
 
Hmm, I don't see any other configuration issue in your files.
I thought that maybe the latest version was screwed up but I've just tested it and it worked fine.

You can try to install the disk image with pre-installed PeppyMeter. It was configured to work with HDMI. You need to use either /dev/fb0 or /dev/fb1 depending which HDMI connector you use (/home/pi/PeppyMeter/config.txt). Then just copy your testing WAV file and play it using the command 'aplay test.wav'. If PeppyMeter works fine you can just copy and compare all configuration files with your files.

The disk image is here:
https://github.com/project-owner/PeppyMeter/releases
The credentials: pi/Signac
 
Hmm, I don't see any other configuration issue in your files.
I thought that maybe the latest version was screwed up but I've just tested it and it worked fine.

You can try to install the disk image with pre-installed PeppyMeter. It was configured to work with HDMI. You need to use either /dev/fb0 or /dev/fb1 depending which HDMI connector you use (/home/pi/PeppyMeter/config.txt). Then just copy your testing WAV file and play it using the command 'aplay test.wav'. If PeppyMeter works fine you can just copy and compare all configuration files with your files.

The disk image is here:
https://github.com/project-owner/PeppyMeter/releases
The credentials: pi/Signac
I have a spare 8gb card, I'm going to use this image and give it a go, thanks
 
I've never used 64-bit OS but I don't see how it could cause any issue.
You confirmed that you can see the ASCII meter:
https://raw.githubusercontent.com/project-owner/peppyalsa.doc/master/images/show.png
That proves that the whole path 'file->peppyalsa plugin->fifo->meter' works fine. That ASCII meter grabs data from the pipe and shows in a terminal.
The UI does the same. It just shows the signal in UI instead of terminal. So, more likely if there is any issue it's on UI side. Maybe adding some additional log messages could help to identify the issue.
 
  • Like
Reactions: 1 user