Polyrhythmic Tap Sequencer


One of the things that I really like about Audulus is the ability to construct a huge variety of different devices. There are enough tools in the Audulus toolbox to build almost anything related to digital audio signal processing. (That’s not to say I wouldn’t like some more nodes) Even though some of our constructions may not be universally appealing, I thinks it benefits us all to share. Most of the things I’ve built that I’m most proud of have started from someone else’s idea. Anyone can learn the mechanics of module construction, it’s the initial inspiration that’s the difficult part. Very much like the music that’s often the end result of our tinkering.


I got some nice sound out of the patches for sure, good rhythms, and lots of variation. I am looking forward to jamming with it on my guitar a bit. Maybe it will get me playing a bit differently.


I’m thinking I’m ready to create a UI for the sequencing and quant parts and send those brittle guts down into a patch. Any requests??


Sometimes it is hard to get into another person’s patch. When a concept is being worked out, sometimes it is interesting to take the giant final monster and distill the key innovations into an ultra-light version that has open ends allowing the user to drop various modules of their choice into the signal path.

I love when @stschoen and the guy who likes to draw cats around here keep tightening up their modules over several versions.


I’m thinking I’ll make a full up version (two drum loops and two tone loops) for the all out polyrhythm fest, and maybe a drums-only model.


I’ve suspected (but not tested) that hiding certain things away inside a patch will reduce processor load by not requiring any graphics to be drawn, refreshed, etc. I did notice that when some signals become functionally moot, Audulus does not animate their wiring. An example might be the situation where some calculation exists in an expression node, and all its inputs are presenting live signals, but its output isn’t being used downstream. Anything that drives lights or meters or waveforms and nothing else would seem good candidates for switching off when they’re hidden. I wonder how deep that goes. I’m asking about all this because I don’t really want to gut my UIs on the parts inside of the patch, to avoid having too many versions out there to maintain.


I’m having fun with it here, too. One fun variation is to have one loop scale have just one interval—the tonic, with the random spread wide enough to get a few octaves in there. Used on the slower loop, with some sustain, it comes off as a kind of droning reminder of your home key.


I believe it’s partial. There is some form of cloud analysis that allocates CPU, and when the UI is hidden it receives less CPU. So it’s not cut entirely but it gets refreshed far more intermittently. At least that is my understanding of it.


Here it is again, all packaged up in a UI.

There’s the top-level thing I’m calling “the conductor,” because it’s what tells the loops to refill and (if you use it that way) to the progression sequencer to move to the next step (and because the bar display goes up and down like a baton!).

The conductor is set with a clock and beats per measure. Normally you’d choose one of the tone loops as the source of clock, by patching the same clock you’ve used for the loop and the beats per measure (from the output at the right) over to the conductor inputs.

The REFILL command from the Conductor and any subsequent progression changes applies to any loops that’re on auto-fill. Loops not on auto are not affected by the fill button or the conductor’s command. They do reflect any change or key, however.

The KEY CTRL section is where you set or change the key. Whatever is the last midi note (frequency is shown to the left of the button) become the new key if you hit that button. All loops’ output will reflect the change in key.

Note: the tone loop sequencers save the raw random values from the random frequency generators (or the raw output from the midi if a loop is not on auto), not the quantized values. Quantizing and setting to key occur at playback of the loop. This means that if you change the key (both tone loops use the same key) or you change the scale used for a loop, the loop will sound in the new key or scale immediately.

(I’ve found it kind of satisfying to turn one tone loop off of auto, so that it holds the current pattern and tones as the other loop follows the progression. It gives a nice, musical effect.)

2x2 loop polyrhythmic tap sequencer - exotic drums v 8:23:18-1.audulus (2.3 MB)


I’d forgotten to add the dancing lights on the drum loop outputs!

I also added a key output (octave format) that might be used to drive some droning thing or some as-yet-unknown use of the key.

