patchlore · @paul
718 followers · 1367 posts · Server post.lurk.org

Added a very simple and useful utility to sndkit that converts gate signals into tick signals:

pbat.ch/sndkit/gtick/

#sndkit #dsp

Last updated 2 years ago

patchlore · @paul
699 followers · 8266 posts · Server post.lurk.org

For those unaware, is a collection of audio DSP algorithms implemented in ANSI C. They are written in using a style using a variant of org. When tangled, they combine to form a program that's basically a simple patching language using the LIL scripting language. When woven, they turn into HTML documents generated via a static wiki engine:

pbat.ch/sndkit/

#literateprogramming #sndkit

Last updated 2 years ago

patchlore · @paul
699 followers · 8266 posts · Server post.lurk.org

Many hours later, and now I have a Euclidean Rhythm Generator sequencing blips. It's quite underwhelming, but the implementation is fully documented using . It should end up in in the next few days.

This sound patch converts a metro signal into a euclidean rhythm which drives an envelope generator. It randomizes the pulse variable at every bar to regenerate the pattern:

metro 8
hold zz
regset zz 0

regget 0
dup
tdiv zz 8 0
trand zz 2 8
param 8
euclid zz zz zz
env zz 0.001 0.01 0.01
sine 1000 0.5
mul zz zz
wavout zz "euclid.wav"
computes 10
unhold [regget 0]

#sndkit #literateprogramming

Last updated 2 years ago

patchlore · @paul
699 followers · 8266 posts · Server post.lurk.org

A new DSP algorithm added to . EnvAR is a gate-controlled envelope generator, whose shape is determined via attack and release parameters:

pbat.ch/sndkit/envar/

#literateprogramming #dsp #sndkit

Last updated 2 years ago

patchlore · @paul
699 followers · 8266 posts · Server post.lurk.org

One of the few benefits of having a Twitter account: casual conversations with Sean Costello about reverbs. One of the algorithms in uses an algorithm of his that he developed in 1999, and I managed to get him to say a few more things about it! Will add them as footnotes to the sndkit page:

pbat.ch/sndkit/bigverb/

#sndkit

Last updated 2 years ago

patchlore · @paul
699 followers · 8266 posts · Server post.lurk.org

Some words on signal routing with

pbat.ch/sndkit/signal_routing/

#sndkit

Last updated 2 years ago

patchlore · @paul
699 followers · 8266 posts · Server post.lurk.org

Tempo-synced delay line added to . The implementation uses a phasor signal as an external clock. It is built on top of the existing delay implementation vardelay: pbat.ch/sndkit/vardelay/#clkde

#sndkit

Last updated 3 years ago

patchlore · @paul
699 followers · 8266 posts · Server post.lurk.org

I finally got around to making a clock-synced delay line that works with .

Code for the sound can be found here:

paste.sr.ht/~pbatch/3867c56d00

#sndkit

Last updated 3 years ago

patchlore · @paul
699 followers · 8266 posts · Server post.lurk.org

GestVM is a gesture synthesizer for , controlled via the virtual machine:

git.sr.ht/~pbatch/gestvm

github.com/paulbatchelor/gestv

#uxn #sndkit

Last updated 3 years ago

patchlore · @paul
699 followers · 8266 posts · Server post.lurk.org

provides real-time audio and live coding capabilities to , my homebrew computer music ecosystem (aka and friends):

git.sr.ht/~pbatch/mnort

github.com/PaulBatchelor/mnort

#sndkit #mnolth #mnort

Last updated 3 years ago

patchlore · @paul
699 followers · 8266 posts · Server post.lurk.org

Technically not , but , which is sndkit plus some extra goodies.

#mnolth #sndkit

Last updated 3 years ago

patchlore · @paul
699 followers · 8266 posts · Server post.lurk.org

I think I managed to hack together a decent enough live coding environment for that can work with Vim. It's actually quite similar to the live coding setup I used years ago with Sporth, but with some minor improvements.

