Towards a music for ensemble


I’ve been making a bunch of 20 minute pieces with SuperClean. They are all unique examples of working with sample packs that I’ve made by playing and recording an instrument or an object. I am sharing the code and the sample packs on my log page as I finish the pieces. First I thought that I’d be set with twelve. Then I thought for sure that sixteen of those single sample pack pieces would be enough to make an ensemble piece from that material. I decided on twelve initially, because after searching around a lil bit I felt that twelve unique instruments mapped well enough for me onto the idea of the sinfonietta. I have changed my mind again now about the size of the ensemble. I think I’m just going to keep adding and substracting instruments as I go. I am now thinking I need to have more variation in terms of physical materials used in order to round out the ensemble. Also I’m thinking about how some of these recordings have tiny iterative sounds within their more continous sound. I have found these to be valuable in terms of picking out distinct features, and then that way kind of keeping track of them in the music as it unfolds. As I’ve been working on this project for a while now I’ve been thinking more and more about the idea of the instrument. In my mind I’ve been expanding it to mean; The combination of the sound files in the sample pack as well as the code that shapes those recordings. I am still lloking forward to finding out whether this expanded idea of the instrument can hold up later on, as I continue to work on making a music for ensemble. I’ve done a couple of gigs using the code you see in the block below.


Server.killAll;
~clean.lsf("~/snd/org"); // load these first

( // then load these
~clean.lsf("~/snd/ebs");
~clean.lsf("~/snd/trp");
~clean.lsf("~/snd/gls");
~clean.lsf("~/snd/tgt");
~clean.lsf("~/snd/bfn");
~clean.lsf("~/snd/snr");
~clean.lsf("~/snd/mtf");
~clean.lsf("~/snd/bwm");
~clean.lsf("~/snd/zth");
~clean.lsf("~/snd/acf");
~clean.lsf("~/snd/tap");
~clean.lsf("~/snd/mrb");
~clean.lsf("~/snd/ocv");
~clean.lsf("~/snd/deb");
~clean.lsf("~/snd/egb");
)

(
Pdef(0,
    Pbind(*[
        type: Pwrand2([\cln, \r], [1, 0], inf),
        snd: Pxshuf([
            \org, \bwm, \ebs, \trp, 
            \gls, \bfn, \snr, \mtf,
            \zth, \acf, \tap, \mrb, 
            \ocv, \deb, \egb, \tgt 
        ], inf),                  
        snd: \org,
        num: Pxshuf((0 .. 29), inf),
        bgn: Plprand(0.0, 1.0),
        //aux: Pseed(0, Pseq([Pxshuf((0 .. 11), 1), Plprand(0, 11, 12), Phprand(0, 11, 12)], inf)),
        //aux: 6,
        pan: Pmeanrand(0.0, 1.0),
        //pan: 0,
        atk: Plprand(7.0, 17.0),
        hld: Pmeanrand(9.0, 19.0),
        rel: Phprand(11.0, 21.0),
        crv: Pwhite(2.0, 6.0),
        dur: (Pkey(\atk) + Pkey(\hld) + Pkey(\rel) / Phprand(3.0, 9.0) / 7),
        legato: Pkey(\atk) + Pkey(\hld) + Pkey(\rel) * Phprand(13.0, 19.0),
        sustain: 99,
        cav: 2.125,
        cai: Pseg(Pwhite(0.0, 1.0), Pwhite(30.0, 90.0), \wel, inf),
        scale: Pdup(Plprand(55, 111), Pxshuf([
            Scale.harmonicMinor(\sept2),
            Scale.melodicMinor(\sept1),
            Scale.ionian(\just),
            Scale.mixolydian(\mean4),
        ], inf)),
        octave: Pdup(Plprand(1, 11), Pmeanrand(4, 6)),
        degree: Plprand(0, 7),
        amp: Pseg(Plprand(0.175, 0.35), Pwhite(30.0, 90.0), \wel, inf) / Pkey(\octave).linexp(4, 6, 1.0, 2.0) / 3.0,
        stretch: Pseg(Pmeanrand(0.5, 2.0), Pwhite(30.0, 90.0), \wel, inf),
        calcFreq: Pfunc{|ev|ev.use{ev.freq.asStringPrec(48).postln}},
        //hpf: 2000,
    ])
).play
)

Pdef(0).stop