surge-synthesizer / surge

Synthesizer plug-in (previously released as Vember Audio Surge)
https://surge-synthesizer.github.io/
GNU General Public License v3.0
3.02k stars 386 forks source link

FX wishlist #1694

Open mkruselj opened 4 years ago

mkruselj commented 4 years ago
baconpaul commented 4 years ago

Gonna use this issue to store various things I find as I think about these

http://research.spa.aalto.fi/publications/papers/antiquing/

mkruselj commented 3 years ago

@baconpaul We could probably also port the Dragonfly Plate reverb. Current reverbs don't really get you that plate verb sound.

https://github.com/michaelwillis/dragonfly-reverb

Others from that lot have more than 12 params (but are worth taking a look at).

mkruselj commented 3 years ago

https://github.com/bdejong/smartelectronix

More stuff to investigate. H2O, Madshifta, SupaTrigga sound like great additions to Surge!

magnetophon commented 3 years ago

@jatinchowdhury18 made an another incredibly sounding waveshaper. Thanks Jatin! https://jatinchowdhury18.medium.com/complex-nonlinearities-episode-10-gated-recurrent-distortion-6d60948323cfhttps://www.youtube.com/watch?v=LPelVYpeP00

It would be cool to have as an FX, but I imagine it would be even cooler in the feedback path: Going by the demo video, it lends itself very well to modulation, and it's capable of predictably dulling or brightening the sound.

It has too many parameters to fit in the waveshaper slot, but maybe it could be a filter type? Alternatively, I can imagine having a few of these as waveshapers with different combinations of fixed and linked parameters, so the total number of parameters stays 2 (iiuc, the plan id to have drive and DC for the rest of the waveshapers, right?)

jatinchowdhury18 commented 3 years ago

@jatinchowdhury18 made an another incredibly sounding waveshaper. Thanks Jatin!

My pleasure! I was actually thinking about this effect a few days ago, trying to figure out if I could sort of "condense" the parameter space down to only one or two parameters that make the most sense from the user perspective (since right now they only really make sense from a math perspective). I think this will make the effect much easier to integrate.

On a side note, since I see a few of my existing effects on this list, I'd like to spend some time during the version 1.9 development cycle working on these. With that in mind I have a couple questions:

baconpaul commented 3 years ago

Hi!

We would all welcome your effects yeah! Here's how I would answer your questions

  1. Make an issue for each one and in the description link to this issue by saying "#1694" then we have them all cross linked but you can close each issue when you integrate
  2. src/common/dsp/effect/chowdsp makes sense to me if it works for you. @mvf and I were talking about code reorg and stuff the other day so we may move stuff around but I would start there. UNLESS you want to work under a license other than GPL3 in which case we should chat about a segregation in lib/ land (and perhaps a separate repo)
  3. In that case, or if you decided to separate your DSP from your surge integration, you could also do src/common/dsp/effect/chowadapter which linked to lib/chowdsp (and even if you wanted have chowdsp then be a submodule) but if you don't mind copying and intermixing there's no real reason for that.
  4. But we are all super flexible. If something else works let us know.
  5. And I have to write doc/AddingAnFX.md like I have for the other things. When you decide to get to work hit me up and I will provide a draft of how to do it and perhaps your experience following those docs could finish them off?
jatinchowdhury18 commented 3 years ago

Great! That workflow makes sense to me. I've started playing around with this on my chowdsp-fx branch. I also started a AddingAnFX document, though I'm sure there's lots that I'm missing.

I've started making GItHub Issues for these effects, but it doesn't look like I'm able to assign them to myself, or assign labels to the issues?

baconpaul commented 3 years ago

That AddingAnFX looks right to me. The only other thing I would add is 'we generally use enums for parameter indices'. And 'copy the Flanger since it is new and clean if in doubt'.

Lemme give you triage on the repo so you can do that. Hold on.

mkruselj commented 3 years ago

Let @mkruselj handle labels 🙂

I was actually thinking about this effect a few days ago, trying to figure out if I could sort of "condense" the parameter space down to only one or two parameters that make the most sense from the user perspective (since right now they only really make sense from a math perspective). I think this will make the effect much easier to integrate.

Actually I like the flexibility of all 5 parameters there. They just need better names...

baconpaul commented 3 years ago

OK invite for you having triage coming in We generally don't use 'assign' - if you plan on doing it just say 'i got it' in the issue but you can adjust whatever you want now label wise. And @mkruselj is generally the issue hygiene person yeah so he can help too!

magnetophon commented 3 years ago

Just so the idea doesn't get lost: This is a wonderful sounding compressor: https://sourceforge.net/p/molot/code/ci/master/tree/ It's very punchy and analog sounding, but more traditional and controllable than the airwindows compressors. Highly recommended, and GPL3.

ghost commented 3 years ago

Is there a shimmer reverb? thats a must have

magnetophon commented 3 years ago

@XtremeSounds There is Shimmizita by Guitarix.
It's GPL3, so ready for inclusion.

I'd vote for including a nice selection of the other Guitarix FX as well: amp sims, distortions, vibes... Kinda like you did with Airwindows.