Firstly - I do not claim to have extensive knowledge about how spectrals, FFT and connected stuff is calculated or how it is actually programmed in SpectraLayers, I just speak out of my own experiences, observations and tests with SL.
As for how it works right now, personally I would not recommend SpectraLayers as a general basic editor (cut, crop, copy, paste, fades … whatever), at least not when you need absolute precision. If you have to, though, you should pay close attention.
SL mostly works in spectral domain with many processes dependant on the FFT Size you can set in the Display panel. With that setting you can shift the focus to either higher time precision (lower FFT) or higher frequency precision (higher FFT), and with the Resolution you can additionally refine the display (x1-x3 are just for time resolution, x4 adds one step of frequency resolution).
I assume SL calculates an image for the display with a certain size in pixels, depending on the sample rate of your project and the set FFT Size and Resolution. And there start some problems you probably encountered - the pixel resolution varies according to these values and it only matches a sample or time position at certain intervals. As most of the tools (like the Eraser, but also Cut or Delete operation from a selection) edit the underlying image in pixels and not the audio samples, there will be some kind of quantization or shift.
Example 1:
A short 48kHz mono file with a 0dBFS constant signal, just for better understanding.
Display is set to
FFT Size 128 with
Resolution x1.
I do a time range selection (no time fade) of 200 samples and hit [Delete] on the keyboard or use
Edit →
Delete.
The result is not what I expected. There is some fading and also a general shift compared to the original selection.
When I change the time ruler unit to
Pixels I can see that the result matches perfectly with the grid here, though.
I revert the edit, keep the same selection but change the
Resolution in the
Display panel from x1 to x3 and repeat the delete process. The actual pixel count changes by factor 4, which allows for a more accurate application of the delete process, but it is still not exactly where I intended it to be. The result matches again with pixel grid.
At 48kHz using FFT 128 at x1 results in 32 samples per pixel (or ~0.667ms) , at x3 it refines to 8 samples per pixel (or ~0.167ms).
In your example screenshot you also use 48kHz but with FFT 3072 (and probably at x2 or x3, whatever the default is). At x1 you have 768 samples per pixel (or 16ms), at x3 it is 192 samples per pixel (or 4ms). Considering you have selected about 2ms (maybe even just below half of 4ms) I assume your selection end point was quantized/rounded to position 0, so no wonder there was nothing happening.
…
So much for spectral based edits.
Under Edit you also have the options Insert Time, Delete Time and Crop Time which allow for precise sharp edits like in a regular editor, but they also suffer from quantization/rounding.
Example 2:
Again a short 48kHz mono file with a 480Hz sine wave. I select exactly 3 periods of the wave (300 samples) and do
Edit →
Delete Time.
Result … yeah … no. There should be no spike in there.
Changing the time ruler unit from
Decimal to
Samples and doing
Delete Time again I get a clean result with a continuous sine wave.
To be fair, I can use Decimal or another kind of unit and get the correct result, but I have to manually change the decimals for the start and length. This is nothing any person would likely do, so here is definitely room for improvement. I would be fine with a rounded displayed value, but for this kind of function it should use the actual selected range in samples for the calculation (just like it works in Excel and variants, for example). Please have a look at this @Robin_Lobel.
…
Regarding fades:
There is currently no one-click solution for easy fades and crossfades.
The more cumbersome old way is to delete some of the audio with a certain desired time fade.
The more elegant way is to use a layer’s Envelope. This is new to SpectraLayers 11 and for now pretty basic without automatic options or curve smoothing, but it works and you can adjust it when needed.
Maybe that short overview helps you. 