anm


I recorded a 47 second loop using sound on sound technique in Animoog. I wanted to work with buffer manipulation to make a kind of clicks and cuts music of yesteryear. I was also interested to see if my idea of using a scale material, both at the original creation of the loop, and then later for the transpositions of that resultant sound file would work. It was kind of tricky to get the material to gel as a texture, but, as I have found many times, slowing things down helped a lot. Some of the changes in transposition are more challenging than others. I enjoy that range where the material sits now. I amplified this sensation of the shards clashing at the edges somewhat by adding the tuning to the transpositions of the sound file, which the original recording did not have. I am especially fond of brief moments in the material where parameters align to create a kind of proto phase vocoding effect. Put another way, there are some places where a slow and clicky scrubbing through the sound file can be heard. I had not thought about controlling \bgn, which controls the position of the playhead within the file, in this way before. I used to make a lot of this kind of music, although maybe not as smooth as this, back in the day when I was just starting out using Max. It made me smile to stroll down this memory lane of aesthetics.

Download this sample pack here.


~clean.lsf("snd/anm")
(
Routine{
    s.record;
    1.wait;
    Pdef(0,
        Pseed(74,
            Pbind(*[
                type: \cln,
                snd: \anm,
                dur: 5 / Pdup(Plprand(1, 19), Plprand(1, 9)),
                octave: Pdup(Plprand(2, 10), Plprand(4, 6)),
                scale: Scale.mixolydian(\just),
                pan: Pmeanrand(0.0, 1.0),
                amp: Pseg(Plprand(-9.0.dbamp, -6.0.dbamp), 
                    Pmeanrand(30.0, 90.0), \wel, inf),
                cav: 0.25,
                cai: Pseg([0.0, 1.0, 0.0], 
                    Pmeanrand(30.0, 90.0), \wel, inf),
                scale: Scale.ionian(\sept1),
                degree: Pdup(Plprand(18, 198), 
                    Pxshuf((0 .. 7), inf)),
                bgn: Pseg(Pwhite(0.1, 0.9), 
                    Pwhite(1, 50), \lin, inf).trace,
                lpf: Pseg(Plprand(20, 20000), 
                    Phprand(1, 100), \exp, inf),
                atk: Pkey(\dur) * 1.2,
                hld: Pkey(\dur) * 2.3,
                rel: Pkey(\dur) * 3.4,
                sustain: Pwhite(1.0, 9.0),
                crv: 8,
                dla: Pseg([0.0, 1.0, 0.0], 
                    Pmeanrand(30.0, 90.0), \wel, inf),
                dlf: 0.0,
                dlt: 4.0,
            ])
        )
    ).play;
    (19 * 60).wait;
    Pdef(0).stop;
    240.wait;
    s.stopRecording;
}.play
)



bbu


I recorded 183 very short transient sounds using bamboo kitchen utensils. I used the Audient iD14 as the preamp but recorded in a NI Komplete Audio 6 MK2 because the iD14 has way better preamps but only allows a maximum of 96kHz while the KA6 can go up to 192 kHz. The recordings are not as clean as I’d like but they are ok I think. I need to get better microphones. I used a pair of Line Audio CM3’s, which I think are great for the asking price. They sound a lot more expensive then they are in the high end. They also really shine live because they can amplify a whole lot before starting to feed back. But hey, for recording these kinds of faint sounds, especially with the great iD14 pres, you end up hearing the noise in the microphones themselves. I tried denoising but that came out like complete mush. The room tone and the noise floor are all tangled up together in the tail there. I used a gate to gently sculpt the tail of the release and then slam shut. There are 183 stereo files exported at 192kHz in this pack. The files are all very short. All but one are under a second in duration.
Download this sample pack here.


~clean.lsf("bbu");

