SDI experiments, sysex, CCRMA

Earlier in the month I had a few days of free time and began experimenting with gear in search of process to put to use for creating a new Spare Death Icon record. Its been nearly a decade since my last SDI album, and where my music tech skills have certainly advanced, my skills composing songs/tracks haven’t. That said, everything informs everything. Running a modular, micromoog, and using the drive/limiter/speaker emulation features of my audio interface, I came across a few discoveries, mostly with new methods of getting interesting timbral qualities from synth sounds. Along the way, while recording a micromoog triggered by a few LFOs I got some sort of interference, likely cell phone signal, sample below. I think the approach will be something like 1. record experiments, handplayed, patched, or supercollider driven 2. process and cut sound 3. sequence w supercollider 4. record into daw 5. arrange, process, mix to final tracks. Zombies and B-movie action flicks silently present in the background as inspiration.

Sysex. With the help of various SuperCollider heads (hjh, christoph, wondersluyter) I now have a solution to controlling the MKS-70 in the most efficient way using sysex messages and not NRPN/CC. The challenge was twofold: how to best send the messages to preserve bandwidth so that I can send as many parameter changes as possible while also sending notes and how to send properly formatted arrays from Pbinds. This is what it looks like:

(
~sysExArray = Pbind(
\type, \midi,
\midicmd, \sysex,
\midiout, d[\m2],
\array, Ptuple([0xf0, 0x41, 0x36, 0x00, 0x24, 0x20, 0x01,
0x22, Pexprand(40, 80, inf), //LPF Cutoff param, value
0x0D, Pshuf((1..127), inf), //DCO 1 Tune param, value
0x13, Pshuf((1..127), inf), //DCO 2 Tune param, value
0x0C, Pexprand(20, 127, inf), 0xf7]) //DCO 1 Waveform param, value
.collect { |array| [array.as(Int8Array)] }, // <<-- brackets here
\dur, Pexprand(0.4, 0.8, inf),
).play;
)
~sysExArray.free

CCRMA here I come! Finally. My university staff IT job (what?!) is sending me to a CCRMA summer workshop called Designing Physical Interactions for Music. See syllabus here. I couldn’t be more psyched about it, especially with Roger Linn co-leading the class. I don’t know as much about Sasha Leitman, but I’m even more excited to get a chance to work with her seeing all the things she’s been involved with over the years. From the looks of it we’ll be prototyping tech as physical interfaces to control computer music using the Teensy/Arduino platform. I’ve acquired a few Teensy boards to get my head wrapped around it all in prior to the workshop. For my job I’m hoping to advance my skillset in the maker realm as I look to expand the offerings of my lab, learn more about what is out there and being used, and see how the workshop unfolds. I want to know how its taught as a workshop, what tools and facilities they have, and find out if its viable at my place of work. And personally/artistically/technically… I want to build my own instruments and methods of interacting with them, and I’d love to build sound components to installations. I also want to use this sort of tech to drive a lighting system for LIMITS live performances.

What I haven’t been doing much of is learning much Machine Learning, but that’s coming. I did end up rebuilding an old barely used PC, installing an SSD, a bit more ram, and installing Ubuntu Studio, which is another Linux distro and Ubuntu variant that comes stock with all sorts of AV and graphic apps. I’m not totally sold, but was able to install SuperCollider on it easy enough. The issue is it uses XFCE, which feels pretty clunky. We’ll see how much use it gets. Ideal world is stripped down Arch/I3/SC, but maybe more longterm. Setup alone will take me days I’m sure…

Leave a comment

Your email address will not be published. Required fields are marked *