Replies: 2 comments 6 replies
-
I understand that this feature may be necessary for less ideal audio setups. (The real solution would be a better audio setup of course!) A problem I see is that it's yet another feature which adds some complexity and must therefore be considered carefully (both from the UX and technical perspective). Approach 1 sounds simpler but approach 2 could also work. |
Beta Was this translation helpful? Give feedback.
-
Just so you know: Please also read https://github.com/orgs/jamulussoftware/discussions/1294 Times change so we may be more or less strict on some features. |
Beta Was this translation helpful? Give feedback.
-
Feature Description
Enhancing the Input Boost (1x ... 10x): What about giving the possibility to make the boost "smarter" in the sense that the "loud enough signals" won't be too amplified?
Background / Context
This may or may not be related to #1062 , in the sense that we want the sound to be amplified.
In my case my friends are joining Jamulus with a sub-optimal setup, as simple as a mobile phone with a wired earphone, or even just handheld it to their ears with a relatively low volume to have minimal feedback.
In such cases, they may need a Boost anywhere from 2x to 8x so the volume gets to the green/yellow level to match with others. Such boost is needed because of the fact that their sound input device is relatively far from the sound sources (imagining playing piano with 2 hands while singing with a wired earphone hanging mid air).
And it hurts our ears when someone sneezes with 8x, or there is an accidental phone drop. This inspires a feature, that we amplify "most" signals (that we want and need), while accidental loud noises (that are over a certain limit) won't be amplified as much. This may somehow resemble a simple Compressor audio effect.
Given that reverb is provided by Jamulus, and Input Boost too, so I guess it may be also appropriate to suggest providing a Compressor-like effect in Jamulus.
Usability / How would it work?
After some thoughts, here are 2 of the possibilities that may be usuable:
1. Make another text field numerical input (limit or threshold for compressors) and audio signals louder than that level would be compressed.
So the existing Input Boost would behave like the "limit" is set to 0 dB and nothing is "compressed".
2. Make a checkbox, so when checked, a curve is used instead for calculations instead of the existing simple multiplication.
A formula with an input boost level n with level of loudness x normalized to from 0 to 1 would be like
-(1-x)^n+1
. (so its slope at 0 would be n while its slope at 1 would be 0)Technical implementation
It seems to me that the current input boost is handled in
CClient::ProcessAudioDataIntern
:As this looks cleanly decoupled / isolated, it seems I could try contribute too, though I haven't yet tried to build Jamulus on my machine.
Considering Jamulus has feedback detection, so that's why the suggestions are made intended to kept 0 dB as 0 dB to avoid breaking features that depends on 0 dB being hit on the meter.
What are your thoughts on the feature? Anyone also using Input Boost and suffering from unexpected loud noises that no one intended to make that happen?
Thanks for reading. And thanks for everyone here who contributes to the Jamulus community!
Beta Was this translation helpful? Give feedback.
All reactions