Two voice probabilistic sequencer in Axoloti #01

Basically posting this since I’ve spent a month toying around with this in what little free time I’ve had and want to put at least some of it behind me.

Objective

A 2-voice sequencer with ~5 controls that’s playable and flexible. I would like to have control of how “on time” the sequence is and how much it stays in a traditional scale, as well as the probability of getting a random n amount of triggers on voice 2 on each fire.

First approach

I started with a classic naive approach, using coin flips, clock divisions and quantized random sources to get some variations. This generally didn’t lead to very interesting results. Using a rotating clock divider and randomly rotating, inverting and resetting the rotation was an enormous improvement on this.  After a lot of iterations I arrived at the example below.

uwnfifaFull sized image here.

The Midi In clock goes through a couple of clock dividers that can be manually controlled and then into the rotating clock divider. Using a Noisering emulation we decide when we rotate and based on that when we reset and invert the divisions.

Channel 1 Trigger is slaved to the /16 division and there’s a coin flip associated with the /2 division that increases the chance of a trigger happening. Without this the lower probability values are close too useless. Every time we get a trigger on Channel 1 we decide which note we want to play in that channel. Right now there’s three predetermined options.

Channel 2 Trigger is slaved to /1 and then goes through a multiplier, in part for ease when repatching. Where a weighted three sided die flip determines if we take triggers from the “Standard in” or the two available random gate generators. The probability of taking the standard in option is the same as the sum of the other two. The Standard option is again a simple coin flip, which is a slight feedback based on the last success probability. Both random options take a multiple of the standard clock in to ensure a high amount of triggers. Another option here would be to just take a high clock multiple, for example x32, and go through an unbiased coin flip to decide triggers.

If we’re taking triggers from the Standard in, we decide which note we’re playing in voice two by random selecting one of three predetermined notes associated to each note option for Channel 1.

If we’re taking triggers from Random #1, we decide which note we’re playing like before but then we’ll add a small random number on each trigger, getting some non standard microtonalities.

Finally, if we’re taking triggers from Random #2, we’ll trigger an envelope that moves around Channel 1’s current note, so again we get some microtonalities until the envelope completely closes. We can determine the width of the interval by changing the constant being multiplied to the envelope.

Example

Channel 1 triggers Channel 1 of Maths and plays Frquency Central Waverider (Wave and Sub Wave mixed, some modulation from Channel 1 going to Wave) which then goes into Channel 1 of the Make Noise LxD modulated by Maths Ch 1. Channel 2 triggers Channel 4 of Maths and the Strike input on Channel 2 of the LxD, while playing Mannequins Mangrove into LxD Ch 2 modulated by Maths Ch 2. Oscillators were tuned by ear before starting to something that sounded ok, before hand but ended up sounding not that great with some modulation added. No change was made to the sequencer once running.

Going forward

The trigger section can be massaged with enough effort to get something acceptable, but random is not really what I’m looking for so I’d like to take a look at generative sequencers and see if those techniques get me closer. The Note section is not working at all and needs to be completely reworked, although it was working better in an earlier iteration.

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s