Roon VU meters, in one form or another

Looking great, hope Roon add it to the app

1 Like

VU meters would be a nice alternative to the now playing display with Ropieee

Iā€™ve started to poke around Roon Extensions and it looks like this would be doable via an extension which polls Roon levels on the backend to a software VU on the front-end (depending on the software, of course). I started thinking about this as a simple Pi LCD project for a stand-alone software VU, but this as far as Iā€™ve gotten. No idea what would need to be polled from the Roon API, or if the needed data is even pubā€™d via the API, nor what software VUā€™s run on various Pi OSā€™ā€¦just starting to think about it as a project. Honestly surprised thereā€™s not already one of these in the current extension repository.

I think this would be a cool feature, especially an optional one (to show or not, and/or to turn on or off.

What a waste of limited development resources , VU meters went out with good manners :joy:

Please create us nice VU- Meters!!!

Thanks!!!

The biggest problem I can see with most of the relatively easy ways to do this is having a visual display that is roughly in sync with what you hear. This data is not in the Roon API. There is a means of getting waveform data for some track that is used for the Roon display, however I do not beleive this is part of the public API and would most likely be inadequate for this purpose being far too coarse.

So basically you are left with audio capture from a virtual audio loopback device and running it through some DSP code to extract a VU level data stream that can be used to drive a display. The audio loopback device output would need to associated with a RAAT endpoint and grouped with a real RAAT endpoint which shoudl ensure that the audio data is roughly in sync for display purposes (but wont account for any latency through the loopback capture device driver and subsquent DSP + display update).

To improve on this, then you ideally need you own virtual audio output device that could report a latency to RAAT to account for the whole processing and display update chain. Not hard if you know you way around C/C++ as source for linux virtual audio drivers and suitable DSP code is readily available if you hunt around. You would also probably need to make this VU datastream available to the node world as well in order to interact with Roon SDK APIs to maybe form an enhanced now playing display.

Adam, I wonder: could it be simplified by using multi zones in Roon: 1. for your hifi output, 2. the other one for a vu-meter device?

1 Like

As I said, the VU endpoint would be a RAAT endpoint and you would have to group it to get sync with what you hear and ensuring the real hifi endpoint is the master to avoid any sound degredation due to chasing sync. The complexity is entirel about getting access to and processing the audio data stream.

Of course if that problem were taken care of by Roon core such that the SDK could expose a subscription API in the SDK to yield a low rate VU/peak data stream, then that solves alot of the complexity and ensures that you cant accidently end up with the real hifi RAAT endpoint that you are listening to having to chase sync. I actually think it would be a nice and very welcome addition to Roon display.

While all this is doable independent of Roon, it is alot of effort and the result may not be so great for the user who will also have to fiddle with zone clock priorities in order to ensure that what they hear is not chasing sync with the VU zone resulting in audio artifacts when grouped with the VU display zone.

1 Like

my only VU Meter is this :slightly_smiling_face:

Iā€™m currently playing with a spare RPi 3B+, ALSA to Jack loopback routing and several professional-use metering software tools, like EBU R-128 conforming EBUmeter, Bob Katzā€™s jkmeter, jmeters VU with broadcast ballistics, as well as japa perceptual fft analyzer.

Grouped into a zone with my system, latencies are ~2.5ms, so not an issue in my view.
CPU usage is ~7% with japa, but all the others barely break the 1% mark.

Tested EBU-meterā€™s readings against Roonā€™s volume leveling and dynamic range values while playing some of my ripped CDs and they align to Ā± one digit behind the decimal point.
Now I can nicely compare rips with different streaming versions.

Whatā€™s left, is to get that setup auto-starting on my 7" Raspberry touchscreen without desktop manager, only showing the desired meter, while offering touch input for meter adjustments.

Picture shows test setup on full-HD monitor with desktop managerā€¦

Does anyone know the reason why Roon hasnā€™t done this?

Right now, to get a pretty built-in VU Meter, one has to get a HiFi Rose, which is a lot of money. I am sure Roon wants people to subscribe to their service than buying HiFi Rose, so I am not sure why Roon is not more responsive with this feature request?

It is because I donā€™t actually think Roon needs to do it. It needs to be done by a third party like Ropieee or one of the guys who build functionality via extensions. It is possible but probably a lot of work for something ostensibly free. My reasoning is Roon donā€™t do much with small screens on the core product leaving that to endpoint software devs and manufacturers. It is they we need to appeal to IMO.

Finished my Roon-Dynamic-Range-Metering-Bridge for now.

As written above, itā€™s a RaspberryPi 3B+ with official 7" touchscreen and RPi-OS 32-bit bullseye desktop installation, grouped real time with the main end point, showing accumulated EBU128-conform loudness range - just like what Roon calculates after analyzing local files - together with Bob Katzā€™s level and stereo-correlation meter, plus a spectrum analyzer with itā€™s frequency axis aligned in octaves around 440Hz standard pitch.

Dropbox video

3 Likes

Yes, Roonlabs, please offer us a nice selection of VU meters in the playback screen, f.i.:

IMG_1383

3 Likes

Those are the VU meters employed by the Eversolo DMP-A6. So if used as a Roon endpoint you get to see them while using Roon if you choose!

You have good eyes, but just for some fancy VU meters buying a whole streamer for $860ā€¦? Not me. Therefore this thread to ask ROON to implement it in one way or another by software.

If you are a tinkerer, you can go for this:

But I prefer a software integration in Roon, hence this thread.