Hi folks. I've been trying to regularly create something for Jamuary and today I decided to play with the various ports of the Mutable Instruments eurorack modules to SuperCollider. I installed the UGens on my OS X machine (the pre-compiled binaries were not signed so I couldn't use them as-is, so I decided to compile them myself. The compilation instructions worked fine for me). Following @eris excellent tutorial I created a very basic wrapper for the Plaits UGen
(
SynthDef(\plaits, {|out, sustain=1, pan, accelerate, freq, harm=0.5, timbre=0.5, morph=0.5, engine=0|
var env = EnvGen.ar(Env.linen(0.01, 0.98, 0.01, 1,-3), timeScale:sustain, doneAction:2);
var sound = MiPlaits.ar(pitch: freq.cpsmidi, engine: engine, harm: harm, timbre: timbre, morph: morph);
Out.ar(out, DirtPan.ar(sound, ~dirt.numChannels, pan, env));
}).add
);
I'm using a simple envelope here just to get something working, but I think that could be improved (or I could rely on the envelope generator in Plaits instead).
And here's an example of how I used it in Tidalcycles:
let harm = pF "harm"
let timbre = pF "timbre"
let morph = pF "morph"
let engine = pI "engine"
d1 $ slow 2 $ n "{0, 3 7 3 <0 7>}(5,8)" |-24 # sustain 0.1 # s "plaits" # engine (irand 15) # room 0.4 # gain 0.75
I recorded some of my jam, here I'm randomly modulating the synthesis "engine" that Plaits uses to create some glitchy effects. I recorded directly from SuperCollider.
Has anyone else played with these UGens in Tidal? I had a lot of fun running the various examples from the documentation in SuperCollider, and connecting different modules together. I might spend some time creating some wrappers for these UGens to use in Tidal. I think some of them, like rings
might work as both "synths" and "effects" and I'm not quite sure what the best interface would be to allow them to be chained together.