Lmms: Effect Proposal: Sean Costello Reverb Algorithm

Created on 1 Jan 2017  路  4Comments  路  Source: LMMS/lmms

Hello everyone!

As a way of familiarizing myself with the LMMS codebase and the people who maintain it, I would like to implement one of my favorite reverb algorithms as an LMMS plugin. It is a beautiful reverb algorithm designed by Sean Costello, a very well known audio DSP guru (especially for reverberation.) For those curious about the algorithm, it is the reverbsc opcode in Csound. Before writing any serious code, I thought I would make a github issue here and get comments/opinions from the LMMS devs.

The core code for the DSP algorithm has been written already. It is a part of my music DSP library soundpipe. Instead of linking against libsoundpipe, I would copy the minimum code needed to run the algorithm. I'll also modify the code to include a DC blocker, as the algorithm does tend to do weird things to DC offset.

As for the actual LMMS code, I've been examining the Amplifier plugin for reference. The code looks very similar to other plugin architectures I've worked with, so hopefully there won't be many challenges for me here.

I'm not a terribly visual guy, but my plan right now is to make a bare-minimum UI based on the Amplifier design. Perhaps someone more visually inclined could make a more inspiring UI after I am done getting the thing working? Also, I am open to ideas for what to call this thing. Right now, I'm just going to call it "ReverbSC".

Anyways, this is what I have in mind. I see there is a style guide, so I'll be sure to read up on that. Let me know if you have any comments/questions/concerns!

Thanks,

-P

Most helpful comment

Okay! So, the inner loop code has been implemented. Things have been fairly straight forward so far.
I've attached a little audio snippet of ReverbSC being applied to the "Vibed" synth here: revsc_test.zip.

What's left for me now:

  • Add dcblocker filter to output
  • Hook up knobs
  • Tidy up code and tweak artwork to fit new dimensions
  • Make PR

Should have a PR ready by tonight or tomorrow.

All 4 comments

I'm not a terribly visual guy, but my plan right now is to make a bare-minimum UI based on the Amplifier design. Perhaps someone more visually inclined could make a more inspiring UI after I am done getting the thing working? Also, I am open to ideas for what to call this thing. Right now, I'm just going to call it "ReverbSC".

I'm very sure, that we can make a beautiful GUI and a cool name for it. I'm looking forward to this! A native reverb were a cool thing to have in lmms.

I'm looking forward to this being implemented. There was a start made on an Impulse Response Convolution Reverb here #641 , which seemed promising.

Okay! So, the inner loop code has been implemented. Things have been fairly straight forward so far.
I've attached a little audio snippet of ReverbSC being applied to the "Vibed" synth here: revsc_test.zip.

What's left for me now:

  • Add dcblocker filter to output
  • Hook up knobs
  • Tidy up code and tweak artwork to fit new dimensions
  • Make PR

Should have a PR ready by tonight or tomorrow.

Made a PR. #3202. If anyone has any questions or comments they can discuss over there. Closing this issue.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Gabrielxd195 picture Gabrielxd195  路  3Comments

Gabrielxd195 picture Gabrielxd195  路  3Comments

demmm picture demmm  路  3Comments

DomClark picture DomClark  路  3Comments

Sawuare picture Sawuare  路  4Comments