And here’s another interesting fact.
Gain module -30.
I don’t see artifacts as severe as in the SL 12.
Here is another comparison of gain modules.
Just to be clear, I have to say I love the SL 12. It’s a brilliant concept. I don’t want to be seen as just a critic. These are just a few of my observations. Maybe I’m right, maybe not.
Digital processing is a complex subject.
Here’s another observation. Zooming in on the waveform at the artifact location shows something like this.
Now that one looks like a bug. I’ll give it a try now.
Settings: 1kHz Sine Wave @ -6dB, then Gain -30dB across 0.5s of audio.
Test 1: FFT Window Size set to 256 samples
Test 2: FFT Window Size set to 4096 samples
Test 3: Test 2: FFT Window Size set to 32768 samples
I had a feeling the “Gain” function would be FFT-based rather than time domain. The results are going to be dependent on what window size you are using.
Since the gain function can be used across a narrower portion of the frequency spectrum, it literally has to be based on FFT rather than simply gaining/attenuating a complex signal in the time domain.
Maybe this could be patched, so that IF a selection has all frequencies selected, it would apply a time domain gain ramp rather than doing it in the frequency domain.
Yepp, 100%, that does not look good, indeed.
Left: FFT-Size 128
Right: FFT-Size 32768
Gain 10 dB
… Every operation, that can be done in the time domain should be done in the time domain and not in the frequency domain.
When setting the FFT-Size to 2048, it looks completely screwed up
I am so tired of figuring out all the bugs and quirks of this program…
Every funktion should do exactly what it is supposed to do, without any other side effects. That’s what I paid for.
I think I know why there’s a sharp ramp when reducing gain using the gain tool.
From a newbie perspective, since FFT is a linear phase process, and since the processing only seems to occur within the audio selection, it’s unable to process any audio outside of the selection so there’s a ramp.
I think it needs to be able to process out-of-selection audio in order to produce a smooth gain transition.
I hope this makes sense. I’m not a DSP expert at all, but I think I might be onto something.
@Robin_Lobel Sorry to tag you Robin! Just think I might have figured out an issue with the gain tool that people have been having. It produces sharp edges instead of a smooth transition.
Hi, indeed there seem to be a buffer issue with the Gain module here, because if you simply hit the Delete key (or do Edit > Delete) this issue doesn’t occur. I’ll look into that.
Thanks Robin. Really appreciate it!
@jim_griff @Sunnyman @Kris_Go @J_Harry @Laturec here’s a build that should fix this buffer issue that happens with some modules:
SpectraLayers 12.0.51.436 mac installer
SpectraLayers 12.0.51.436 windows installer
Let me know if you still have such issues after installing this build.
It works, Robin! I’ve done a handful of gain-up and gain-down scenarios including frequency selections and time selections, and the ramps are not showing up with the new build. I’m using the settings as seen below (in case it’s relevant).
I really appreciate the fix.
Hi Robin. I’ve done some tests (SL 12.0.51.436):
TEST 1: Window Size: 1024 / Time fade: 0.1s / Gain: -12dB across selection
TEST 2: Window Size: 8192 / Time fade: 0.1s / Gain: -12dB across selection
TEST 3: Window Size: 32768 / Time fade: 0.1s / Gain: -12dB across selection
Smaller window sizes work nicely. Larger ones still have a ramp at the selection boundary.
Here’s a test using the “Delete” function (Window Size: 1024 / Time Fade: 0.00s):
You can see when using the Delete function, it affects audio outside of the selection (I believe normal for linear phase FFT processing?), but the Gain module seems to only work within the selection, not outside of it. I’m not sure if that’s the intended behaviour, or whether it needs to take into consideration audio information outside of the selection.
Here’s another test using Window Size: 8192 / Time Fade: 0.00s:-
Same “out-of-selection” context and processing using the Delete function.
Hope what I’ve said makes some kind of sense. ![]()
Cheers, Jim.
Thanks for the test build @Robin_Lobel. It definitely is better than before, especially concerning the starting boundaries. As @jim_griff already mentioned with the Gain module the processing is limited to the selection and still leads to sudden level reduction at both boundaries, somewhat depending on FFT settings. Meanwhile with Delete there is always a smooth transition.
Time Range Selection with and without a 0.1 second fade, processed with a -24dB Gain, at FFT Size 4096 and varying resolution.
Time Range Selection with and without a 0.1 second fade, processed with Delete.

