(
Routine{
    s.record;
    1.wait;
        ~pat = {| num, aux|
    var pattern = Pbind(*[
        type: \cln,
        snd: \bbu,
        dur: Pseg([1, Plprand(0.25, 4.0), 1], 
            Pwhite(30.0, 90.0), \sin, inf),
        amp: Pseg([0.45, 0], Plprand(45.0, 90.0), \sin, 1) 
            - Pstutter(Pseq([4, inf], 1), Pseq([0.45, 0], 1)),
        pan: Pseg(Pmeanrand(0.0, 1.0), 
            Pwhite(30.0, 90.0), \sin, inf),
        spd: Pstutter(inf, Plprand(0.5, 1.0)),
        num: num, 
        //aux: aux,
        dur: Pseg([1, Pwhite(0.25, 1.0), 1], 
            Pwhite(30.0, 90.0), \sin, inf),
    ]);
    Pseq([ pattern ], inf);
};

Pdef(184, Ppar( 183.collect{|patnum| ~pat.(patnum, patnum)})).play;

t = Task({
    { 
    Pdef(184).reset;
    exprand(15, 90).round.wait.postln;
}.loop 
});
t.start;
    (20 * 60).wait;
    Pdef(184).stop;
    2.wait;
    s.stopRecording;
}.play
)



acf


I recorded an accordion’s lowest note, held for as long as I could sustain it. I chose the registration that had what sounded to me like the most overtones with a single tongue. I then mimicked the sound of the registration with the least overtones in post using a filter. This way the zero crossings are in the same place in the two files. Recorded and exported at 192kHz. The files are 2 minutes and 21 seconds in duration. Download this sample pack here.


~clean.lsf("acf")
(
Routine{
    //s.record;
    1.wait;
    (
        Pdef(0,
            Pseed(1467,
                Pbind(*[
                    type: Pseq([\cln, Pwrand2([\cln, \r], 
                        [1, 75], inf)], inf),
                    num: Pwrand2([0, 1], [1, 6], inf),
                    snd: \acf,
                    pan: Pwhite(0.0, 1.0),
                    baz: Plprand(150.0, 180.0),
                    crv: -8,
                    cav: 15,
                    cvt: 1,
                    cvd: 0,
                    cai: Pseg(Phprand(0.5, 1.0), 
                        Pwhite(90.0, 180.0), \wel, inf),
                    dur: 1 / Pstutter(Phprand(5, 11), 
                        Phprand(5, 11)),
                    scale: Scale.melodicMinor(\wcSJ),
                    degree: Pwrand2([Phprand(-18, 0, 1), 
                        Plprand(-8, 0, 1)], [1, 4], inf),
                    octave: Pwrand2([5, 6, 7], [4, 8, 1], inf),
                    mtranspose: Pseed(0, Pstutter(Plprand(99, 1099), 
                        Pseries(0, 1, inf))),
                    amp: Pstutter(Plprand(1, 35), 
                        Plprand(-18.dbamp, -15.dbamp)
                        / Pkey(\degree).linexp(-18, 0, 1, 5)),
                    lpf: (Plprand(2000, 20000) 
                        / Pkey(\degree).linexp(-21, 0, 1, 5)).trace,
                    ocd: Pseg(Pmeanrand(0.0, 1.0), 
                        Pwhite(60.0, 120.0), \wel, inf),
                    //aux: Pxshuf((0 .. 11), inf),
                    hpf: 80,
                ])
            )
        ).play
    );
    (19 * 60).wait;
    Pdef(0).stop;
    240.wait;
    s.stopRecording;
}.play
)



tap


I recorded a sine wave onto a cassette tape using a JVC UX-T20BK. When I played it back I recorded it at 192 kHz. I then transposed it down to 44.1 kHz and exported it. The file is 2 minutes and 36 seconds in duration.
Download this sample here.


