Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Websocket command for external loudness volume #231

Closed
bitkeeper opened this issue Sep 11, 2022 · 5 comments
Closed

Websocket command for external loudness volume #231

bitkeeper opened this issue Sep 11, 2022 · 5 comments
Labels
enhancement New feature or request
Milestone

Comments

@bitkeeper
Copy link

Currently for loudness the reference is used against the camilladsp volume.
It is not always desirable to use the camilladsp volume as master volume.
In that situation it would be nice if a websocket command, just like with volume, is available to provide an external loudness volume as option in addition to the camilladsp volume.

This would make it possible to create solutions that use the volume setting from other sources like:

  • alsa mixer
  • mpd volume
  • external hardware volume solutions (which aren't available from a mixer)

This also would make it possible to external 'tune' the presence of the loudness by using a volume multiplier.

@HEnquist
Copy link
Owner

I'm already considering improvements to the volume control (see for example #229).
I didn't think of this use case but it makes sense and should be included.
I think just moving the reference level isn't enough though. If the external volume control comes after camilladsp in the chain, then lowering the volume will make the Loudness filter boost the high and low end. This will then lead to a gain >0 in those regions and may cause clipping at the camilladsp output. Instead this would need a modified loudness filter that does the loudness compensation by lowering the midrange.

@HEnquist HEnquist added the enhancement New feature or request label Oct 6, 2022
@HEnquist HEnquist added this to the 1.2 milestone Oct 6, 2022
@HEnquist
Copy link
Owner

HEnquist commented Oct 6, 2022

Related to #229

@JWahle
Copy link
Contributor

JWahle commented May 22, 2023

Instead this would need a modified loudness filter that does the loudness compensation by lowering the midrange.

Adding additional headroom (~10dB) in advance would also work.
Just to simplify the implementation.

@HEnquist
Copy link
Owner

Instead this would need a modified loudness filter that does the loudness compensation by lowering the midrange.

I had completely forgotten about this point! Apart from that detail it's implemented in next20. I think I'll just add an optional parameter to the loudness filter to determine if it should attenuate to keep the gain below 0 dB.

@HEnquist
Copy link
Owner

Implemented in 548feb0

@HEnquist HEnquist modified the milestones: 2.1, 2.0 May 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants