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

Revise local Pan processing #353

Closed
corrados opened this issue Jun 12, 2020 · 3 comments
Closed

Revise local Pan processing #353

corrados opened this issue Jun 12, 2020 · 3 comments

Comments

@corrados
Copy link
Contributor

corrados commented Jun 12, 2020

In Mono mode, the signal is attenuated by 3 dB (amplitude attenuation) to avoid an overload after the mix. But this is a very conservative attenuation. Users report to have problems with that attenuation, see https://sourceforge.net/p/llcon/discussion/software/thread/c13efe4ab9

@corrados
Copy link
Contributor Author

For a discussion on the topic, see the original forum thread linked in the initial post.

@corrados
Copy link
Contributor Author

As a simple solution I will implement it as follows: The Mono mode is intended to have the lowest possible network bandwidth requirement. Therefore a stereo instrument signal should not be influenced in level when switching from Stereo mode to the Mono mode. This is the case with the current implementation (cross-fade pan implementation with 6 dB attenuation in the middle). But we have a mode especially designed for the case that you have an instrument on one stereo channel and the voice on another. For this it might be beneficial that the pan middle position is not attenuated. Therefore I will only change the local pan behaviour for the Mono-in/Stereo-out mode. In that mode the local pan will be changed so that the middle position has no attenuation. As a result, if the two inputs are leveled at 0 dB, you will get an overload (since the two signals are summed up to get a mono signal). But the problem with the attenuation in the middle position is worse than a possible overload (at least this is what is said in the Sourceforge forum, see link above).

@dakhubgit
Copy link
Contributor

Midi spec for the pan controller (hard left 0, center 64, hard right 127) gives:

The following formulas are recommended (see AMEI/MMA RP-037 for details):
Left Channel Gain [dB] = 20log (cos (Pi/2 max(0,CC#10 - 1)/126)
Right Channel Gain [dB] = 20log (sin (Pi /2 max(0,CC#10 - 1)/126)

As a straightforward amplitude multiplier rather than a dB value, you'd just remove the 20*log part from the formula. This is more or less the geometric mean of the two options between you switch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants