HetrickCV Announcements Thread

Finally got across to doing this! In-progress 2.3.0 beta is now up on the repo, including polyphonic scanner.

The big news on this batch of modules is that I’ve been going nuts on phase-based sequencing and phase distortion synthesis. So far, I’ve added 7 phasor focused modules. I also put in a basic timer-based Gate Delay module. The Gate Delay is quite simple, but I’m working on a much fuller phasor-based burst generator/gate delay with tempo syncing and lots of outputs.

Here’s a preview of some of the modules. I’m going to do more phasor->sequence modules like Phasor->Gates before I release 2.3.0 to the library. Looking at the image, I just thought of another feature to add to the Phasor Randomizer…

28 Likes

Oh joyous day! Super excited for this, thank you for adding polyohony

1 Like

The phasor tools look exciting! One thing that would be neat to have is a modulator that would let you set a floor and ceiling to a phasor signal. I could see modulating the ceiling to produce a bouncing ball type envelope, for instance, or modulating both while driving the read and write positions of PdArray to do some very targeted glitchy sampling. All sorts of fun stuff…

1 Like

Phasor Shaper’s “Speed - Fold” mode lets you do this! It’s similar to the “Mirror” effect in Bitwig where it turns a phasor into more rapid triangles. You can then run it through another Phasor Shaper in “Curve” mode to make it more exponential or logarithmic. Lots of fun.

1 Like

Got it added in! I replaced the redundant clock output on the Phasor Randomizer with two random outputs: random gates and random phasors. Whenever a step is randomized, it outputs a 50% PW gate, along with a full phasor for that step.

Essentially, you can use this as an n-step Bernoulli Gate for a phasor. In the image I’m splitting a phasor into 4 steps, each with about a 30-40% chance to throw a random gate.

I also added in a Force input, which forces randomization while the input is high. I was able to create time-synced randomized phasor slices and reversals via a separate phasor-driven gate generator.

This is going to be an extremely cool sequencing suite :laughing:

13 Likes

Last night I pushed Phasor->LFO to the repo. This is directly based on a four-parameter LFO from Graham Wakefield and Gregory Taylor’s “Generating Sound and Organizing Time” gen~ book, which is easily my favorite DSP book that I’ve ever read (and one of two driving reasons behind me making all of these new phasor modules… the other is that I’m working on the sequencer for Unfiltered Audio’s upcoming drum machine/synth plugin). This takes in a phasor and outputs a wide variety of morphing, parameterized LFO shapes, including triangle, sine, saw, and square. It also has a lot of unusual shapes between that are useful for things like granular windows, envelopes, etc.

I know the name is a bit nonsensical (since it’s a waveshaper and not inherently an LFO), but I wanted to emphasize that the waveforms in here are not anti-aliased, and are thus primarily suited for modulation instead of audio. Lots of fun to be had with feedback patching…

I also added two new shapes for Phasor Shaper: Triangle and Arc. Triangle gives you a skewed triangle<->saw. I might rename Arc to “Magnet” since it kind of attracts the phasor to the 10V or 0V boundaries.

One distinction worth noting is that the Phasor Shaper triangle mode is the inversion of the Phasor->LFO triangle output. I wanted to include both variations in here since they’re useful for different reasons. The version in Phasor Shaper is more useful for sequences since the peak is in the middle of the phasor, while the Phasor->LFO version is better for envelopes since the peak is at the boundaries. This is subtle, but it matters a lot of you plug the LFO into its own Skew input as far as what the modulated output looks like.

I might add in the inverted triangle mode to Phasor Shaper as well, but I need to find another fun symmetrical shaper to keep the number of modes even :wink:

There are at least 6 more modules that I want to tackle before I submit this to the library, but I’ll post updates here as I add modules.

13 Likes

The shapers are neat! They’re a little different from what I was thinking of, though. I meant more like setting an upper and lower limit that defines the start and end point of the phasor, like this:

I did figure out a way to get the Phasor Generator to do it using a few logic modules, though it’s a little glitchy:

phasor_with_floor_and_ceiling.vcv (128.3 KB)

A dedicated module to achieve this effect would be neat. I don’t think there’s any existing one that allows you to define a cycle within an arbitrary amplitude range while keeping the slope constant.

6 Likes

Oh right on, kind of like what Peter Blasser did with Fourses. Yeah, I want to do a less “reliable” phasor module, so I might steal that idea :wink: It might not be part of this initial release, but it’s definitely on the to-do.

5 Likes

having a module that could do PB “bounds” modulation would be awesome! I once read on a blog of Richard Brewster on how to patch it in hardware. I never really could replicate it though in VCV.

Wait… here is the link to it

2 Likes

I just pushed Phasor->Gates in new 32 and 64-step variants. Additionally, there is a Smart/Raw toggle. This affects how gates are calculated. In Smart mode, the Gates output won’t fire until the phasor starts moving. Additionally, reverse phasors have their pulse width calculated in the opposite direction. That way, if you are using a ping-pong phasor, the last step will fire correctly, and reverse phasors will just result in you sequence being played backwards without being phase shifted.

I had a blast last night using ShapeMaster to drive these sequencers. This works two ways. 1) You can just use ShapeMaster to generate the sequence shape. 2) You can use my phasors and shapers to drive the T/G input (in CV Playhead mode) and apply all sorts of operations to your existing ShapeMaster sequences.

Up next, phase-driven voltage sequencers, a phasor burst generator, a phasor divider/multiplier, and a phasor->swing shaper. After that, I think this will be ready for a library submission along with some tutorial documents.

16 Likes

Great stuff reminds me of this:

3 Likes

