I was recently invited to perform at the Contrasts festival in Lviv. Published the recording (not much livecoding this time though):


Asked a question on the forum: scsynth.org/t/nodeproxy-map-an

If you have any thoughts, I'd be thankful if you share (here is okay too).

A little success story. I needed a simple web service that would send an OSC message to according to a data file on a GET request, and then render a web page with that data as well.

It turned out very simple to write and deploy in a tight schedule. The Racket web server can also handle static files so I just port forward all requests from nginx over ssh to the machine where the audio installation is running.

Very happy.

It just occurred to me that learning to program in was a good thing not only for me as a musician, but also as a programmer.

It is actually in SuperCollider where I think I have first learned some functional(ish) programming idioms (like map, filter, non-index-based iteration). And the level of expressiveness of the language made me look for similar non-imperative idioms in other languages.

I haven't looked at yet (which SC is inspired by), curious about it.

Okay, so Tone.js seems to offer what I need - a way to route the signals however I want plus objects for math operations and useful abstractions (as well as the very convenient LFO node with range arguments.)

Feels close enough to in fact.


Show thread

The youtube stream from my performance yesterday didn't work out very well, but I have published the original stream as I have recorded locally:


Today I will be performing live from Lem Station in Lviv, 16:30 UTC / 18:30 local time; the performance is based on the acoustic environment of an underground sewer tunnel located right below where I will be located.

It is going to be streamed on the Lem Station YT channel:

It's good to know that in this fat synth sound:


The reverb plugin does like 75% of the sound:

...including pitch shifting polyphony etc.

I don't feel that dumb anymore with my primitive oscillators :)

Noticed a new release (3.11).

One thing that caught my eye is an ability to synchronize with Ableton - I'm not using Ableton, but if playing in a group with someone who does, that might be useful.

I’m very happy to have participated in the amazing Eulerroom Equinox 2020 - an all-online four-day festival. Here's the recording of my performance, an improvised drone/ambient piece.

www: ጮ.cc/2020/03/22/live-at-eulerr
onion: 57f23hcybjqj4ime.onion/2020/03

A nice way to combine patterns with NodeProxies when livecoding is to use the \set NodeProxy role, like this (provided you have a ProxySpace activated):

~snd[0] = { SinOsc.ar(\freq.kr); }
~snd[1] = \set -> Pbind(\degree, ..., \dur, ...);

It allows attaching a Pbind to a NodeProxy to steer its controls. How didn't I pay attention to this before?



Playing a bit with developing little language learning games in . It turns out refreshingly easy to do these simple GUIs, and the bundled smiley faces in pict/face make it even simpler:)

I don't yet understand though how to manage state in GUIs without imperatively mutating variables. Ideally I would use something like a Python generator or Task to store and advance the current challenge, but I'm too new to Racket to figure out how to do it. Any hints?

La Quadrature du Net - Mastodon - Media Fédéré

Mamot.fr est une serveur Mastodon francophone, géré par La Quadrature du Net.