1
0
Fork 0
Commit graph

1537 commits

Author SHA1 Message Date
Robbert van der Helm
068549607d Add soft-knee downwards compression 2022-07-24 15:58:30 +02:00
Robbert van der Helm
08201d2a87 Compute knee starts and ends 2022-07-24 15:54:58 +02:00
Robbert van der Helm
92f03e768f Default the rolloff parameters to 0 2022-07-24 15:15:47 +02:00
Robbert van der Helm
b3166e3977 Rearrange Spectral Compressor GUI into 4x4 grid 2022-07-24 15:15:47 +02:00
Robbert van der Helm
7b02217ad4 Map from the Params object in GenericUi
Otherwise reactivity doesn't work.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
8ae93cc6ab Remove Copy bound on ParamSlider 2022-07-24 15:15:47 +02:00
Robbert van der Helm
f812374ad0 Make it easier to reuse generic UI widget drawing 2022-07-24 15:15:47 +02:00
Robbert van der Helm
4f62ebd2ea Wrap nested Params structs in Arcs
So we can use the generic UIs. Vizia needs these to be 'static.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
2fbf4ca00d Remove Copy requirement from Vizia generic UI
This now uses a dummy lens to map to the parameter.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
4327828e6b Move the Params implementation to CompressorParams
So now CompressorBankParams can just derive Params.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
dc97fb1019 Implement Params for Arc<P: Params>
This is useful for partial generic UIs.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
278ae227a7 Make the Spectral Compressor editor a bit wider
Next up is splitting this up in four generic UI panes to make it a bit
easier to use. That was why all of the previous commits moved parameters
around.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
6ae1c55f76 Deduplicate compressors with custom Params impl
This now also finally serves as an example on how to do this.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
fa392e61f1 Move attack and release to global parameters 2022-07-24 15:15:47 +02:00
Robbert van der Helm
3c1a1c8f14 Move global parameters to their own struct
We'll temporarily split the generic UI into four panes to make it a bit
easier to use.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
c53726bf9e Move the global threshold down in the list 2022-07-24 15:15:47 +02:00
Robbert van der Helm
06694683d3 Move the frequency center parameter down
Somehow this is always where I'm looking for it.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
7db5da7930 Make the slope parameter range wider 2022-07-24 15:15:47 +02:00
Robbert van der Helm
f58e278c85 Fix offsets in threshold calculations 2022-07-24 15:15:47 +02:00
Robbert van der Helm
f0efdad059 Rearrange Spectral Compressor parameters 2022-07-24 15:15:47 +02:00
Robbert van der Helm
332ac2b231 Add basic hard-knee downwards compression 2022-07-24 15:15:47 +02:00
Robbert van der Helm
faec0e35af Allow more granular ratios 2022-07-24 15:15:47 +02:00
Robbert van der Helm
43f86bcc85 Prevent threshold from reaching zero 2022-07-24 15:15:47 +02:00
Robbert van der Helm
8fbdc43ce3 Fix the high frequency rolloff 2022-07-24 15:15:47 +02:00
Robbert van der Helm
eda842c6a9 Fix the envelope coefficients
The minus was missing here.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
c2003879cb Store ratio reciprocals instead of ratios
We're doing linear space compression, so we need the reciprocal of the
actual ratio.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
ef3a7a76d5 Handle 0 attack and release 2022-07-24 15:15:47 +02:00
Robbert van der Helm
dae9dc758c Implement the envelope followers 2022-07-24 15:15:47 +02:00
Robbert van der Helm
147cf3f633 Add a not very functional process function 2022-07-24 15:15:47 +02:00
Robbert van der Helm
9aa4a64e5f Compute the ratios for Spectral Compressor 2022-07-24 15:15:47 +02:00
Robbert van der Helm
482599b351 Compute the thresholds for Spectral Compressor 2022-07-24 15:15:47 +02:00
Robbert van der Helm
fad560ab9f Precompute 2-log frequencies for the compressors 2022-07-24 15:15:47 +02:00
Robbert van der Helm
b8525cac4d Split compressor params into up/downwards 2022-07-24 15:15:47 +02:00
Robbert van der Helm
e68bb8d632 Add a stub for a compressor bank
This is what the compressor data structure will more or less look like.
The thresholds and ratios still need to be split up in their upwards and
downwards counterparts and the callback listeners should be updated
accordingly.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
fdcf8f79bc Make the Spectral Compressor editor taller
All the sliders.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
2658404162 Rearrange compressor and threshold parameters 2022-07-24 15:15:47 +02:00
Robbert van der Helm
70f50018ad Use regular slides for >3 step parameters 2022-07-24 15:15:47 +02:00
Robbert van der Helm
6f92c81c1b Add parameters for window size and overlap 2022-07-24 15:15:47 +02:00
Robbert van der Helm
5dff08c62b Add a dedicated threshold params struct
The input gain is now replaced by a global threshold.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
49f6df7248 Add a high-frequency ratio rolloff parameter 2022-07-24 15:15:47 +02:00
Robbert van der Helm
d00ae369c0 Add knee width parameters 2022-07-24 15:15:47 +02:00
Robbert van der Helm
ed3f760965 Move the compressor parameters to their own module 2022-07-24 15:15:47 +02:00
Robbert van der Helm
08c78454da Add scrollbar to Spectral Compressor's generic GUI 2022-07-24 15:15:47 +02:00
Robbert van der Helm
a406f451b0 Remove the word Threshold from the parameter names
This makes them too long otherwise.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
07136bcdc9 Add compressor params for Spectral Compressor
These are not yet hooked up to anything.
2022-07-24 15:15:47 +02:00
Robbert van der Helm
83d8c7a9f4 Add a formatter for compression ratios 2022-07-24 15:15:47 +02:00
Robbert van der Helm
7c66f5d856 Add a dry-wet mixer to Spectral Compressor 2022-07-24 15:15:47 +02:00
Robbert van der Helm
46faaaf1ac Add a DC filter 2022-07-24 15:15:47 +02:00
Robbert van der Helm
12aa8544cd Add a non-functional STFT to Spectral Compressor 2022-07-24 15:15:47 +02:00
Robbert van der Helm
85e52b8ab7 Add boilerplate for a Spectral Compressor port 2022-07-24 15:15:47 +02:00