Yep, 100%! This whole set is inspired by Bitwig’s Grid, Toybox’s Nano Pack for Reaktor, the Max 8.3 update (Article: Max 8.3 and The Ramps That Make Music | Cycling '74), Generating Sound and Organizing Time by Graham Wakefield and Gregory Taylor, ESQ by K-Devices, and FLUX by ioLabs. Phase-based sequencing has been around for a while, but I feel that it’s really exploded in the last few years.

9 Likes

We had a phase-based sequencer (briefly) in Rack, but sadly it never got updated.

It was a brilliant module (there is a video on my YT channel from back in the day). Really looking forward to your new modules.

5 Likes

Yep! I have a copy. Still waiting patiently…

Added a bunch of new ones! Phase Driven Sequencer is probably the center of the new pack. 16- or 32-step variations with gates and voltages. There are three voltage outputs: Steps, Slew, and S&H. Steps are just the voltages per step. S&H only updates on an active gate, which is very useful for doing param-lock style modulation of single hits (i.e. changing the pitch of one drum hit without it changing mid-step). Finally, the slew output interpolates the active step with the next step based on phasor distance.

Phasor Sub-Step Shaper is one of my favorite modules that I’ve designed. It’s like the Phasor Shaper, but it repeatedly applies the effect to each “step” of the phasor. If you want to program really detailed Swing on rhythms, you can set this module to Swing mode and set the Steps to different values to change the swing grouping.

I have two modules on my “must finish before release” list (Phasor Div/Mult and Phasor Burst). After that, this whole package will be sent to the Library for approval. I have more phase modules that I’ll want to do afterward, but this is the core list.

14 Likes

I might be wrong but aren’t the Sequensizer and the others DHE Modules phase-based ? Really looking forward to your new modules !!

1 Like

Scannibal is the phase based DHE sequencer. The ZZC modules that are in the library are also phase-based. Those are mostly phase clock modulators, but the ZZC FN-3 is effectively a phase shaper with a skew and offset control. It’s a pity Phaseque never made it to v2, but now we’ve got a whole bunch of new phase sequencers, so that’s great!

Also, there’s PdArray, which is effectively a phase-based sampler, where you can control the position of both the playback and record heads simultaneously. Pretty neat, but also pretty glitchy (in an undesirable way, I think) when modulating the record head too quickly.

Excited for all the new modules. This is shaping up to be an amazing collection of phase tools!

2 Likes

A lot of the docB VCOs are phase driven, very interesting to explore.

2 Likes

Phew! Light at the end of the tunnel. Just finished Phasor Divide & Multiply, along with a batch of additional shapers and shifters.

I’m going to write some documentation and basic tutorials on phase sequencing, and then I’ll submit this pile to the VCV Library. In the meantime, if anyone finds any bugs, please let me know!

I’ll add the Phasor Burst Generator and some more manipulators in the next update. Right now, this is all the code that I need to progress on the Unfiltered Audio drum synth that we’ve been working on (estimated release in March). I tackled this project because all of this code is a lot easier to debug and test in VCV since I have lots of scopes and as many audio-rate outputs as I want.

23 Likes

Version 2.3.0 has been submitted to the library! Sorry for the delay, but I ended up adding a lot more stuff in and haven’t been posting here. On top of all the phasor stuff, I’ve added a lot more LEDs to existing modules for better visual feedback.

Full Changelog below. I’m adding tutorials to the repo README now.

## 2.3.0
- Version 2.3.0 introduces a suite of phasor-based sequencing and Phase Distortion synthesis tools.
    - Add Phasor Generator module.
    - Add Phasor Geometry module.
    - Add Phasor Randomizer module.
    - Add Phasor Ranger module.
    - Add Phasor Shaper module.
    - Add Phasor Sub-Step Shaper module.
    - Add Phasor->Euclidean module.
    - Add Phasor->Gates module.
    - Add Phasor->Gates 32 module.
    - Add Phasor->Gates 64 module.
    - Add Phasor->LFO module.
    - Add Phasor Reset module.
    - Add Phase Driven Sequencer module.
    - Add Phase Driven Sequencer 32 module.
    - Add Phasor->Waveforms module.
    - Add Phasor Quadrature module.
    - Add Phasor Octature module.
    - Add Phasor Timetable module.
    - Add Phasor Stutter module.
    - Add Phasor Shift module.
    - Add Phasor Divider & Multiplier module.
    - Add Phasor->Clock module.
    - Add Phasor Rhythm Group module.
    - Add Phasor Analyzer module.
- Add Gate Delay module.
- Complete revision of User Manual and Documentation.
- Add Thomas chaotic attractor to 1-Op Chaos (https://sprott.physics.wisc.edu/chaos/symmetry.htm).
- Make Mode knobs on 1-Op Chaos, 2-Op Chaos, Chaotic Attactors, and Clocked Noise snap to values and print the current mode.
- Add "Low-frequency Oscillator" tag to Feedback Sine Chaos.
- Scanner is now polyphonic.
- Tweak LED positions on some modules.
- Add LEDs to noise and chaos modules.
- BREAKING CHANGE: in 2.1.0, Gate Combiner and Random Gates had their trigger times reduced from 1ms to a single sample (another BREAKING CHANGE, but this was not listed as such). This is not within VCV voltage standards and failed to trigger a number of modules. Now, all HetrickCV modules use the 1ms trigger standard (including Comparator and Delta).
- BREAKING CHANGE: All unipolar gate outputs are now 0-10V instead of 0-5V. Bipolar gate outputs have not changed.
27 Likes

Thanks Michael. This collection looks absolutely awesome. We all appreciate your efforts in this space and others in VCV rack.

4 Likes