1
0
Fork 0
Commit graph

679 commits

Author SHA1 Message Date
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
Robbert van der Helm 990fe33ff7 Add the data needed for the analyzer to Data 2023-03-20 14:57:25 +01:00