I renamed some ins and outs. One set I renamed were the “no key” tone loop outputs, renamed to (in the case of tone loop 1) “o TL1 (@A440)” to indicate it needs recombining with the current key if it’s to play in-key, as is the case for he main tone outputs “o TL1” and “o TL2.” Of course that’s super easy. You just add it to the key.

Note that the scale stick displays all interpret an integer or zero at the input as the root or tonic, and turns on the first light. The scale stick displays connected at the upper right are just displaying what the tone loops are putting out, relative to the key they’re in.

One other thing: I added an octave input to the Res Drum, hijacking it and making it into a cheap synth, the Res Synth! I have it doubling one tone synth. Set just right, the Res Drum/Res Synth sounds kind of like a wind instrument. Just don’t listen too closely!

2x2 loop polyrhythmic tap sequencer - exotic drums v 8:24:18-1.audulus (2.3 MB)


Practicing with this thing, I found myself wanting to hear a sample of the tonic, so I stuck a little osc with a momentary button and connected it to that “key” output. Well, that’s a use for it.

I wanted to take drums and one tone loop off of auto and try tapping some tones and drum beats. If samples are already there, taking the loop off of auto doesn’t erase the loop. It just continues to play as long as you let it, or you can add to it, sample by sample, by tapping a drumhead or a midi key.

Clearing a tone loop is easy. You just hold down a midi key for a half second and it should reset. Do the same for a drum head.

Note: Unless you change a non-auto tone loop to a chromatic scale, whatever you play on the midi keyboard will be mapped by the quantizer for that loop onto the loop’s scale. For non-pianists like me, that may be convenient, but actual piano players may find it very annoying. The good news is that you can easily set the scale to chromatic by leaving the “#” input (the scale code input) to that quantizer open (zero). I made the quantizer convert a zero value at the input to 4095, which is the code for the chromatic scale.

For the drums, to clear them all at once, I added a little momentary Push bottom. Hold it down a half second and any drum loops connected to the button are cleared. Remember that the loop fills and clears at the same rate it plays, so a slow-clocked loop may take a while to clear or fill.


I think that any savings in screen drawing was balanced out (or maybe blown away) by the overhead of passing all those signals out to the UI. Still, it makes at all easier to use—not so brittle!


BTW, there’s nothing magic in that push button patch. I just wanted it smaller.


A little ambience really helps. I’m playing it through this little mixer, with a slight chorus and a touch of big-hall reverb. The amp is one of those little Roland cubes, which I love.


That’s a pretty sweet-looking set up. I quite like the current generation of small practice amps. I’m actually using one lieu of monitor speakers since it has a stereo “aux” input.


The roland’s aux i use for a bluetooth receiver that’s glued to the back. The blue things are tube preamps, which make my acoustic guitars and mic sound really sweet. I have a Behringer “Vintage Tube Monster” with a $20 mod from e-bay, and a mod of my own to drop the gain final to about unity, plus or minus whatever the overdrive is set to. A really cheap fuzz pedal (like a germaniam transistor or something) at the front end and the rig gives my low-end hollowbody Ibenez an almost Robert-Fripp-esque sound. A lo-dough rig, but it works.

My Audulus sequencer was definitely a personal growth project. It’s kind of a gimmick, but it’s getting my brain around (or my ear familiar with) musical scales and I’m enjoying practicing with it.


My next project is to stack two of my quantizers to pull out chords and extensions. I made them bubble-sort style, so apart from octave housekeeping, it ought to work ok. I’ll figure out where to use it next. There’s some simple boolean logic going on to find the chords at a certain degree of a given scale. How hard could it be??


Your inversions challenge is in there. I just KNOW it!


I’ve done a little work on my own version, which isn’t “tappable” but is ok as a compositional tool to get the melodic juices flowing.

Melodic Variation.audulus (226.2 KB)


I will have to check that out! Building these things is so satisfying. I learn so much, musically, working out the problems.