Syntə RSS repo @m
bandcamp
say hi!
back

22/04/2026

rail_service

I recently uploaded a new demo to the Foam Energy artists collective (definitely not a record label).
So I thought I’d take the opportunity to share some details and code, as others have done.
Although a huge chunk of Syntə code that I’ve written is published in the repo, its a bit buried and with no explanation of what it does and how it is possibly broken :)

The demo can be listened to here

This track started out as an exploration in warm pads, which is one of my favourite things to do.
I started with the jpls function (short for juno pulse which is always awesome for grainy pwm goodness - once I’d remembered that the argument needs to be less than 1 for it to make a sound. That’s a bit counter-intuitive, I admit - who designed this thing?! lmao
In my defence, you can now type doc <name of function or operator> and the info.txt file will tell you about it. This is a so far undocumented feature, cos it’s new and I’ve been busy. Like all the best features it was easy to implement and for a tiny change incredibly useful.

chords

naturally, I started with a minor seventh chord because they’re lovely. My friend had told me that Boards of Canada use suspended chords which it turns out just means making the second note lower so I tried that too. Sounded nice. Then added two square wave lfos to switch two of the notes of the chord up and down by a fourth (1.333) and a fifth (1.5) respectively and that was cool too.
If anyone wants to acuse me of ripping off BoC then absolutely go ahead - they’re a great source of emotional inspo!
I also added a bit of detune by slightly dropping a couple of the frequency multipliers and some ‘analogue drift’ with some heavily filtered white noise.
One other thing to note is that someone said yesterday in a podcast that they believe 111hz alters your brain state in some way, so I thought that would be fun to try hehe. Although looking at the code now, that exact frequency never made it into the recording oops.

next

I added some swirly lfos to the pwm (pulse width modulation) and filtering (using svf)
in between the filters I added tnh for some additional grunge. I had forgotten that underlying this is a broken ADAA function hehe. As I noted in the london live coding discord:

I have a comical oopsie to share - my fancy new ADAA constructors - completely forgot they would share state across the sound engine loool. This is like a guitar pedal that the whole band is plugged into lol.
Lesson for today - never try anything fancy 🤣
I mean, its a kinda cool effect but had me scratching my head for a while ha.
It’s not hard to fix, in principle. I might rewrite in syntelang itself as opposed to writing them directly into the sound engine (using Go)
Or maybe keep them as an oddity : )

phone home

like a lazy bum I was doing this on my phone at home in an idle moment. There was some old code in the .temp directory (folder) - I was about to overwrite it when I thought - I wonder what would happen if I load this as it is? It looked like some kind of bassline - I loaded it by typing r 1 (short for reload 1) - and it sounded great!
Happy accidents, love ’em!

broken record

because I’m way behind on recording several tracks I thought it would be best to record this now and get it out of the way. The track has potential to be developed further, but I quite like it as it is too :)

I’m on my lunchbreak so might come back to this later…

oh and by the way here’s the code:
(I might add some explanation of how it works when I have time)

osc
tri
oct 2,222hz
out f
in 7s
osc
tri
mul 0.5
out pw
in 1
noise
lpf 5s
+ 1
mul 222hz
jpls pw
out m
in 16s
sq
one2 4/3
mul 111*1.125hz
mul 2
jpls pw
out+ m
in 1
noise
lpf 5s
+ 1
mul 111*1.49hz
mul 2
jpls pw
out+ m
in 25s
sq
one2 1.5
mul 111*1.19hz
jpls pw
+ m
hpf 100hz
ADAApow
svf f,1
tnh
svf f,1
chorI
mix

during recording I added in 0, rvrb 0.91 before mix to make an ending.

the bass is here:

/e b,8,0.25
lt 0.5
dirac
decay 650ms
up 25ms
out vca
in tempo
/ 4*4
pulse 3/4
push
range 2.75,3
out b
pop
one2 1.5
mul 110/1.5hz
sino
mul 1.0
tnh
mul vca
mul 3
tnh
mix
↑ top