Here is my first completed patch using VCV Rack - a Moog Subharmonicon emulator. I was inspired by Omri’s emulator, but decided to create my own from scratch that more closely matches the design and capabilities of the real thing.
Note: version 2 is available at Dave Venom music and patches - Latest: Complex Polymetric Polyrhythms with Flutes - #7 by DaveVenom
version 4 is avaliable at Dave Venom music and patches - Latest: Complex Polymetric Polyrhythms with Flutes - #26 by DaveVenom
version 5 VCV Rack 2 is available at Dave Venom music and patches - Latest: Complex Polymetric Polyrhythms with Flutes - #52 by DaveVenom. Prior versions only worked in VCV Rack 1
Subharmonicon.vcv (294.6 KB)
And here are some closeups of the documentation:
I restricted myself to using only free plugins. Here is the list:
- Count Modula
- Vult Modules Free
- manikk Free Modules
- Aria Salvatrice
- Frozen Wasteland
- VCV Core
- PackOne (Stoermelder)
- Frank Buss
And here is a sample ambient patch using the emulator that adds Modular Fungi for the dimmed lights effect:Subharmonicon ambient.vcv (345.6 KB) The patch really needs expansive delay/reverb. I used the free Valhalla Supermassive VST plugin running in Reaper, so it is not included in my patch.
The ambient patch doesn’t use any sound features that aren’t in the emulator itself, other than some modules that pseudo randomly manipulate various controls within the emulator when triggered by certain polyrhythm events.
Here is a 30 minute demo of the ambient patch:
And here is the same patch where I performed live with some Native American flutes as part of a Virtual Open Mic:
Notes on emulator usage:
Be sure to read the documentation in the bottom row. It lists all the features that are missing or altered when compared to the Subharmonicon, as well as all the enhancements, and describes all the inputs and outputs in the patch bay. Also read the Subharmonicon manual - it can really help. Lastly, read the Probably Not(e) quantizer documentation from Frozen Wasteland. It is very powerful, and there were too many controls to label and document, or include in the patch bay.
Notes on the design of the patch:
I arranged the emulator to have all the user controls in the top two rows, labeled in yellow. They are all visible on my screen when zoomed at 100%. The rest is arranged so as to leave the patch bay completely unobstructed. I opted for a patch bay because I wanted to minimize the possibility of accidently removing a cable that was integral to the emulator. Any cables within the patch bay can safely be removed without fear of harming the integrity of the emulator.
I almost used the Teleport module to minimize cable clutter, but I was worried about the extra CPU burden it might impose.
I opted not to use the Squinky Labs Substitute module because it requires two instances to get the true capabilities of the Subharmonicon, and I did not want to be tempted to use 12 oscillators instead of the 6 that actually exist in the Subharmonicon. The Substitute module applies the same V/Oct signal to both voices, whereas the Subharmonicon allows independent control over the two voices.
My choice for the module to control enabling/disabling the PWM was strategic - I wanted buttons that could be controlled by the Stoermelder TRANSIT module, which means the button control value must reflect the toggle state. I was disappointed that most latching buttons do not do that. I originally used Instruo Tain - it looked better and was more space efficient since it had the switch built in. But I couldn’t remotely control the button, so I replaced it with Bogaudio SWITCH18 paired with SWITCH.
As I am new to this whole endeavor, I struggled a bit to understand how the sub-oscillators were controlled. It all clicked when I realized the voltage offset is simply the log base 2 of the integral division value. Originally I programmed all 16 offset voltages into the NYSTHI Fixed Voltage Source, and used the 23volts SwitchN1 to select the correct voltage. But it was much simpler and space saving to simply enter the formula into the Frank Buss Formula module.
I was surprised how much effort it took to emulate the AD envelope generators. I had nearly given up hope on finding a free module that forced the attack phase to go to completion, but then allowed immediate retriggering during the decay phase. I had created a convoluted circuit that held the gate high on an ADSR module until the attack phase was complete. It worked, but there was a timing issue that made a reset operation unreliable. Thank goodness I finally read the Submarine EN-104 ADSR/VCA documentation more carefully and realized it could properly emulate the behavior by applying a trigger to the gate, locking the sustain and total at 100%, and disabling the VCA by applying 10 volts constant CV to the input. I did not look forward to debugging the timing issue of my original design.
I’m really happy with the addition of the sine wave to the VCOs. I think Moog made a mistake not including that feature. It’s not demonstrated in the patches or videos I shared, but the sine wave works much better to my ears when the sub divisions are between 9 and 15. Saw and square have too many of their own overtones that obscure the odd relationship of those extreme values to the root note. It is fun playing around with the interference patterns when using sine waves.