Hexed

A patchable MIDI mono-synth with noisy interference modulation and some tricks up its sleeve.

It’s inspired by the Make Noise Strega, and then especially that grating, raspy sound and the “Interference” modulation. At its core it’s a flexible monophonic oscillator with lots of FM and noise feedback, and a simple filter and delay. But to spice things up I’ve decided to build this patch in such a way that you can manually and instantly change the patching routing; there’s a few dedicated buttons for CV ‘sources’ (e.g. MIDI pitch, MIDI gate, cycling AD envelope) and ‘destinations’ (e.g. Pitch, Tone, VCA, Filter, Delay Time, etc) on the two UI pages. It gives the patch a very playful and exploratory feeling and makes it very suitable for drones and sound experiments.

=====

[OVERVIEW]
-Input: It’s a synth, so no input needed, but dry sound goes through unaffected in stereo.
-Output: Stereo
-CPU load: Around 86% (with firmware 2.0)
-Build: Built with firmware 1.13
-MIDI: Controls are set to CCs (I use channels 21/36, see CONTROLS section for details).

[REVISIONS]
1.0: Initial patch.

[PATCH STRUCTURE]

OSCILLATOR:
I took 2 oscillators – a triangle with a 60% duty cycle as the core and a sawtooth tuned a 5th above it – but both controlled by the same pitch info, so it’s basically still a mono-synth. They go into an Audio Balancer so you can blend between them, and there’s some VCAs to create some FM feedback from one to the other. All of this blending and FM’ing is controlled by a macro-value module, the “Tone” control, which sweeps from a nearly-clean triangle through some flavors of FM-rich overtone blends to an almost clean sawtooth (makes it a very fun parameter to modulate!). Oh, and the pitch of the oscillators goes well into the negative values, for strange pulsating machinery sounds.

INTERFERENCE:
To me, one of the things that makes Strega interesting is this single ‘interference’ signal that can be applied to different sections of the circuit, so I tried to capture a similar feeling (though without the feedback of the rest of the circuit BACK into the interference signal, which is hard in ZOIA as compared to analog circuits).

I use 2 Random modules and extract a bunch of modulation signals from them (by multiplying, slewing, etc.) that are tweaked to modulate certain parameters; Pitch, Tone, VCA (that one kicks ass!) and Filter cutoff each have their own flavor of interference that can be turned up.
To add grittiness to the oscillator(s) there’s also use a Noise module -> bandpass -> VCA -> Oscillator FM input, where the filter cutoff and VCA are also modulated by those same Random modules (i.e. all “interference”-related modulation originates from the same source), and controlled by “Interference” macro controls.

DELAY / FILTER:
Although the ‘triple asynchronous lo-fi delay lines’ from Strega sound pretty cool, I think I’d need a dedicated patch (CPU-wise) to get close to that effect, so I kept things simple here.

The main filter (before the delay line) is a simple low-pass SV Filter.
Then I just have a short-range Delay Line (from ~2ms for Karplus-Strong to ~1s for normal delay) with a fixed low-pass filter in the feedback path (cause I’m out of CPU to modulate it).

PATCHABILITY / CV SOURCES:
A big part of the fun was to find a way to have this patch be playable or ‘patchable’ like a desktop mono-synth. Now, that’s of course already possible in ZOIA, but I wanted a pre-tweaked set of ‘patch-points’ that will always be (more-or-less) musical.

I built these patch points with Sample&Hold modules and multipliers; if a ‘CV source’ button is held, the input of a bunch of S&H modules is high. If a ‘CV input’ button is then pushed, it triggers the corresponding S&H for that input, setting it to “1” and allowing the source to modulate the destination. So, for example:
If the ‘MIDI Kbd’ source button is held and you push the ‘Pitch In’ button, that S&H module goes to 1, and the multiplier that sends the MIDI keyboard info to the oscillators becomes active.
If you push the ‘Pitch In’ button again without holding down a CV source button, the S&H resets to 0 and no pitch modulation is sent through.
If you hold down several CV sources at once and THEN push ‘Pitch In’, you can send multiple sources to the same destination.

The CV sources are: MIDI keyboard, a (looping) AD envelope (called AD) with variable shape and speed that can be used as an LFO (it goes +/- around zero), and a simpler Attack-Hold-Release envelope (called ENV) with just rise and fall times (it only goes into positive CV).
The AD and ENV envelopes can both be triggered by one of these trigger sources:
The End-Of-Cycle (EOC) trigger of the looping AD, or by the MIDI gate.

So, if the EOC is patched into the AD trigger, it will ‘loop’ as an LFO, and if the MIDI gate is patched into the ENV it acts as a standard synth keyboard envelope.
But, again, you can experiment and swap these two, or route both trigger sources into one of the destinations!

=====

[CONTROLS]
This is a big patch with lots of controls, the main ones are on PAGE0 and PAGE1 (see below for a “Picture Manual” in the comments). The Stereo Input and Output module (with gain) is on PAGE2, as is the Quantizer and a general Velocity offset value.

PITCH (sets the main pitch of the oscillators; goes very low; cc21)
PITCH IN (patch-point for pitch CV, see below)
PIT-MOD (depth of pitch CV modulation. MIDI keyboard is affected by this, but goes through a quantizer after attenuation)
PIT-INTRFR (sets the amount of Interference modulation of the pitch; cc22)

