In Experiment.processing, the application of the distortion is done independently for the target and masker. It's a problem for non-linear distortions, like spectral-subtraction, which require the noisy signal and the noise alone.
I see two approaches for "fixing" that:
If required the user should subclass Experiment and replace the preprocessing method with a method that applies the distortion whichever way they want.
Add an additional option to Experiment to define the behavior inside the preprocessing method. That would require changing the level adjustment behavior as well. Actually, the level adjustment would have to be done before the application of the distortion.
In
Experiment.processing
, the application of the distortion is done independently for the target and masker. It's a problem for non-linear distortions, like spectral-subtraction, which require the noisy signal and the noise alone.I see two approaches for "fixing" that:
Experiment
and replace thepreprocessing
method with a method that applies the distortion whichever way they want.Experiment
to define the behavior inside thepreprocessing
method. That would require changing the level adjustment behavior as well. Actually, the level adjustment would have to be done before the application of the distortion.Right now, I'd say we should stick to option 1.