~clean.loadSoundFiles("tap")
(
Pdef(0,
    Pseed(183,
        Pbind(*[
            type: \cln,
            scale: Scale.mixolydian(\just),
            dev: Pwhite(-18, 34),
            der: Pkey(\dev).linlin(-18, 34, 19, 1),
            degree: Pstutter(Pkey(\der),Pkey(\dev)),
            snd: Pwrand2([\tap, \dfd], [5, 1], inf),
            amv: Pwhite(1/2, 8.0),
            amt: Pkey(\amv).linlin(1/2, 8.0, 10.0, 90.0),
            amp: 0.3 / Pseg(Pkey(\amv), Pkey(\amt), \exp, inf) 
                / Pkey(\degree).linexp(-18, 34, 1/3, 1.5),
            dur: 1,
            atk: Phprand(7.5, 15.0) 
                / Pkey(\degree).linlin(-22, 34, 1, 2),
            rel: Phprand(7.5, 15.0) 
                / Pkey(\degree).linlin(-22, 34, 1, 2),
            crv: 0,
            bgn: Pwhite(0.0, 0.1),
            pan: Pwhite(0.0, 1.0),
            lhf: Pwhite(0.3, 0.6),
            lpv: Phprand(20, 20000),
            lpr: Pkey(\lpv).explin(20, 20000, 8, 1),
            lpf: Pstutter(Pkey(\lpr), Pkey(\lpv)),
            hpf: Pseg(Plprand(20, 300), Plprand(20, 200), \exp, inf),
            stretch: Pseg(Pwhite(1/11, 2.0), 
                Pwhite(10, 20), \exp, inf).trace,
            cav: 1,
            legato: Pkey(\atk) + Pkey(\rel) + 1,
            tri: Pseg(Pwhite(0.0, 1.0), 
                Pwhite(10.0, 100.0), \sin, inf),
            shp: Pseg(Pwhite(0.0, 0.25), 
                Pwhite(10.0, 100.0), \sin, inf),
            sho: 1,
            shi: Pseg(Pwhite(0.0, 0.05), 
                Pwhite(10.0, 100.0), \sin, inf),
            ocu: Pseg(Pwhite(0.0, 0.5), 
                Pwhite(10.0, 100.0), \sin, inf),
            ocd: Pseg(Pwhite(0.0, 0.5), 
                Pwhite(10.0, 100.0), \sin, inf),
        ])
    )
).play
)



mrb


I wanted to make sure that I had gotten rid of that pesky bug where a little bit longer files would play back all rotten. Sounded like low sample rate. This was due to round off errors. I recorded my tele laid flat on my desk with an ebow and a little glass marble sat on top of it. The little glass marble connects two adjacent strings. I tuned down the strings a whole lot. I had to tune down the adjacent strings to get the ebow down real low so it’d be close enough to sustain the third wound string from the top. I propped up the head just so. Took a while to find the right angle where the ebow would make the string vibrate, which in turn made the marble move around within about half a fret’s worth. This gave me just the right amount of variation while still maintaining the fundamental. I recorded at 192kHz. The slightest fadein at the top of the file and right at the end I pick up the ebow off of the string. The file is 12 minutes and 13 seconds in duration. It’s a Mono file because I recorded straight out of the guitar into the soundcard. Didn’t even use a compressor.
Download this sample pack here.


~clean.loadSoundFiles("mrb")
(
Pdef(0,
    Pseed(949,
        Pbind(*[
            type: \cln,
            snd: \mrb,
            spd: Plprand(1/4, 7.0).round(1/7).trace,
            dur: Phprand(10.0, 20.0),
            amp: Plprand(0.1, 0.9) 
            / Pkey(\spd).linexp(1/4, 7.0, 0.5, 6.0) / 2.25,
            bgn: Pwhite(0.0, 0.9),
            atk: Pwhite(5.0, 30.0),
            hld: Pwhite(9.0, 99.0),
            rel: Pwhite(9.0, 99.0),
            pan: Pwhite(0.0, 1.0),
            crv: 8,
            cav: 0.5,
        ])
    )
).play;
)



bwm


Anything can be bowed. Even a black metal stove guard I bought for 10 sek at a thrift store one time ages ago. I finally got around to bowing it and found some ways to get some different sounds out of it. At first I thought the main thing was bowing the sides of the frame because that made the loudest sound in the room but once I got to listening through a condenser microphone up close I heard that there was more to the thin rod that ran between the ends of the frame. After a while of messing around with microphoe placement I tried it in combination with a bass humbucker pickup I had soldered an XLR jack to a while back. That was the sound. Tons of bass as well as really clean soaring high pitched sounds. Bowing at an angle made a big difference also in terms of controlling which node rang the loudest. In the end I opted for only using the pickup because it was the cleanest. Recorded in 192kHz. Did a tiny, tiny bit of very delicate denoising. Played back at half speed. Chopped up the recording into 8 mono files at aroundabouts 90 seconds each. Exported at 44.1kHz.
Download this sample pack here.


