I'm currently building an update with the following changes:
- Fixed a small bug in the highpass filter that may have caused some artifacts.
- Fixed a bug in the Hard Limit filter for FM transmitters; probably no or very little effect on the output.
- Bug fix: Loudness indicators fixed.
- Bug fix: Very deep bass distortion protection DIFF is working properly now.
- Stand alone version: 2nd input channel removed (for now)
- In Low Latency mode, If Multiband is turned on and the highpass filter is used at frequencies between 12 and 46 Hz, the multiband filter gives the bass a slight boost.
- Replaced Lo/Mid/Hi quality and latency Low/Normal by a separate window where the latency can be selected (512, 1024, 2048, 4096 samples), and several settings are present that determine the output quality. See below.
- Changing quality and latency settings on the fly should work now without problems.
About the output quality:
Code:
_____
/ \
/ \
/ \
_____
/ \
/ \
/ \
_____
/ \
/ \
/ \
Latency
As you can see in the drawing above, the audio is processed by Stereo Tool in chunks of a certain size. This size is either 512, 1024, 2048 or 4096 samples (per channel).
4096 corresponds to Normal Latency in the previous version, Low Latency is 1024 samples.
Steepness
To avoid sudden cut-offs of the sound (which sound like a loud 'click' and will therefore damage the rest of the sound as well), a "window" is placed over each chunk, where the sound gracefully drops to 0.
The part of the audio where the volume drops to 0 cannot be used because it contains too many artifacts. So the steeper the sound drops to 0, the bigger the part of the sound is that
can be used. But this comes at a cost, the steeper the slopes are the more artifacts will occur in (very) low frequencies.
Overlap size
Near the slopes, some artifacts might already be present, especially at very low frequencies. Also, when Loudness is used, different chunks may be processed very differently. In other words: They might not match perfectly.
Just concatenating the flat areas would often lead to loud clicks in the sound (comparable to 'blocks' that you can see in videos with low bitrates). So instead, it's necessary to use some 'overlap' between chunks.
The bigger the overlap is, the better the sound will be - but the CPU load will also increase a lot. (For example, for maximum overlap, every sample must be in the flat part of 2 chunks, which means doubling the CPU load!).
The effect is the biggest on very low frequencies, and when using low latency settings (because in low latency modes, the chunks themselves are very small, so the overlap size is also small).
Basically, if the overlap area gets bigger, both the amplitude and the frequency of mismatches between chunks go down.
In the previous BETA3 version, Normal mode used an overlap of 25% and slopes of 75% in Normal quality mode, 50% and 100% in High quality mode.
Low Latency mode, the overlap in Normal quality was 50%, High quality 100%.