Author Topic: [available in v1.08] global fx attempt : REVERB  (Read 22051 times)

Toltekradiation

  • Sr. Member
  • ****
  • Posts: 272
    • View Profile
[available in v1.08] global fx attempt : REVERB
« on: April 23, 2021, 10:48:58 PM »
hi guys,
i lately did some code in the fx department,
it lead to something i quite like, so i thought i should share it.

First, there is a fx bus on Mix page 3, one can send each timbre to the bus with a send parameter.
Then the bus is send in a "harmonic tremolo" effect, which does soft modulation, hard to explain.
Then it goes in a comb filter, which has an envelope follower and a lfo.
These two filters can be tuned with 2 new Global pages in the Mix section.

it is quite inspired by the mighty fl-201, which do wonderful 3d things to a mix.
https://www.eventideaudio.com/products/legacy/fl-201-instant-flanger

i'm aware that it suffer from aliasing, but right now, the only cure i know for this is oversampling, which would use much more cpu and memory.

So, yes, it is what it is : a crude digital attempt for an instant phlanger, but i found it quite nice if carrefully tuned :D

for more details, here is the readme :
https://github.com/pvig/preenfm3

find the .bin as attachment : it is build over the 0.107 code.
(edit : found bug, updated .bin)
« Last Edit: October 15, 2021, 10:39:25 PM by Xavier »

matrix12x

  • Team Member
  • ***
  • Posts: 200
    • View Profile
Re: global fx attempt
« Reply #1 on: April 23, 2021, 11:33:28 PM »
Awesome idea! I'll try your code out later this weekend.

Can you post an audio file example?

Regarding aliasing, is it possible that some judicious use of a one pole LPF could ameliorate the aliasing?






Toltekradiation

  • Sr. Member
  • ****
  • Posts: 272
    • View Profile
Re: global fx attempt
« Reply #2 on: April 24, 2021, 11:30:28 AM »
ok, here are two quick snippets :

https://www.dropbox.com/s/fzdxoqjvf0r4ml8/comb_snippet1.mp3?dl=0
https://www.dropbox.com/s/07bxiohnd05jh1o/comb_snippet2.mp3?dl=0

About aliasing, there is already some low pass filters in the feedback loop, and an hermite interpolator as well.
I fear it's not enough to get hi quality audio.
There is also different kind of artefact that are not aliasing, but glitch !

Fortunatelly, it may be good enough, depending on your needs  ;)

Toltekradiation

  • Sr. Member
  • ****
  • Posts: 272
    • View Profile
Re: global fx attempt
« Reply #3 on: April 24, 2021, 08:11:24 PM »
here is another, more useful, audio file example :
https://www.dropbox.com/s/q8mh1cw088fkhkx/comb_snippet6.mp3?dl=0

in this one, focus is made on audio triggering envelope, which is the point in this effect imo.

Xavier

  • Administrator
  • Hero Member
  • *
  • Posts: 2259
    • View Profile
Re: global fx attempt
« Reply #4 on: April 25, 2021, 10:13:58 AM »

Oh Cool. that's great you could make some progress with those global FX  :)
Thanks a lot for sharing.
I'll have a look at your code a bit later when i have more time.


Toltekradiation

  • Sr. Member
  • ****
  • Posts: 272
    • View Profile
Re: global fx attempt
« Reply #5 on: April 25, 2021, 01:52:48 PM »
the code is now gone in a mutation state again :
i'm removing the feedforward path of the comb to get closer to the fl-201 design.
i did not really feel usefulness of it anyway,
so it allow to double the time of the feedback path : the comb can be more used as a delay.

Xavier

  • Administrator
  • Hero Member
  • *
  • Posts: 2259
    • View Profile
Re: global fx attempt
« Reply #6 on: May 01, 2021, 07:03:55 PM »

Let me know when you have something ready to try  :)
Thanks

Toltekradiation

  • Sr. Member
  • ****
  • Posts: 272
    • View Profile
Re: global fx attempt
« Reply #7 on: May 02, 2021, 06:47:47 PM »
Hello Xavier,
I'm still trying to get a good FL201 emulation for the preenfm3: it gets closer but it will remain an approximation anyway.
Anyway, here's the current .bin, usable for some weird chorus reverb  :D
The code is also a bit cleaner than before.
« Last Edit: May 02, 2021, 07:05:56 PM by Toltekradiation »

matrix12x

  • Team Member
  • ***
  • Posts: 200
    • View Profile
Re: global fx attempt
« Reply #8 on: May 08, 2021, 03:56:53 AM »
Tried out the global FX. very cool. I am having fun with the tremolo.

Toltekradiation

  • Sr. Member
  • ****
  • Posts: 272
    • View Profile
Re: global fx attempt
« Reply #9 on: May 08, 2021, 09:12:59 PM »
glad you like it !  :)
for the delay part of the fx : i'm still trying to figure out how to make it sound nice, lately i tried with some ping pong effect but with not too much satisfaction.
i  keep digging out.

Toltekradiation

  • Sr. Member
  • ****
  • Posts: 272
    • View Profile
Re: global fx attempt
« Reply #10 on: June 24, 2021, 10:22:22 PM »
After many time tweaking the fl-201 attempt ...
 ... i had to make something more useful  ::)

So, with the help of the internet, i did an adaptation of the Jon Dattoro reverb algorithm!
(https://ccrma.stanford.edu/~dattorro/EffectDesignPart1.pdf)

My implementation is a bit noisy when you modulate it, but it's quite low on the cpu usage :)

So here is the .bin if one want check it out.

Xavier

  • Administrator
  • Hero Member
  • *
  • Posts: 2259
    • View Profile
Re: global fx attempt
« Reply #11 on: June 25, 2021, 08:55:21 AM »

WOW....
That's super interesting and really a great job.
Congrats !  :)

That would be great to have that in the firmware.
Current implementation as you said is noisy even if i don't modulate the params.

Do you think there may be some saturation somewhere ?
I may have time in july to take a look at your code :)

Toltekradiation

  • Sr. Member
  • ****
  • Posts: 272
    • View Profile
Re: global fx attempt
« Reply #12 on: June 25, 2021, 06:56:36 PM »
hello Xavier,
thanks for the kind word !  :D

i thought that saturation problem was fixed, i will try to make it better.
i had some troubles getting the levels right in the reverb tank loop.
To solve this issue, i use to lower the timbre volume when saturation happen, but it's not an ideal solution.

It seems i have to learn something more..
Hopefully, there is great help on the internet : there is the valleyaudio Plateau code, which use the same algorithm  :
https://github.com/ValleyAudio/ValleyRackFree/tree/v1.0/src/Plateau
It sound great ! https://valleyaudio.github.io/rack/plateau/


matrix12x

  • Team Member
  • ***
  • Posts: 200
    • View Profile
Re: global fx attempt
« Reply #13 on: June 26, 2021, 10:48:06 PM »
Nice! I am super excited to try this out. Any warnings/suggestions re: the settings?

matrix12x

  • Team Member
  • ***
  • Posts: 200
    • View Profile
Re: global fx attempt
« Reply #14 on: June 27, 2021, 04:30:30 AM »
Are the two Master FX in series or Parallel? and how would I control the mix between the two? I see the wet/dry option in the Mix page, but was not sure if it was both FX or just the reverb. seems like both...