~clean.loadSoundFiles("bwm")
(
Pdef(0,
    Pseed(293,
        Pbind(*[
            type: \cln,
            snd: \bwm,
            dur: Pstutter(Pwhite(1, 3), Plprand(1/7, 13.0)),
            num: Pxshuf((0 .. 7), inf),
            atk: Phprand(1.0, 4.5) * Pkey(\dur),
            hld: Plprand(1.0, 4.5) 
                * Pkey(\dur).linlin(1/7, 13.0, 1.0, 13.0),
            rel: Phprand(1.0, 4.5) 
                * Pkey(\dur).linlin(1/7, 13.0, 1.0, 13.0),
            crv: 0,
            amp: Pstutter(Phprand(3, 11), Phprand(1/11, 1/2)),
            bgn: Pwhite(0.0, 1.0),
            pan: Pwhite(0.0, 1.0),
            cav: 1/2,
            hal: Pseg(Pwhite(0.0, 0.5), 
                Pwhite(30.0, 90.0), \wel, inf),
            dla: Pseg(Pwhite(0.0, 0.5), 
                Pwhite(30.0, 90.0), \wel, inf),
            dlf: 0,
            dlt: 16,
            rts: Pseg(Pwhite(0.0, 9.0), 
                Pwhite(30.0, 90.0), \wel, inf),
            spd: Pwrand2([1, 2, 4, 8], [12, 8, 4, 1], inf),
            lpf: Pkey(\spd).linexp(1, 8, 20000, 20),
            lhf: Pkey(\spd).linlin(1, 8, 0.5, 0),
            hpf: Pseg([20, 200, 20, 20], 
            Pwhite(30.0, 90.0), \wel, inf),
            scale: Scale.prometheus(\mean5),
            degree: Pstutter(Phprand(9, 19), 
                Pwrand2([0, 2, 4, 5], [8, 4, 2, 1], inf)),
        ])
    )
).play
)



stn

I started off the day by recording some chuggy stunt guitar sounds in 192kHz. I made six short samples of the zeroth and first fret using three playing styles. Open long, open staccato and palm muted. I made two takes of all three styles and hardpanned them left and right. I denoised them, careful not to leave marks. I beefed things up a little bit while still keeping some of the dynamics inherent in the playing styles. I thought that I would be making some kind of chuggy rhythmically driven music, but that did not happen today as you can hear in the example below. Maybe some other day. Download this sample pack here.

~clean.loadSoundFiles("stn");
(
Pdef(0,
    Pseed(17,
        Pbind(*[
            type: \cln,
            snd: \stn,
            num: Pstutter(Pexprand(1, 48), Pxshuf((0 .. 5), inf)),
            dur: 1 / Pstutter(Pexprand(2, 5), 
                Pexprand(1, 7).round) * Pwhite(1, 2) / 5,
            amp: Pstutter(Pexprand(1, 96), Pexprand(1/8, 8.0)),
            atk: Pmeanrand(0.0, 1.0),
            hld: Pmeanrand(1.0, 2.0),
            rel: Pkey(\dur) * 8,
            crv: Pstutter(Pexprand(1, 24), Pmeanrand(-8.0, 8.0)),
            lpf: 20000 - Pexprand(20, 20000),
            pan: Pmeanrand(0.0, 1.0).trace,
            lhf: Pexprand(1.01, 1.98) - 1,
            bnd: Pwhite(-0.125, 0.125),
            scale: Scale.chromatic,
            degree: Pstutter(Pexprand(1, 192), 
                Plprand(-18.0, 9.0)).round(0.5),
            sustain: Pstutter(Pexprand(1, 12), Pwhite(0.5, 4.0)),
            spd: Pwrand2([-1, 1], [1, 64], inf),
            cav: Pseg([0.0, 0.025, 0.0], 100, \sine, inf),
        ])
    )
).play
)



Sonobus

I got Sonobus working. What it does is let you send high quality Stereo audio over the Public Internet or a local network. Not only that but it’ll also let you do that between multiple participants. So you could do a conference call with high quality stereo music demo section. That is for sure the feature I’ve been missing most from all of the different softwares I’ve had to use for various kinds of work that would have been face to face had it not been for present circumstances. Sonobus does not do any of the annoying stuff like trash your audio with rotten fft denoisers or mute other people when you are making sound. Sonobus is great, you would love it if you tried it. Here is a link to Sonobus on GitHub


Copy over SSH

I am spending a lot more time than usual configuring computers. The tendency has been mounting for a while, but I’d say that I am now thoroughly in it.

One little config annoyance that I fixed is copying from the pi over ssh to a mac. I need to write this down or else I’ll forget the particulars of it.

For me this was a tricky search. When I started working on this I could paste to the pi from my mac over ssh (absolutely essential for getting sat up, I would have lost my patience otherwise). I could also copy text that I had written on the command line from the pi back to my mac over ssh. This made it seem like everything was fine.

