Know Your Nodes pt 5 & 5.5 - Splines & Streamlining a Large Patch



How’s this for stepwise behavior? test.audulus (19.4 KB)

I’ve pushed up a new version of the gem that will have this behavior. The stepwise transitions are accomplished by having an extra node 0.0001 before the next node, so they’re pretty sharp. Nothing a slew limiter won’t fix, though.


Did you install using the git repository, or did you gem install build_audulus_wavetable_node? The latter method should be a little easier.


I cloned the git repository to my computer and then followed your instructions in the link on GitHub. Eventually figured out I was missing several gems needed for the install to run successfully from the terminal error messages, and via Google discovered how to install them using Home Brew.


Thank you. I used the Wizibel app, though I’m going to use K Machine more with Audulus for audio video as it uses glsl code to generate automations. The editing was done with LumaFusion and Bricolage. Running the @jjthrash script for the splines was the only non-iOS application in the process.


We need to start a new thread and possibly a new category, all this JSON GitHub juiciness needs its own space to expand.


Yeah for sure.


So the melody part is pretty much perfect now, however the gate spline has overlapping gates that result in a pretty useless mega gate.

I mashed up the last two test patches to make something approaching usability.

test1.audulus (55.8 KB)


Might the gate overlaps have to do with overlapping MIDI notes? The implementation keeps track of a stack of “currently on” notes and only drops the gate to 0 once they’re all clear. Legato inputs often cause one note’s “off” signal to come after the next note’s “on” signal.

Or perhaps I’m not understanding the problem?


Consider the following (extracted from a portion of your test.mid file):

Each “square wave” portion corresponds to a note on and note off. However, there’s a bit that’s mashed together at the 80% mark. This corresponds to overlapping notes.

The solution would be to ensure the notes don’t overlap in the MIDI file. A simple matter of editing… :wink:


One way to deal with the “mashed notes” problem would be to also spit out a trigger spline. Rather than track the note on/off, just spit out a 1ms pulse or something. Might that work?


Well the play style for that bass-line is pretty staccato. Here is a zip of what is should sound like: Solar (860.4 KB)

Also, is that the full midi file? Because listening to it sped up 20x it does have the cadence of a single repetition of the phrase. So the gate behavior could be fine, it just doesn’t match the spline containing the pitch information.


It’s the full MIDI file, though I can’t claim perfect confidence in the output. One thing I noticed is that I’m not accounting for the time the last note-off takes in the pitch node. This means the pitch node only covers 99.01% the time the gate node does, but is stretched out to the full 100%.

The effect of this would be that the pitch node lags behind the gate node more and more as the patch nears completion. Does that match what you’re seeing when you say “it just doesn’t match”? If not, in what way does it not match?


It’s more like the pitch it 20 repetitions of the melodic motif and the gate is just one repetition.


Splines are definitely monophonic though your idea of having a separate spline just for gates is great as you could have one for notes and gates and other splines to control the relationships between them.


Ah, OK. The file I uploaded was actually one I’d generated for test purposes from a small portion of the MIDI file. The actual output looks like this: test.audulus (90.9 KB)

Sorry for the confusion!


Yeah! That is like super close to perfect. Definitely something I could work with.


Great! The latest version of the tool (0.4.0) will spit out that output.


Not sure if this is the right place to throw this into the pot, but all the wavetable stuff reminded me of this video on the notoriously difficult to program Cheetah MS800 waveform synth that Aphex Twin used (exclusively?) for his 2016 Cheetah EP (one of my favourites).


Seems like it’d be a good candidate for an Audulus clone???


The Cheetah EP is easily becoming one of my favorite albums. I throw that vinyl on constantly.