TONE (sets the tonal character of the oscillators; cc23)
TONE IN (patch-point for tone CV, see below)
TONE-MOD (depth of tone CV modulation)
TONE-INTRFR (sets the amount of Interference modulation of the tone; cc24)

VCA (manually opens/offsets the VCA; cc25)
VCA IN (patch-point for VCA CV, see below)
VCA-MOD (depth of VCA CV modulation)
VCA-INTRFR (sets the amount of Interference modulation of the VCA; cc26)

LPF (set the filter cutoff frequency; cc27)
LPF IN (patch-point for filter CV, see below)
LPF-MOD (depth of filter CV modulation)
LPF-INTRFR (sets the amount of Interference modulation of the filter; cc28)
LPF-REZ (sets the resonance of the filter)

DELAY TIME (sets the delay time; cc29)
TIME IN (patch-point for filter CV, see below)
TIME-MOD (depth of time CV modulation)
DELAY FEEDBACK (sets the feedback of the delay; cc30)

AD SPEED (sets the rise and fall time; when it’s looping this is like the LFO speed; cc31)
AD IN (patch-point for speed CV, see below)
AD-MOD (depth of speed CV modulation)
AD SHAPE (sets the balance between rise and fall times; when it’s looping this sets the LFO shape from sawtooth through triangle to ramp; cc32)
AD TRIG (trigger patch-point for CV gate, see below)

DELAY LVL (sets the level of the delay line; cc35)
OSC LVL (sets the level of the dry oscillator; cc36)
ENV ATTACK (sets the attack time of the envelope; cc33)
ENV RELEASE (sets the release time of the envelope; cc34)
ENV TRIG (gate patch-point for CV gate, see below)

The 3 red buttons at the bottom of the UI pages are the CV sources that can be routed to the patch-points listed above:
KBD OUT (CV source of the MIDI keyboard; can be routed to PITCH, TONE, LPF, DELAY TIME, AD SPEED)
AD OUT (CV source of the looping AD envelope; can be routed to PITCH, TONE, VCA, LPF, DELAY TIME)
ENV OUT (CV source of the AHD envelope; can be routed to PITCH, TONE, VCA, LPF, AD SPEED)

The 2 blue buttons at the bottom of the second UI page are the CV gates/triggers that can be routed to the gate patch-points mentioned above:
AD EOC (CV source of the AD End-Of-Cycle trigger; can be routed to AD TRIG and ENV TRIG)
GATE OUT (CV source of the MIDI keyboard gate; can be routed to AD TRIG and ENV TRIG)

Stomp switches have no function.

=====

[TIPS/TRICKS]
>>> For a ‘normal’ playable MIDI synth, patch KBD OUT to PITCH for pitch-tracking (don’t forget to turn up the PIT-MOD parameter), patch GATE OUT to ENV TRIG to trigger the envelope with each key-press, and patch ENV OUT to VCA and/or LPF so you can actually hear notes with key-presses.

>>> For LFO-like modulation of any parameter, patch AD EOC to AD TRIG to create a cycling AD envelope, then patch the AD OUT to whatever you want and turn op the corresponding MOD parameter to taste.

>>> For droning patches, turn up the VCA or the VCA-INTRFR (or something in between), then module one or more parameters using the cycling AD envelope (see previous bullet).

>>> For more complex modulation or envelopes, try patching the AD EOC to the AD TRIG (our previous cycling AD example) but also patch it to the ENV TRIG. Now you can modulate things with the AD OUT and ENV OUT, and they will keep cycling. You can also trigger both the AD TRIG and ENV TRIG from the GATE OUT instead, to create a complex envelope with each key-press of a MIDI keyboard.

>>> For Karplus-Strong patches, turn up the delay feedback and level and tur down the delay time and direct oscillator level. Now feed it some audio, for example turn up the VCA-INTRFR to create short micro-bursts of noise that activate the delay line. You can also modulate the DELAY TIME with either the KBD OUT or AD OUT.

[THOUGHTS/IDEAS/PLANS]
This was a fun little experiment, mainly to see how well I would succeed in making a ‘patchable’ synth WITHIN the patchable environment that is ZOIA. I think it worked out pretty well; it’s intuitive enough to encourage exploration and to play around with, and I found some surprising sounds I never really intended this patch to be able make!

That said, I’d like to explore the Strega’s typical ‘noisy triple lo-fi delay’ part as well. That will have to be a separate patch, considering the CPU cost of making this thing ‘patchable’ from within.

If there’s any bugs/questions/remarks/requests or suggestions for improvement, please let me know!
Enjoy!

(image: Tom Hegen)

2 comments on “Hexed”
  • WZ on said:

    New patch, lots of text (it’s a complex one, but fun to play with!), but also a simple picture manual:

  • Leave a Reply

      1696 PM
    • Platform:
    • Category: Sound Synthesizer
    • Revision: 1.0
    • License: Do What The F*ck You Want To Public License
    • Uploaded: 5 years ago
    • Views: 2328
      Likes: 5
      Downloads: 1225
    Download
    Chat