#sndkit

Last updated 3 years ago

patchlore · @paul
699 followers · 8266 posts · Server post.lurk.org

Initial writings for , a gesture sequencer controlled by , and designed to run inside of , and written using

pbat.ch/loom/gestvm/

Still need to organize the actual code base a bit more, so that won't be out for a few more days. But if you read this, you'll know exactly how it all works!

#literateprogramming #sndkit #uxn #gestvm

Last updated 3 years ago

patchlore · @paul
699 followers · 8266 posts · Server post.lurk.org

More experiments using to sequence Gesture in !

This one implements a concept I am calling "temporal skewing", which is the ability to locally warp tempo in a region without gaining or losing time overall. The neat thing about this is that it's all done using audio DSP!

The melodic sequence below would have otherwise been playing linear eighth note rhythms, but was subjected to a exponential temporal skewing curve lasting 9 beats, causing an accelerando to happen. While the beats do get faster, the overall time is still 9 beats.

Code found here:

paste.sr.ht/~pbatch/0616f870f5

#sndkit #uxn

Last updated 3 years ago

patchlore · @paul
699 followers · 8266 posts · Server post.lurk.org

Some initial experiments getting to sequence .

The featured gesture here is controlling the pitch of an oscillator with a small bit of glissando. Every time the gesture loops back, the speed changes: eighths (2), triplets (3), sixteenths (4), quintuplets (5), etc. until it reaches a really high value and then it goes backwards and slows down.

I also programmed a secondary gesture that is controlling filter cuttoff. This is a line that rises up and down every 4 beats.

Uxn program (tal) and patch (LIL) can be found here.

paste.sr.ht/~pbatch/62a21dc280

#sndkit #gestures #uxn

Last updated 3 years ago

patchlore · @paul
699 followers · 8266 posts · Server post.lurk.org

Shelving filters have been added to : pbat.ch/sndkit/shelf/

#sndkit

Last updated 3 years ago

patchlore · @paul
699 followers · 8266 posts · Server post.lurk.org

Messing around with my new qgliss algorithm in

A randomly generated line is used to produce a quantized melody via qgliss. this line also maps to other parameters in the patch as an expression curve.

sndkit patch:

paste.sr.ht/~pbatch/560654ba67

qgliss:

pbat.ch/sndkit/qgliss/
git.sr.ht/~pbatch/sndkit/tree/

#sndkit

Last updated 3 years ago

patchlore · @paul
699 followers · 8266 posts · Server post.lurk.org

is a proof of concept music sequencer that uses the Uxn VM and runs inside of . Sequences are programmed in Tal and compiled to ROMs. The ROMs are loaded into sndkit, where they control signal generators designed to modulate things like the pitch of an oscillator.

git.sr.ht/~pbatch/uxnseq

#sndkit #uxnseq

Last updated 3 years ago

patchlore · @paul
699 followers · 8266 posts · Server post.lurk.org

Yet another experiment using as a sequencer with ().

This time, the goal was to build coordinated sequences. In other words, be able to have a sequence that has an awareness of another sequence, and reacts and behaves accordingly.

The uxn program controls two sequences simultaneously. The first sequence controls a 7/8 bass line groove, and at each bar randomly chooses a new measure. The second sequence controls a sparse melody on top. It picks one of 2 pre-composed sequences based on what the first sequence chose.

code (uxntal for sequence, LIL for sounds) can be found here:

paste.sr.ht/~pbatch/c0a4ca5ab1

#uxnseq #sndkit #uxn

Last updated 3 years ago

patchlore · @paul
699 followers · 8266 posts · Server post.lurk.org

More sequencing tests with and (aka ).

The Uxn program here is randomly selecting from a set a pre-made musical sequences that control the pitch of the subtactive saw oscillator patch in sndkit.

synth patch and uxn code here:

paste.sr.ht/~pbatch/85e9cee9b1

#uxnseq #sndkit #uxn

Last updated 3 years ago