At first I couldn’t figure out why some of the time I would not be able to copy text back to my mac. I am in Nvim a lot so I don’t really think about it as this other place where other behaviors and rules apply. I would press y to yank text out of vim expecting to be able to press Cmd+c to paste it back on my mac. No go. I also tried using my trackpad to select text in vim on my mac which put me in insert mode because I have set mouse=a which enables using the trackpad in my init.vim. It then took me a while to try the same thing on the pi because I mistakenly thought that I would run into the same behaviour there. I guess I wasn’t really thinking. The pi is running arch headless so I did not put that trackpad enabling line in there. Regular old trackpad selected text can be copied out of vim on the pi using Cmd+c on the pi over ssh and then successfully pasted back onto a mac. I also found out how to override going into visual mode when selecting text with the trackpad if that trackpad enabling line is in there. Hold down alt while selecting. Try it.

Then I noticed an aesthetic irk. I felt like I was on a roll at this point so I decided to try to fix it. Trackpad selected text had an awful beige color to it. Contrastingly visual mode selected text was nice and white. The solution was to add selection_background #ffffff to my kitty.conf.

Here is a link to my updated dotfiles repo on github.



scnvim on rpi4

I bought the first ever pi back in 2012. I thought that maybe I could get SuperCollider running on it. I could not. Two things:

• Back in 2012 the hardware was not actually up to snuff.
• Back in them days I had no idea how to do that.

Fast forward to 2020 and the hardware is now at a place where it can do some real audio work. Also, I’ve made some new friends that have taught me a whole lot about configuring computers, so, I am at a better place for this task now.

I used Mads Kjeldgaard’s excellent Notes for setting up a Raspberry Pi 4 for audio work.

Also I had great support from Niklas Adam and David Granström.

I learned a bunch of new things in the process of setting this up. Proly the biggest thing was that using SSH from another computer is absoluteley key here. I also learned that ether media is a fickle thing and it really makes a huge difference to have the pi close to the router. I had what I felt were weird and inexplainable occurances of not being able to SSH in to the pi. A regular old wall was the culprit.

That is headless Raspbian Lite in the video above. Since then I got everything working on ArchLinux on another microSD card. It was way harder and I totally could never have gotten it to work without Niklas’s amazing work on the image I started out with.



I was getting unwanted chatter inside of my code as I was writing it in scnvim. It felt less than ideal.

I solved it by running this:

_ systemctl mask systemd-journald-audit.socket

I am fine with just allowing that to exist as something that does not suit my needs at present. I don’t have to know what it is or what it does on a deeper level. For right now I am lowering the strings so this guitar plays better in my hands.

Next I got case insensitivity in zsh to work. I go crazy without it. I read that there are fancier ways of doing this that catches more finegrained particular cases. I do not care. This solution reproduces what I am used to which is what I want. I put this in my zshrc:

zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'

and somewhere below that:

autoload -Uz compinit && compinit


40 percent ortho is the bees knees

It took a while but I think I have something I can use now. It is so, so cute. All the keys are lined up neat and I am getting better at remembering where things are in the different layers. It’s a fun kind of challenge. I am nowhere near actual real touch typing but certain things are getting done here and there without me looking at the keys. I use it at home now, like maybe how someone might do some crossword puzzles as a way of getting some cerebral exercise. I doubt I’ll ever use it at a gig. Workshop, maybe yes, I think so. I’m using cherry red switches with o-rings, so the typing is not extremely loud, but for sure louder than I would want to have at a gig. I mean if it was done in a very obviously intentional way, then you know, maybe. Something like two contact microphones, hard panned left and right in a huge PA [chuckles], that might could work. I mean there’d have to be a whole lot of something else going on also.


[undisclosed location]

I am now installed at [undisclosed location]. The space is amazing. As I write this I am sat at my new desk. I found out yesterday, from meeting an obviously crazy, but very nice neighbour in our apartment house (we are fortunate enough to be able to rent) garbageRoom freeShop that the type of wood in the desk, that I found there the day before is Teak and that Teak is a tropical hardwood. I can tell you that it is a very good, strong, sturdy desk. It is not too big. Definitely not imposing in any way. I’d say it is a modest desk. It has drawers that I have just started thinking of how to fill in the best way. The items in the drawers should serve me well and therefore need to be kept close by, but out of sight. The office has a window with a view. I have put up shelves upon which I can place items. Also I added another hook adjacent to the one that was already on the wall behind the door. I hang my jacket on one hook and my backPack on the other. I am contented. I have the feeling that I will be able to do more focused work here. It is quite a marvelous thing to witness. A whole other place, existing solely for this purpose, to give me the opportunity to focus my efforts.


