This is the implementation of a Moog-style lowpass ladderfilter with saturation 
and 2x oversampling. The number of poles is configurable . Filter modes are 
available for 6db/octave, 12db/octave, 18db/octave and 24db/octave.

I don't have any TODOs left right now, so this could either be the final 
version, or at least fairly close to the final version. I'm discarding the 
commit history here, this is not so interesting. The necessary changes for the 
resampler (https://github.com/tim-janik/beast/pull/121) are included in this 
branch.

Right now the resampling is done with the FPU (as plugins/bseblockutils.cc is 
not getting compiled), but that is still fast enough for daily use. I've 
also noticed that BSE doesn't enforce SSE-alignment of input/output 
buffers, so right now SSE support is broken; if that were fixed, performance 
would be a bit better.

Of course this depends a bit on which inputs/outputs are connected, but for the 
common case one (stereo) ladder filter takes
 * 0.4% CPU usage with FPU resampling
 * 0.33% CPU usage with SSE resampling
You can view, comment on, or merge this pull request online at:

  https://github.com/tim-janik/beast/pull/122

-- Commit Summary --

  * BSE: add Resampler2 function to reset state
  * PLUGINS: add LadderFilter plugin

-- File Changes --

    M bse/bseresampler.hh (4)
    M bse/bseresamplerimpl.hh (24)
    M plugins/Makefile.mk (2)
    A plugins/ladderfilter.cc (67)
    A plugins/ladderfilter.idl (39)
    A plugins/laddervcf.hh (341)

-- Patch Links --

https://github.com/tim-janik/beast/pull/122.patch
https://github.com/tim-janik/beast/pull/122.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/tim-janik/beast/pull/122
_______________________________________________
beast mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/beast

Reply via email to