lsp-plugins / lsp-plugins/lsp-plugins-impulse-reverb
Dry/wet knob not working
- Dominant language
- Makefile
- Stars
- 1
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Description
The dry/wet knob on the "Impulse Responses Mono" plugin is not working as expected. I'd like to use the plugin with impulse responses of guitar speakers. Therefore I need to be able to fully disable the amp signal and to only use the processed wet signal. However, if I set the wet level to 100 % I get doubling effects.
Here are some further steps to reproduce that there's in fact a problem:
1. Set the "Dry" knob to -inf dbFS.
2. Set the "Dry/Wet" knob to 0%, i.e. fully dry.
**Expected result:** Nothing can be heard.
**Actual result:** the dry signal can still be heard.
I think this can the traced to the following lines of code: https://github.com/lsp-plugins/lsp-plugins-impulse-responses/blob/af5066bf43ae585f8d459a41d7b0fde34ca84e88/src/main/plug/impulse_responses.cpp#L475-L476
The current code looks as follows:
```
c->fDryGain = (dry * drywet + 1.0f - drywet) * fGain;
c->fWetGain = wet * drywet * fGain;
```
It needs to be adjusted as follows to correctly interpolate between dry and wet:
```
c->fDryGain = (dry * (1.0f - drywet)) * fGain;
c->fWetGain = wet * drywet * fGain;
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at src/main/plug/impulse_responses.cpp around lines 475-476 and review how the dry and wet gains are calculated. Reproduce the issue with Dry at -inf dBFS and Dry/Wet at 0%, then verify that the dry signal is silent and the wet-only setting no longer produces doubling effects.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- audio-video-rtc
- Issue type
- Bug
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 55/100