One hour at EMS

I had what I felt was a contained scope for an idea to create a utility on the Buchla. I figured I could make impulse responses of the spectral processor. I used The Source of Uncertainty module. I always felt that was a fun name for a noise generator. Sure, it does a bunch of things, so I guess that’s why it has such a fun name. After the noise I used an envelope in the Quad Function Generator. I remembered that the toggle for just effecting amplitude is called gate, but then I ran into the trouble of the envelope times maxing out at ten seconds. I used to do the trick where I added an offset to the envelope times from the joystick on the module with the keys at the bottom, but that had been switched out now. I am fine with that and I knew that I had to use that control utility module, but I couldn’t remember how to use it to add voltage to get longer times out of the envelope. Daniel Araya reminded me how to do it and was very nice about it. Only had an hour for this and I think that I can use the material. Smash + grab.


Ställbergs Gruva is so dreamy

I was at Ställbergs Gruva for the first part of a two part residency. It was amazing and very intense, even though we said that we would not push it to the same level we did last year. Going in I had the idea to make materials. I also wanted to try to find a new way to connect to the place. I was guessing that would mean some kind of brushing up against the dreaded field recording bag. I ended up doing more of a reamping thing. I might have a recording of a freight train going by. I set it up and I think it went by but I don’t know if it will be audible. I found a metal box. It was a very good box. It was old. The metal was quite thin. It could rattle. That’s my thing that I like now; Introducing some kind of strange nonlinearity. Passing sound through physical objects or materials maybe is a more accurate description. The low bass from my transducer made the box and sometimes another metal sheet rattle with the microphones inside the lid of the box. All kinds of unfathomably complex acoustic phenomenon going on inside that box. Crazy Dave helped me out with a little snip that let’s me have a new kind of control over pitchbend. In the back of my mind somewhere there was the idea of how we make impulse responses. I did a bunch of takes where I very slowly bent some nice Tuba samples over an octave at increasing pitches slower and slower as I went up through the range of the tuba. I have a bunch of these tuba sweeps down through the nodes of that box at different speeds. The boundary between the technical and the artistic is now a semitransparent glistening. An imagined shimmering perhaps, inspiring none the less. I also met Hanna who is a graphic designer and a talented singer. She has a truly unique voice. Made a bunch of recordings of her singing beautifully in a low, almost Contralto range. Went through a list of phonemes. It is a very delicate material that feels very personal. Extremely generous of her to agree to be recorded in that way. A photograph can in no way steal a soul. I also shot from the hip and made a new FFT based snyth that can do a strange kind of Celestial mechanicsesque layered, instance-based “glissando” with crazy nonlinear bumps that seem to behave very differently depending on what has been happening recently. Feedback is so vast and I just keep feeling so inspired coming back to it. I don’t think that is ever going to change. I also recorded some Micro Modular patches through Maskinhallen. Put some doubled up glassed takes of the tuba glissandos through the room also. Oh and also a short realtime RM ebow electric guitar thing right at the end there. I was very sad to leave. Coming back home I felt lost. I eventually felt better messing around with a metal tray from the kitchen. Through that I found my way back to using tinfoil. Just like old times. Thinner metal is good with the transducer as it turns out. Making new takes of the FFT thing through the transducer on a double folded sheet of tinfoil, crumpled up just right around the edges so they make the most delicate rasping against the metal tray from the kitchen.


Out the door

I had a very strong experience listening to music and letting my mind drift yesterday. I was listening to an Earth, Wind & Fire track called Fantasy. Halfway way through the track there’s this amazing change. A little motif gets transposed around and that makes all of these amazing modulations possible. I started to daydream about playing that same song in an Earth Wind & Fire tribute band with all of the composition teachers I’ve ever had in all of my life. We had the full kit complete with the amazing clothes and we were really nailing it, together. Our voices rang as one. We were all right there together in the dream making it come true. What an amazingly lush and groovy music. I was really in it. All the way through in the daydream. First it made me laugh, and then it made me cry, because I haven’t always been entirely in agreement with all of the teachers I’ve ever had. How they have gone about trying to teach me to compose has sometimes created tensions between us. It felt amazing to be doing something together, all of us getting along, and really grooving out as one. I am supposed to be at the top of the ladder now. I dunno tho, I feel like I just got started, right at the edge of an infinite plain. I think my tripping out on that Earth, Wind & Fire fueled daydream so intensely might have something to do with my handing in what is supposed to be my final revision of my master thesis, and for that to now have been reviewed for my final grade yesterday. Might could be.


