[sharing] Buzz (MI Braids,Csnd)

.quasar's icon

A few weeks ago I started to try recreating in gen~ some algorithms from the source code of Mutable Instruments modules (https://github.com/pichenettes/eurorack). A lot of the time I end up giving up but I managed to recreate the Buzz algorithm from Braids (which is itself taken from the Csound opcode I believe).

Anyway, here it is.

Braids Buzz codebox.maxpat
Max Patch

Cptnfantasy's icon

Nice, Thanks!

bertrandfraysse's icon

Thank you very much, don't hesitate to share some other mutable instruments gen~ algorithms

.quasar's icon

Here are 2 other algorithms I adapted in gen~ codebox : the fold algorithm from Braids and the Analog Diode Ringmod algorithm from Warps. I have mixed feelings about the Diode Ringmod adaptation because even though the code was really straightforward to adapt and I managed to get some nice sounds out of it, I feel it didn't accomplish the goal.

Also it works mostly with sines or triangle waveforms . I know the Diode model comes itself from a recent Dafx paper so i might look into it as well.

wrps diode ringmod codebox.maxpat
Max Patch

brds fold codebox.maxpat
Max Patch

Wetterberg's icon

hey, this is awesome.

Cptnfantasy's icon

Oh these are cool, thanks.

The dafx paper specifies some amount to upsample to reduce aliasing. I think it was 32x, I haven't looked at it in a long time. You could upsample the phase accum on the phase distortion oscillator to further reduce aliasing I bet.

On a semi-related note, here is a ringmod patch done with gen~ based on that paper. It uses a lookup table for the diode transfer function and you can mess with the diode shape inside the buffer.

Max Patch
Copy patch and select New From Clipboard in Max.

nouserid's icon

thanks for sharing these, really cool.

.quasar's icon

@ CPTNFANTASY : Thanks for this! I added the X32 upsampling (forgot it was recommended in the paper) to your patch and did some amplitude modulation on the carrier and modulator - really rich sounds!

Here is another adaptation. It comes from a formant oscillator algorithm in Tides, or more precisely from Sheep, its wavetable based oscillator firmware I think. I added some modulation and a Beap sequencer for fun.

MI Sheep formant codebox.maxpat
Max Patch

volker böhm's icon

- really rich sounds!

part of the 'richness' is caused by the fact, that the buffer holding the transfer function in cptnfantasy's patch is a little too small. Adding "@samps 4096" to the buffer should yield a more truthful result.

.quasar's icon

Oh yeah you are right, thanks !

patrick robert's icon

All very cool examples! Cheers!