Open sbauly opened 3 days ago
Hi @sbauly,
I can hear clicks when fast changing the frequency in the waveform example, but not when changing parameters like the wet in the freeverb filter.
I tried on linux, android and web.
I'll try to figure out what wrong. Thank you.
Hi @alnitak, thank you for your reply!
I threw together a quick example app to demonstrate the issue.
Here is the result of adjusting the wetness parameter on generated waveforms, with audible clicks and pops when adjusting the wetness:
https://github.com/user-attachments/assets/edf6d342-bb3e-4262-a022-82da35845c12
Here is the result of adjusting the wetness parameter on an audio file (I tested with .ogg, .wav and .mp3, all were producing pops and clicks):
https://github.com/user-attachments/assets/7592d5b5-eaf1-4b2b-b3cd-87854dfc03f4
The pops are quieter when adjusting the wet on an audio file, but still noticeable with headphones.
I have been adjusting the wetness as follows:
Center(
child: Slider(
value: viewModel.reverbWet,
onChanged: (value) {
viewModel.adjustFreeverbWetness(value);
},
),
),
double _reverbWet = 0.5;
double get reverbWet => _reverbWet;
void adjustFreeverbWetness(double wetness) {
_reverbWet = wetness;
SoLoud.instance.filters.freeverbFilter.wet.value = wetness;
notifyListeners();
}
I've tried using the fadeFilterParameter()
method instead of directly setting the wetness value, but have been unable to get it to work yet.
I'm using flutter_soloud: ^2.1.7
from pub.dev, and I can hear these pops on both Android and iOS.
As always, thank you for your amazing hard work on this package!
Description
Audible artifacts (clicks and pops) can be heard when modifying audio parameters in real-time. This is particularly noticeable with Freeverb's wetness parameter, but can also be heard when adjusting a generated waveform's frequency.
Steps To Reproduce
Recommendations
It would be great if we could implement smoothing/interpolation when changing filter values to eliminate these artifacts. This would allow for seamless transitions, which is particularly important for immersion in games.