Polytempic piano flags etude

I was at the school feeling lost the other day so I sat down for a bit in an empty rehearsal room that had an old Steinway in it. The tuning was ok for the strings I used. Nothing spectacular though. I sat for a bit and spun up an idea. I recorded the stems I needed for a rough mockup. It’s that whole polytempic, rhythm as texture kind of thing again. Not sure at all if I’m going to be able to really use the idea. I figured it’s better to make it into a thing that can be heard. This way I can keep tabs on the idea of it more easily.


Ruins in the distance port

Thanks to David Granström’s enormous patience and tremendous skill, I am now able to move my longest running composition project to my very own site. It feels great to have this running finally. I’ve been dreaming about creating my own archive for this and other projects since the beginning. Especially with Ruins in the distance my work has been about iterative design. I regard each track as it’s own composition in earnest, while at the same time relating to the larger arc, which is formed by all of the pieces taken together as a whole. They reflect my interests at a given time. They document my place in an ongoing exploration of a framework. My site is now the place to go for anyone wanting to keep tabs on further development of this particular project and other endeavours. This is part of an ongoing effort to steer away from dependence on commercial platforms and to begin to dismantle my presence on the commercial internet.


TFW you academia

I may not be utilizing my current situation to the fullest extent. There is an opportunity here. I could come out of this one of an infinite number of ways. There are tools at my disposal. However brief I have some moments of clarity. I may be on the verge of finding my voice. This has, of course, always been true. I’m in a constant flux between faking it and feeling it, always. Never arriving. Kept at an unknowable distance from my destination. The task is not important really. The only thing that truly matters is cultivating drive. Purpose is scarce in life. For me to even sense it, however faint of a glimmering, I’m grateful for the opportunity. I want to go along with the hunch that something is calling, right at the edge of what can be dreamt. A chance to fool myself into surviving. That’s the thing. Why everything is the way it is with me. My position on the quality of my work wavers a lot. Doubt is a big part of my wiring. I try things out, see how they go. My thinking about strategies for not getting stuck are mostly based on cautionary tales. They are for sure misunderstandings about how stuff works. How people are, and what they felt, I have no idea about. I have the tiniest little window through which I can catch maybe a glimpse. That glimpse then gets thrown around, inside my experiences and matched up roughly to something I think I can relate to. Then my own narrative takes over. It’s just me in here. I’m alone with my thoughts. Just like everyone else.


What we wish were true

• Portability
• Transparency
• Simplicity
• Affordability

I am afforded some discretionary time. I would like to spend it making music. Computers fascinate me. They allow me a degree of control while engaged in the task of organizing sound. I would like to have more control so I am always configuring my computer. Even though a lot has changed about the way I’ve made music over the years I find it easy to recognize myself in what I hear still.

.wav files

I make files. For the longest time, I’ve been making .wav files. Ever since the beginning. I would like for that to change now. I am constantly being redrawn into the dream of creating a new kind of file. A new file format, with entirely new capabilities, enabling new modes of expression for a new kind of artist working with code to interface with sound.

.tau files

A terminal session and an audio stream in sample accurate sync would really be something useful for a lot of folks I’d argue. To quickly get a feel for what I’m on about here check out this site that Sam Keating-Fry made for Renick Bell’s Empty Lake release on UIQ. Ideally I’d like for there to be a CLI application running in a terminal on a computer playing the .tau file. As we’ve seen on the site that Sam made; A terminal is not constrained to running locally on your machine. It can also live in the browser. Everyone has a browser right? This extends portability tremendously.

Let’s skip ahead to where some kid is watching and listening to a .tau file being played in a terminal held within a browser. Vis has no idea what it is or how it works. Just stumbled on it haphazardly somehow wading through the wreckage of The Public Internet. The file can be paused like a video file. When paused the text in the player can be copied. This is a fundamental difference. The viewer is immediately invited to copy and to build upon the material being presented. This leads expectations away from code being presented for cosmetic purposes towards transparency.

I am now looking at termtosvg and the possibility of putting audio inside a .svg file.