• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

SqueezeDSP plugin for LMS (Lyrion Music Server)

john61ct

Major Contributor
Joined
May 31, 2020
Messages
1,503
Likes
407
from https://www.audiosciencereview.com/...obuz-streaming-applying-eq.69723/post-2556376

Hi I am the developer of the SqueezeDSP plugin for LMS, my goal has been to create a simple to use and install DSP plugin that does what most people want.

There is a group of users on the Lyrion forums who have been keeping me busy with feature requests, so I have been adding some quality of life features lately, like downloading headphone filters directly from AutoEQ github repository, replay-gain in the plugin, fir impulse copying through the web interface, all processing is at 64bit float. It runs on most devices. Next stop is to try and eliminating any remaining transcoding issues as occasionally other plugins knock out the SqueezeDSP settings.

If you have any questions feel free to ask.

...

Lyrion Forums: https://forums.lyrion.org
Lyrion Wiki: https://wiki.lyrion.org
Reddit: r/squeezebox

Logitech Media Server, now Lyrion Music Server, Squeezebox, SqueezeCenter, SlimServer
 
Hi hope you don't mind but I'm a huge fan of LMS, and just getting into DSP

Figured this deserves its own thread!
 
Loudness compensation is a brilliant use of DSP, very happy to see that feature.

Can an external volume control be used and LC still automatically vary with the level?

Can the "intensity degree" be easily "ad-hoc" be raised and lowered by the user, say hip-hop vs classical?

Feel free to answer with link(s), I apologize for not searching in advance
 
Also my main player node will be Wiim Ultra, does that matter?

My control point will likely be my Android phone, which do you reco,

Material Skin vs the Squeeze Control app?
 
Loudness compensation is currently not linked to anything as it is really designed to operate at the listening level where you are seated. The simplest way to use with speakers is to use a dB meter app on your phone and monitor the levels then set the loudness level accordingly. If you listen above 85dB then you don't need it as it is designed to compensate for low listening levels. With headphones it is a bit more tricky as settings all depend on headphone sensitivity and the headphone amp gain.

The level is on a slider or text field so it is just a case of changing the value and then hitting apply and the change should take effect immediately.

NB my recommendation is to create a fir filter by measuring your speakers/room and try and flatten the response with minimal peaks. Then use that filter in Squeeze DSP - this will give a flat response which may sound a bit sterile, so then add a low shelf with a positive gain of +2 db and high shelf with gain of -2db (default frequencies should work) and this should give you the basis of something that sounds pretty good. Tweak the shelves, and a low pass and high pass filter (defaults should do) and maybe if you like a bit of mid range presence a peak filter of +1db and Q1.44 at around 4000 Hz.

It should be fine with the wiim ultra

I have tested mainly on default skin and material skin, the user interface should dynamically rescale widgets to match the size ( there are limits of course!)

The thing to note on setup is that you need to disable the use native mode on the audio-files mapping within settings as otherwise the DSP will be bypassed, it is also possible that installing another plugin after SqueezeDSP will displace transcoder settings deleting the custom-conv.conf file or reinstalling the plugin fixes this, it doesn't happen very often but it is something you should be aware of.

I will be putting in a patch to make this easier and also trying some modifications to make this happen less often.
 
Nice work!

So are you saying, even if my volume control from LP is the direct-to-LMS app or website, SqueezeDSP is not varying the compensation to match the volume going up and down?
 
No - to make it automated is quite complicated and messy, so I have left it for now.

As a user you would have to use the LMS volume control, which many people don't do. Then the system would need to be calibrated by you, so that the levels in SqueezeDSP would know what 100% volume vs 60% volume would mean vs the in room spL level and this would change if the DSP / replay gain settings, and if you were listening on headphones you would need to know the output voltage of the headphone amplifier at your max listening level vs your headphones sensitivity and then calculate the sPL level from that and then only use LMS gain control to change volume.
Finally scaling the loudness as the volume changes wouldn't happen because it would involve calculating a new filter for each incremental change in volume. So the change would be stored and the applied as normal with a momentary glitch in the signal.

Thinking out loud (or whilst typing) as loudness compensation only kicks in at 85dB (i.e. the compensation curve does nothing above this level) if you only used the LMS volume control, and then set your max listening level in db (using a phone sound meter) or the for headphones the calculation method above, it should be possible to at least scale the loudness slider to scale with volume adjustments. It would then be up to you to set it. It is probably simpler to just use presets though - Lounge-evening, Lounge-daytime, Lounge-Party!

Finally - I was thinking it may be possible to intercept LMS volume changes and apply them via DSP at 64 bit float rather than at 24 bit that LMS does and this would be the sensible point to evaluate linking up system volume and loudness gain, and interestingly there is a product being called a "Roon Knob" (product not person ;)) , which has can be used to control the volume, act as display and skip tracks etc. It was originally integrated into Roon, but the developer has also added in LMS calls. I have no affiliation with this product, I don't even own one but it was something I was interested in.


Interested to hear your thoughts
 
I'd be very interested in a finished product, but have enough DIYing ahead of me.

OK, so this just means my loudness control will be implemented elsewhere, it's a minor aspect of DSP functionality overall NBD.

In fact my analog/passive Chase RLC-1 remote does a fine job afaic, via a monitor loop

along with balance, basic tone controls and source input switching.

Schiit forkbeard is another more modern contender, via Eitr 2 DDC or maybe Mimir DAC
 
@recepky It is currently not a feature, but it should be possible to add it. What is your use case, just wondering whether a stereo fir filter would work for you?
 
@Foxenfurter I would like to add individual EQs for left and right channels according to individual L, R channel measurements I made using REW.

I do not use FIR filter, just like to do manual EQ for room correction

by the way I am using SqueezeDSP for a while, very nice transparent EQ, can be much better if you add individual L,R EQ :D
 

Similar threads

Back
Top Bottom