Cabbage Logo
Back to Cabbage Site

Visualizing waveforms, envelopes and detecting transients!

Hi,

I’ve been working on transient detection algorithms with Cabbage. Earlier this year, I worked on a very simple “dev board” to help me design the transient shaping algorithm.

Using this .csd you can:

  • Visualize the waveform live and different enveloppes using the webui feature of Cabbage
  • Use two enveloppes, get their difference (actually the ratio), and use it to “shape” the incoming signal
  • Set the parameters of these enveloppes live

It’s not perfect yet, the update rate is pretty low (but I feel like it’s easier to see what’s happening when it’s not scrolling super fast), and there is some aliasing, and a lot of latency. If you’re interesting in detecting transients smoothly, I suggest you apply some lowpass filters or functions (exp, log etc) on the enveloppes in the opcode and see if helps remove this aliasing.

Here is a video of how it looks like. Sorry for my French accent I promise I’m working on it!

Here is the code: https://github.com/julienbeisel/cabbage-follow2-devboard

Thanks again Rory for your help!

I’m working on a transient shaper plugin that I’ll release later this year or early next year. This dev board helped me design it and I’ll include more smoothing features, tone features, dynamic EQ etc.

Please feel free to hit me up if you have any questions!

Julien/nymano

2 Likes

That looks cool. It’s interesting to see these visualisations. Also, I’ve removed the webui stuff from the very latest CI builds because it was breaking on Linux. So keep using the one you have. :slight_smile:

1 Like

Nice!

1 Like

Hi @rorywalsh,

which version of Cabbage for mac should I use if I want to try Julien’s Code with the webui feature?

In the version I have I get this failure:

error: syntax error, unexpected T_OPCODEB  (token "k")
from file /cabbage-follow2-devboard-main/webuitransient.csd (1), line 109:
>>>         cabbageWebSendTable k <<<
Unexpected untyped word cabbageWebSendTable when expecting a variable 

thanks!

Hi @rootnote. I had to remove this feature as it was breaking some CI builds. However, these things will all be possible in Cabbage 3, and in a far more streamlined way. I’d say Cabbage 3 is about 3/4’s way ready to a first alpha release. Needless to say, you’ll hear about it here first :wink: