Robbert van der Helm
c748d79963
Temporarily remove slew compensation
...
We should probably just upsample the slews as a control signal and use
that instead.
2023-04-05 19:08:59 +02:00
Robbert van der Helm
4e0a0d4cd5
Move smoothing scratch buffers to the heap
...
This is probably a good idea to keep the stack sizes small. A couple 32
element buffers should be fine, but these fit 512 elements each and
Windows can be fussy about stack sizes.
2023-04-05 19:05:51 +02:00
Robbert van der Helm
d3f820dc8c
Set the default oversampling amount to 2x
...
Oversampling is not always needed, so this is probably a better default.
2023-04-05 18:54:13 +02:00
Robbert van der Helm
913aa4bef9
Decrease Soft Vacuum output gain range
...
-40 dB sounds reasonable. No need to go down all the way to -100.0. The
original version was in the linear domain.
2023-04-05 18:46:47 +02:00
Robbert van der Helm
4b5f52252a
Make the oversampling in Soft Vacuum configurable
2023-04-05 18:40:40 +02:00
Robbert van der Helm
c6765d91ac
Modify oversampler to allow variable no of stages
...
This is needed to be able to add a control for the oversampler amount.
2023-04-05 18:22:28 +02:00
Robbert van der Helm
40db21277e
Fix debug assertions in oversampling
...
These were leftover from before the addition of delays.
2023-04-05 18:22:28 +02:00
Robbert van der Helm
1711efa11e
Add a basic 4x oversampled version of Hard Vacuum
...
The oversampling amount should be configurable, and it would work better
if the slew signal was oversampled independently instead of doing this
compensation thing.
2023-04-05 18:22:28 +02:00
Robbert van der Helm
6a368c1ac6
Add a Lanczos3-based linear phase oversampler
2023-04-05 18:22:28 +02:00
Robbert van der Helm
4b706acac5
Mention Soft Vacuum in the readme
2023-04-05 18:22:28 +02:00
Robbert van der Helm
41b513541d
Rename Soft Vacuum plugin name
2023-04-05 18:22:28 +02:00
Robbert van der Helm
f4c3c96364
Add parameters for the Hard Vacuum port
2023-04-05 18:22:28 +02:00
Robbert van der Helm
456a22119e
Port the Hard Vacuum algorithm
2023-04-05 18:22:28 +02:00
Robbert van der Helm
1abcb02647
Add an abstraction for the Hard Vacuum algorithm
2023-04-05 18:22:28 +02:00
Robbert van der Helm
3e26fcf912
Add a skeleton for a Hard Vacuum port
2023-04-05 18:22:28 +02:00
Robbert van der Helm
8a7100ac3e
Add an OversamplingAware smoothing style
...
This can be used to have an ergonomic way to do multi-rate smoothing
with variable oversampling amounts that only the `Arc<AtomicF32>` to be
updated from a parameter callback.
2023-04-05 18:08:22 +02:00
Robbert van der Helm
a33569bff6
Bump Spectral Compressor to version 0.4.3
2023-03-31 12:54:20 +02:00
Robbert van der Helm
b9031ecd2f
Fix sidechain matching + soft knee in SC
...
These coefficients change with the thresholds.
2023-03-27 17:26:38 +02:00
Robbert van der Helm
732cfdfa3a
Move Spectral Compressor knee coefs to functions
2023-03-27 17:23:06 +02:00
Robbert van der Helm
20d165052a
Cap Spectral Compressor sidechain match thresholds
2023-03-27 16:46:00 +02:00
Robbert van der Helm
e59dc33aaf
Change the default SC window size to 2048
2023-03-22 15:12:12 +01:00
Robbert van der Helm
f7dd40aabc
Bump Spectral Compressor to version 0.4.2
...
Was a bit too quick to tag 0.4.1.
2023-03-22 14:34:47 +01:00
Robbert van der Helm
a8fa8cde66
Slowly fade in SC envelope followers
...
This is much more gentle.
2023-03-22 14:33:13 +01:00
Robbert van der Helm
e2ab5e16bc
Add a screenshot to Spectral Compressor's page
2023-03-22 13:55:10 +01:00
Robbert van der Helm
3e038dc043
Disable standalone feature for Spectral Compressor
...
This is not ready yet.
2023-03-22 13:55:02 +01:00
Robbert van der Helm
ea39daf99b
Bump Spectral Compressor to version 0.4.1
2023-03-22 13:50:53 +01:00
Robbert van der Helm
76960e7e92
Fix envelope follower timings getting stuck at 0ms
...
Regression from f6ef95db3e
.
2023-03-22 13:50:23 +01:00
Robbert van der Helm
c24ace61ee
Bump Spectral Compressor to 0.4.0
2023-03-22 13:16:11 +01:00
Robbert van der Helm
135c60cf38
Reword Spectral Compressor changelog
2023-03-22 13:15:19 +01:00
Robbert van der Helm
f6ef95db3e
Snap envelopes to the current value after reset
...
This results in much less unexpected behavior.
2023-03-22 12:19:29 +01:00
Robbert van der Helm
4022fdd37c
Draw separate upwards and downwards curves
2023-03-22 00:17:17 +01:00
Robbert van der Helm
14cd737e8f
Scrap the relative gain reduction idea
...
This looks super confusing.
2023-03-21 23:51:10 +01:00
Robbert van der Helm
1c8546ae13
Show the target curve in Spectral Compressor
2023-03-21 23:37:27 +01:00
Robbert van der Helm
144fafbed6
Swap log2 in Spectral Compressor out for ln
...
The ln() implementation is usually faster, and there's no reason to
prefer a specific base.
2023-03-21 22:56:49 +01:00
Robbert van der Helm
ab66152f00
Allow evaluate_plain() to be unused
...
We won't need this, but it being there makes everything a lot clearer.
2023-03-21 22:51:55 +01:00
Robbert van der Helm
ea4dd8ead2
Move curve calculation to a dedicated struct
...
So we can reuse this in the analyzer.
2023-03-21 21:09:58 +01:00
Robbert van der Helm
89dd0bf461
Explicitly handle drawing first and last bars
...
To avoid surprises here.
2023-03-21 18:32:20 +01:00
Robbert van der Helm
35864aa13c
Clean up the GR overlay drawing
2023-03-21 18:27:42 +01:00
Robbert van der Helm
86aed54bf3
Document the addition of an analyzer in SC
2023-03-21 18:13:09 +01:00
Robbert van der Helm
8bd5f8afce
Change the blending and colors on the GR area
...
This looks a lot clearer.
2023-03-21 17:57:26 +01:00
Robbert van der Helm
a4cac4b750
Fix GR overlay clamping
...
Just the min/max isn't enough when the entire band is out of range.
2023-03-21 17:16:10 +01:00
Robbert van der Helm
9f5d1dcf57
Draw GR overlay as a single path with no AA
...
With these settings the high end parts at least look much cleaner.
2023-03-21 17:10:03 +01:00
Robbert van der Helm
ba30a86b11
Draw Diopser's spectrum analyzer in one go
2023-03-21 16:59:51 +01:00
Robbert van der Helm
c7fecd87d2
Draw all Spectral Compressor bars in one go
2023-03-21 16:55:02 +01:00
Robbert van der Helm
e179734818
Draw dense part of the spectrum as a solid mesh
...
This fixes aliasing problems.
2023-03-20 19:36:47 +01:00
Robbert van der Helm
29fde14c88
Move analyzer drawing code to functions
2023-03-20 17:34:56 +01:00
Robbert van der Helm
6e3d2379b0
Add a start of a gain reduction display
...
This needs to be drawn as a single mesh instead, and it should also use
the target curve or it looks odd.
2023-03-20 17:25:21 +01:00
Robbert van der Helm
48d8ff9275
Slightly reduce SC GUI height
...
This makes the bottom edge align better.
2023-03-20 15:55:48 +01:00
Robbert van der Helm
3600951159
Visualize the envelope followers in SC
2023-03-20 15:51:13 +01:00
Robbert van der Helm
7c4ae32ba4
Add boilerplate for the analyzer widget
2023-03-20 14:57:25 +01:00