Thank you for your donation!


Cloudsmith graciously provides open-source package management and distribution for our project.


PeppyMeter and moOde
I can test on my end. Maybe set MPD resampling to 16-bit instead of trying to do it downstream in ALSA?
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
(12-16-2023, 11:44 AM)Tim Curtis Wrote: I can test on my end. Maybe set MPD resampling to 16-bit instead of trying to do it downstream in ALSA?

That's a thought and I'll give it a try later today. My first reaction though, is that somewhere downstream ALSA will have to upsample again to 32-bits to drive my Khadas successfully, I don't understand ALSA well enough (in many ways I don't understand it at all) to know how confined this action is to the plugin which actually drives the DAC. 

Of course, it would be nice to understand what it is about the M4A container and its constituent streams which causes the problem in the first place. I've not had an Aha! moment yet which why I went the direction of hacking the loopback plugins.

Regards,
Kent
Reply
Quick test on my end and I'm not experiencing any issues with m4a formats and Loopback on. Mayne my repro is missing something?

Below is from Audio info while playing the two files.

ALAC m4a
Code:
Source         USB/VFAT64/Test_mixed/Larry Goldings/As One/01 Mixed Message.m4a
Source format  ALAC 16 bit 44.1 kHz, Stereo
Decoded to     PCM 16 bit 44.1 kHz, Stereo, 711 kbps
Output format  PCM 16 bit 44.1 kHz, Stereo, 1.411 Mbps
ALSA mode      Default (plughw)
Audio chain    MPD -> plughw -> Device
Loopback       On

Volume type   Hardware (On-chip)
Device        Allo Revolution DAC
Mixer name    Revolution
Chip          ESS Sabre ES9038Q2M
Interface     USB
Formats       S16_LE, S32_LE, SPECIAL, DSD_U32_BE
Platform      Pi-4B 1.1 2GB

AAC-LC m4a
Code:
Source         USB/VFAT64/Test_mixed/Mike/2009 - iTunes Live From SoHo/01. Crazy for You (Live).m4a
Source format  M4A bit 44.1 kHz, Stereo
Decoded to     PCM 24 bit 44.1 kHz, Stereo, 249 kbps
Output format  PCM 32 bit 44.1 kHz, Stereo, 2.822 Mbps
ALSA mode      Default (plughw)
Audio chain    MPD -> plughw -> Device
Loopback       On

Volume type   Hardware (On-chip)
[size=small][font=Monaco, Consolas, Courier, monospace]Device        Allo Revolution DAC[/font][/size]
[size=small][font=Monaco, Consolas, Courier, monospace]Mixer name    Revolution[/font][/size]
[size=small][font=Monaco, Consolas, Courier, monospace]Chip          ESS Sabre ES9038Q2M[/font][/size]
[size=small][font=Monaco, Consolas, Courier, monospace]Interface     USB[/font][/size]
[size=small][font=Monaco, Consolas, Courier, monospace]Formats       S16_LE, S32_LE, SPECIAL, DSD_U32_BE[/font][/size]
Platform      Pi-4B 1.1 2GB
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
With PeppyMeter installed?
Reply
Nope, just trying to determine whether the files play with Loopback on. I'm not familiar with Peppy Meter and what it does to the ALSA config. I thought it just read from hw:Loopback,1,0
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
(12-16-2023, 01:05 PM)Tim Curtis Wrote: Nope, just trying to determine whether the files play with Loopback on. I'm not familiar with Peppy Meter and what it does to the ALSA config. I thought it just read from hw:Loopback,1,0

Have a look at the _sndaloop.conf file I posted above. You can see how it uses a multi plugin to split the stream into two branches. The first still feeds the DAC; the second feeds the PeppyMeter machinery. In some mysterious (to me) way ALSA does some kind of arbitration of the information it receives from the two branches.

It's been suggested elsewhere that the true fix is to patch the ALSA meter.c plugin code to deal better with input formats, but that effort apparently went nowhere with the ALSA folks. I don't think we should create and maintain a custom ALSA library for moOde so PeppyMeter will work with certain M4A files.

Regards,
Kent
Reply
(12-16-2023, 01:05 PM)Tim Curtis Wrote: Nope, just trying to determine whether the files play with Loopback on. I'm not familiar with Peppy Meter and what it does to the ALSA config. I thought it just read from hw:Loopback,1,0

@Tim Curtis

Hi Tim, 
first of all I'd like to thank you for the great software that Moode is. Really great indeed! And thank also to @TheOldPresbyope for his trying to find a fix to Moode/PeppyMeter issue .

As said before, Moode plays smootlhy any kind of file. The only issue, sometimes, is that it is not shown any cover image: but probably it depends on the file itself and not Moode.
The issue I've experienced occurs only with iTunes purchased files AND PeppyMeter installed. The same file without Peppy plays on Moode without problems.

Again thanks to all here!!!

P.S.: @TheOldPresbyope - I'm not at home these days so I can't try your fix.... I'll do as soon as possible
Reply
@Tim Curtis @TheOldPresbyope
Hi all, I’m making some test with the fix from @TheOldPresbyope
and I’m getting no errors wirh any kind of file… my setup is a raspberry pi 4 and a Topping E30 II external DAC
I’ll have some deeper test next days
Reply
I've just set up a new Moode instance for music in my home office, running 8.3.7 on:
RPiOS: 11.8 Bullseye 64-bit | Linux: 6.1.21 64-bit
Model: Pi-4B 4GB
Audio: HiFiBerry Amp2

I've followed @fdealexa's excellent guide at least as far as running PeppyMeter from a shell prompt. Everything is working great from MPD, but it appears that when using the AirPlay renderer, the signal that is seen by PeppyMeter is much, much lower than when using MPD. I suspect this has to do with the way Airplay manages hardware volume control. The Amp2 is configured to use hardware volume control.

It's not a huge deal, but I use AirPlay a lot, so if there's a way to configure the airplay renderer differently, I'd like to do that. Any advice?

Thanks for all the great work on Moode and the docs on installing PeppyMeter on a Moode box!

-Zandr
Reply
(12-16-2023, 11:44 AM)Tim Curtis Wrote: I can test on my end. Maybe set MPD resampling to 16-bit instead of trying to do it downstream in ALSA?

@TheOldPresbyope

Hi again,
you're right Tim. It works: setting MPD to resample gives no error
Reply


Forum Jump: