Benjolin patch (new version 4) for VCV - Show me what you can do with it!

It would be wonderful if there were a anti-aliasing comparator in VCV! Many times I reach the (digital) limit of VCV, having to run my patches in higher sample rates with big CPU. I will check your patches out! And I think you are right concerning the small difference when not running in extreme modes.

I totally forgot to “tune” the filter! Thanks for the reminder.

As for the non-linear frequency response: I started with listening to the oscillators of the Blippoo Box and their 0V frequency is around 20-32Hz. The range of the Blippoo oscillators are not specified, only that they go up to 12 kHz. With a range of -9V to +9V you get the 18 octaves Rob mentions in his articles/interviews. But this was just too much to handle for the comparators etc in VCV, so I compressed the upper range, but retaining the division of LFO/VCO range on the knob: Pure cosmetics :sweat_smile: I just copied this oscillator to the Benjolin patch.

You are right there is hardly any difference between the VCV LFO and the Ponies in the low range. But as I do a lot of sound design and use all kinds of chaos/noise etc, I am also very interested in the high register. Hence my choice for the Ponies: they really make a difference (especially at 96kHz) there. I am lucky with having a powerful MacBook M1 which can handle the CPU very well…

Thank you again for checking out my patch!

The next release of my Venom plugin adds anti-aliasing to my WINCOMP module for all the outputs, including gates! I think the update is ready to go - I just need to package everything up and submit to the library.

1 Like

adds anti-aliasing to my WINCOMP module for all the outputs, including gates

Very much looking forward to this!!

The last thing in comparison of our two patches:

I don 't know why I restricted my filter resonance so much actually. It makes perfect sense to have it at 0% resonance as well, so I will adjust this. You use attenuverters for modulation control, which is hard to hear at first ear, but makes a big difference with my attenuators. It is a deviation from the original, but it is a nice option to use maybe. One question out of interest: Why did you use bit 1,3 and 6 for the R2R DAC? and not 6,7,8? I don’t think it makes a difference, but maybe I missed something.

Anyway thanks again for your comparison! Enjoyed the drones a lot!!

Absolutely - The original sound is still available if you restrict yourself to positive values, but I really like what I can come up with with the inversion. One technique I like is to apply say positive rungler to OSC 1, and negative rungler to a highly resonant VCF Cutoff, with a moderately slow OSC 2 clock rate. With a mix of OSC 1 triangle and PWM, I can get some nice opposing melodies with the innate pitch of say OSC 1, and resonant pings from the PWM.

To get more variability in the rungler sequence. For any given current rungler value with the original design, there can only be two possible next values - bit 8 drops off, fixed bits 6 and 7 shift to 7 and 8, and the only variability is bit 5 shifting to 6. With my arrangement, none of the current “sounding” bits are used in the next value, so it is always possible for any of the 8 values to occur. Of course the original bit values will reappear later, so there are still limits to the sequence variability. I vary the gap between the taps so that bits reappear at different times, thus maximizing the sequence variability.

1 Like

Oh My! I just tried using my oversampled WinComp for the PWM comparator, and what a HUGE difference in the upper register! Much bigger than the difference between the VCV LFO vs Pony VCO.

2 Likes

So here is my final version 4 of the Benjolin, after incorporating Koen’s suggestion of a linear feedback shift register, as well as the oversampling from my new version 2.1.4 of the Venom WinComp module to improve the quality of the PWM output at high frequencies.

The zip file on PatchStorage includes two different versions of the patch:

  1. Benjolin V4 Pony - Uses 4 Befaco Pony oscillators, which have anti-aliasing to give improved sound at high frequencies. Since each logical oscillator takes two Pony oscillators, the oscillators must be synced to establish a consistent phase relationship between the square and triangle. A Count Modula Startup Delay module performs the sync once every time the patch is loaded (1 second after the patch is loaded). I have not witnessed any phase drift after that initial sync, but I can’t promise they will always remain in sync.

  2. Benjolin V4 VCV - Uses the 2 Fundamental VCV LFO oscillators as the prior version. These do not have any anti-aliasing, but the square and triangle are guaranteed to remain in sync.

And here is a video demonstrating just a fraction of the myriad sounds that can be produced by the Benjolin. All sounds and modulation are coming from the Benjolin, except for a bit of delay and reverb at the end of the chain. I’m using Bogaudio Switch1616 to control which outputs are patched to which inputs in the patch bay, and Stoermelder Transit to quickly transition between different preset sounds.

8 Likes

Thanks Dave. The matrix demo’s use of the Switch1616 reminds me of the EMS Synthi’s pin matrix (I have the Arturia emulation). Great way to simplify/visualize the patching.

All this talk of Benjolins made me want to share my Patchmaster-ed Benjolin2. Here’s a nice and clean “front” plate:

Here’s a sound demo of some typical Benjolin-y stuff:

And here’s the mess of a patch that Patchmaster does such a good job hiding:

I’m using Regen Const voltage generators as “dummy mappers” feeding into a bunch of Blinds for VCA/attenuation/mixing of parameters, which I did to set up parameter ranges before making the Patchmaster panel. I used direct mapping for the FX parameters.

I used Bog oscillators for their wide ranges (which it seems like everyone else did too), the Hetrick rungler, a stock comparator, and the Unstabile filter for a grittier sound. There’s a bit of reverb and delay on the master, as well as a limiter, softclipper, and a high-pass for removing DC offsets.

2 Likes

I’m glad you posted the image of your PM interface - at first I was puzzled how you spaced out your controls vertically. It took a while for me to find the “Show blank tiles” context menu option - I was not aware of that feature before.

As for your Benjolin 2 implementation, for sure it can produce some interesting sounds and patterns. But I think it suffers many of the same shortcomings as the OhWell version

Your version is not nearly as chaotic as even the original Benjolin, let alone the Benjolin version 2. And I think it has a more limited pallet of available sounds.

I do not use the Bogaudio oscillators precisely because they do not continuously cover the intended frequency range - they require to switch between LFO and VCO mode.

But most importantly, the Hetrick Rungler does not perform an XOR between the 8th bit and the external input when feeding back into bit 1. Every version of the Rungler all the way back to the first build had the XOR operation, which is critical to the Benjolin’s chaos. The Hetrick Rungler only allows a static loop, or else it feeds in an external source (the comparator output) directly. The “chaos” is limited to the patterns established by the relationship of Osc 1 with Osc 2, which can very quickly fall into a static pattern.

The Count Modula Gated Comparator now supports the XOR operation feedback option, so it can function as a true Rungler.

You could use the Hetrick Rungler and do your own XOR with the 8th bit, but it is so easy to build your own Rungler with an 8 bit shift register, a DAC, and an XOR gate. You can even easily build your own DAC as I have done in my Benjolin patch.

The Benjolin version 2 adds two important concepts to the Rungler:

  • A comparator tests if OSC 1 triangle is less than a change threshold value ranging from 0 to 10 (for unipolar Osc, or -5 to 5 for bipolar), and uses that as the external data source that is XORed with bit 8. At the extremes this provides constant 8 or 16 step patterns. In the middle it provides a wide range of options, from just a bit of chaos, to total chaos.
  • Even with the XOR and improved external input, the 8 step Rungler shift register can still develop a never ending short pattern. A 127 step option is available that uses linear feedback (Instead of using bit 8 it uses the XOR of bits 6 and 7 - thanks @koen.kaptijn for the info about this). This makes it possible to always break out of patterns when desired.

Lastly there is the version 2 patch bay. Even if you restrict yourself to only using Benjolin self cross modulation, the patch bay greatly expands the sonic possibilities.

I hope you have tried (or will try) my implementation of the version 2 Benjolin. I’ve really tried hard to implement all the features as faithfully as possible. Nothing is missing, and there are only a few extensions:

  • Use of attenuverters instead of attenuators
  • A couple more patch bay options, but nothing crazy. I still wanted to maintain the spirit of the Benjolin
    • Resonance CV input
    • Notch filter output
  • Slightly reconfigured Rungler DAC to give a bit more variety in the available sequences.

In all my previous Benjolin demo videos, I tended to concentrate on the Benjolin’s autogenerative chaos. The following two videos demonstrate the pattern possibilities available to the Benjolin v2 Rungler.

3 Likes

I had no idea about the XOR in the feedback loop, that makes sense and I’ll try to implement it in my V2 patch.

Thanks for the heads up. This should be fixed on this commit: Update changelog. Fix Rungler feedback · mhetrick/hetrickcv@831802a · GitHub

EDIT: Builds are ready for testing here: Release Nightly · mhetrick/hetrickcv · GitHub

7 Likes

I just wanted to follow this up real quick, as I went back to my original research for the design (or at least what I could find since this goes way back to my Euro Reakt research :laughing:)

https://electro-music.com/forum/topic-38081.html If you scroll to Rob’s post “What the #%$ is a rungler?”, the XOR feedback is explained as part of the first design of the Benjolin, but not the original design of the rungler itself.

The first rungler experiments I did were back in 1980 I think, and there are quite a lot of variations possible on the rungler idea. In the Benjolin design the data input for the shiftregister is not just the pulse from the second oscillator but the XOR of this pulse and the last bit of the shift register (inspired on the pseudorandom generator). The XOR is the transistor/opamp combination that actually forms a controllable unity gain/minus unity gain amplifier, a very simple ringmodulator, so to speak.

So, two quick planned changes to my Rungler module:

  1. In the patch I posted this week, I only added the XOR function to the locked feedback loop, but not the write loop. It sounds like I was also supposed to add this to the write loop, so I’ll correct that, but…
  2. I think what I really should do is add a dedicated XOR Feedback toggle. That way, users will still have access to the first design and behavior, while also being able to toggle the more accurate Benjolin behavior.
6 Likes

Thanks for that clarification / correction. Yeah, I read that thread, but did not pick up on some of the subtleties, and some of the info did not stick. I was thinking the Rungler was originally created for the Benjolin, which included the XOR. But now I see that the Rungler preceded the Benjolin. I wonder if he called it a Rungler back then?

1 Like

The Rungler is implemented in the Blippoo Box as well and this preceeds the Benjolin. In the Blippoo Box there is no XOR between the lastbit of the shift register and the data input. It is actually two rungler systems that are cross-patched:

Rungler 1 takes osc A as data and B as clock.

Rungler 2 takes osc B as data and A as clock.

This gives a whole different effect then on the Benjolin!

4 Likes

@trickyflemming I love your vcv modules and I am a big fan of the Benjolin (also have one in my Eurorack) and thus i am very exited about your latest extension(s) of the Rungler module … I am also a long time Reaktor user who bought your commercial Euro Reakt blocks and wonder if there is any chance that you backport these latest additions to the Rungler Oscillator (and standalone Rungler) Block in your Euro Reakt blocks?

1 Like

If you have a Eurorack hardware Benjolin, then I would be grateful if you could take my latest VCV Benjolin patch for a spin and compare it to the real thing. To my ears, it sounds authentic when I compare it to some Benjolin videos I’ve seen. But I’d love to hear about someone’s experience who can do a direct comparison.

At the moment my Eurorack Benjolin is with a friend. In the meantime I am jamming with your Benjolin patch and this little moster I’ve patched up in Reaktor :wink:

I’ll give it a try as soon as I have my hardware module back! Although as far as I know there are also slight differences in the several hardware versions available, especially when it comes to the output levels and the sound of the filter.

By the way, I noticed that Ciat Lonbarde just released a Benjolin! Sorry for railing off :sweat_smile:

1 Like

That’s why I’m here right now :slight_smile:

1 Like

Finally got a chance to make and push HetrickCV 2.2.1 (build available on the repo in the next minute or two). As mentioned above, this adds a new XOR/Direct switch to control the feedback behavior. It took two months for me to find free time for this, so thanks for your patience! I’ll submit this to the library. In the meantime, let me know if you find anything weird with the pre-release build.

EDIT: 2.2.0 and 2.2.1 feature a new polyphonic Probability module. This patch is extra fun:

9 Likes