Add a waveform display to the clips. Ideally the data should be shared with the backend and the waveform should be pre-calculated and cached for performance.
Of course the field of what makes reverbs sound good is a vast and complicated (and a lot of it is hidden away as trade secrets). However, I'll give some resources that could be places to start/port:
I happen to quite like the sound of the built-in reverb in Vitalium.
In case you don't know how Xfer's DJMFilter works, the principle is that the lower half of the knob range controls the cutoff of the LP filter and the HP filter is disabled, the upper half of the knob range controls the cutoff of the HP filter and the LP filter is disabled, and when the knob is roughly in the center both filters are disabled. This makes filter automation very easy.
Should use a second-order SVF filter with an adjustable Q control.
An optional "drive" parameter for light distortion would be nice but is not needed.
This should be easy once we have a parametric eq and a compressor.
This can also double as a de-esser.
We could also consider adding this as an optional feature in the Parametric EQ plugin, but the controls will likely be different so it may be better as a separate plugin.
Controls for input gain, threshold, and output gain.
An additional control that adjusts the input gain and output gain at the same time.
I quite like the sound and quality of Misstortion, so porting it could be a great starting point.
Ability to split the low end "cutoff" frequency where the wet signal below this cutoff is replaced with the dry signal below this cutoff. This should be easy once we have the "Multiband splitter/merger". This is useful for making distorted bass sounds and kick drums sound "cleaner".
Simple stretching of audio clips by speeding up or slowing down the sample rate.
This can likely be easily accomplished using samplerate crate. However, an eventual goal is to support automating this over time, so some research needs to be done on how to make this possible. For reference on what I mean take a look at Bitwig's Working with audio clips section in its manual.
The "optimal" designs from the deip paper could be a great starting point.
The multiband compressor in Vitalium is pretty much what I'm looking for here, but we can also experiment with adding different compressor algorithms if we wish.
The Surge Synth team has also made a bunch of waveshaper algorithms available in sst-waveshapers. Although these were the only ones I thought sounded good IMO:
OJD
2 Cycle
7 Cycle
10 Cycle
Fuzz Soft Edge
Single Fold
Double Fold
West Coast Fold
Soft Single Fold
I also quite like the sound of the waveshaper in misstortion. We can call that variant "Hyperbolic Soft Clip".
Should include controls for a pre-filter and a post-filter.
Also add the ability to split the low end "cutoff" frequency where the wet signal below this cutoff is replaced with the dry signal below this cutoff. This should be easy once we have the "Multiband splitter/merger". This is useful for making distorted bass sounds sound "cleaner".
Should have a toggle button that will link the input gain and output gain to move together (inverted from eachother).
A standard single-band compressor with attack, release, threshold and output gain.
In addition to the normal threshold, there should also be an "expander" threshold that boosts signals under a given threshold. Not every "character" of the DSP needs to include this though.
Two different detection modes: Peak and RMS. Not every "character" of the DSP needs to include this though.
Basic lowpass & highpass filter on sidechain input (including when the input signal is used as the "sidechain").
I'm not sure what goes into making a compressor "sound good". We need to research this some more.