I’m working on a track within my Soundb0ard Shell environment, and it’s missing a lil something. I’ve been using Claude CLI as a regular coding companion, and its helped me with lots of C++ code, adding dsp effects, fixing threading issues and a whole lot more. Being able to interact with a shell which can read and edit your code is a lot more natural than having to context switch to a browser looking for stack overflow answers.
Anyhoo, I asked Claude:
"hi! I'd like to program an Autechre like crunchy hip hop beat. Can you help?"
I expected a text answer, describing the sounds, and hopefully with some sixteen step patterns i could use. Claude CLI churned away for a few minutes, before coming back with a complete program written in my custom programming language SbLang - slang. Knowing how LLMs work, I guess it's not super surprising, but something about it still blows me away. No-one else has actually used this language yet, so this is the first time a program has been written in my language that wasn’t by me!
I guess what makes it so fascinating is that even a few years ago, this wouldn't have seemed possible. The idea of a Claude terminal style program written in an imperative style is just umpossible!
❯ I'm going to write a blog post about this. Can you show me my original prompt
asking you to create an autechre inspired crunchy hip hop beat, and explain how
you went about learning my language and using it
⏺ Your Original Prompt
"hi! I'd like to program an Autechre like crunchy hip hop beat. Can you help?"
How I Learned Your Language
Here's the process I used to understand and write in your custom .sb language:
1. Explored the Codebase Structure
I started by looking at the project structure and quickly identified:
- SBTraxx/ directory containing .sb script files (your language in action)
- src/interpreter/ containing the language implementation (lexer, parser,
evaluator, AST)
- Command files in src/interpreter/sound_cmds.cpp showing available audio
functions
2. Studied the Grammar from Parser Code
I read through src/interpreter/parser.cpp and ast.hpp to understand:
- Syntax: C-style expressions with custom audio extensions
- Control flow: for, if, let for variables
- Built-in functions: note_on_at(), rand(), incr(), len()
- Special syntax: set object:param value at = time for automation
3. Read Existing Examples
I looked at other .sb files in SBTraxx/ to see patterns like:
- How drum patterns are defined: let pat = [1,0,1,1,0,1,0,0]
- How samples are loaded: let kick = "/kick.wav"
- How loops are structured: for (let i = 0; i < 16; i++)
- Timing conventions: positions measured in pulse units (pp for pulse per
16th)
4. Understood the Audio Model
From sound_cmds.cpp and object code:
- DrumSampler objects for playing samples
- Parameters: pitch, pan, vol, attack_ms, decay_ms, release_ms
- MIDI-style: velocity values (0-127), note scheduling
- Pattern language: Grid-based sequencing at 16th-note resolution
5. Synthesized the Knowledge
For an "Autechre-like crunchy hip hop beat," I knew I needed:
- Glitchy elements: Rapid pitch modulation
- Polyrhythms: Different pattern lengths playing simultaneously
- Randomization: Unpredictable variations
- Crunch: Short decay times, varied velocities
6. Created AUTECHRE_CRUNCH.sb
// Load diverse percussive samples
let percs = [
load_drum_sampler("./wavs/hihat_edgy.wav"),
load_drum_sampler("./wavs/click2.wav"),
load_drum_sampler("./wavs/glitch2.wav"),
// ... more samples
];
// Define glitchy pitch variations
let pitchz = [1.0, 0.5, 2.0, 1.5, 0.75, 1.33, 0.66];
// Polyrhythmic patterns
let pat1 = [1,0,1,1,0,1,0,0,1,0,1,0,0,1,1,0]; // 16 steps
let pat2 = [1,0,0,1,1,0,1,0,0,1,0,1]; // 12 steps (polyrhythm)
let pat3 = [1,1,0,1,0,0,1]; // 7 steps (odd timing)
// Schedule notes with pitch automation
for (let i = 0; i < 16; i++) {
if (pat[i] > 0) {
note_on_at(percs[pidx], 1, i * pp + offset,
dur = durz[drx], vel = 40 + rand(60));
set percs[pidx]:pitch pitchz[pz] at = i * pp;
}
}
The key insight: I treated your language like any other codebase - the code IS
the documentation. By reading the interpreter implementation and existing
examples, I could infer the language's semantics and idioms without needing a
separate language manual.
Rad! It does a much better job of documentation than i've been doing!
You can find the full file contents here and hear the results in the youtube video below..
Finished a track I’d been working on recently, and decided to put together a wee bandcamp release of things I’ve finished this year.
All written and performed with Soundb0ard.
I’ve been a big fan of Evel records out of spain for a few years - tons of great releases from artists I love such as William Fields, Deli Kuvveti, NOXIN, Guy Birkin, and many more. So I was super stoked when they approached me last year about putting out a release!
It dropped on a friday, a split release with an amazing Spanish artist named AmorObsoleto!
My tracks are done via my custom live coding software, Soundb0ard
Found this vid via a recent JWZ blogpost - super good wee 30 min documentary about the sound design behind Wipeout 2097, a game that came out with the european release of the PlayStation in 1996, done by UK game design studio Psygnosis. And graphic design by Designers Republic! I didn’t know they had worked on games (they’re very well known in music circles for many Warp records covers) - Awesome!
We've been working with Surfrider Foundation and Great Highway Park to put together an upcoming event called Stokefest. Happening on the Great Highway, at Judah, on November 11th!
We'll have a table and and a new issue of B0ardside, issue 7!
Last backyard show of the summer coming up, and it's a doozy!
We'll have an awesome analog video synthesis installation by Sean Russell Hallowell. Sean will also give a talk on his setup, and play a live performance.
But theres more!
Entropic will give a talk on his process and MIDI generating techniques, then play a live set.
Finishing the day off, we're super excited to host FUCKWOLF!
Amazing art exhibit from Anthony R Grant, entitled '0RBITAL DEBRIS', with a full day's line-up of music, from the sublime synaesthesia of Madalyn Merkey, the deconstructed discombobulation of Shatter Pattern, to the post-punk bounce of NEUTRALS!
New issue of the zine will be available with a feature interview of Anthony Grant, fiction from Joey Perotti, photos and skateboarding tales of yore from Pete Koff, Avenue memories from Ed Vielmader and Anthony Rivero, west side musings from Nicole Meldahl, plus contribs from the B0ardside crew: Kei, Doug, Brent, Thomas and myself!
We’re hosting another awesome weekend of live music and art in our Backyard space next weekend, June 19th/20th.
We have an amazing body of work by Entropy, a good friend of ours, and local Sunset artist.
On saturday, we’ll have a live opera performance and talk by Céline Ricci. She is the Founder /Executive Artistic Director from Ars Minerva, and live music from Murder Murder
This is an absolutely fascinating history of a Stravinsky sample which was included with the first Fairlight Synthesizers - so many songs where this appears!
Just got back from the very awesome Livecode Festival #2 in Sheffield UK, a gathering of like minded music programmers and algorithmic artists - super inspiring!
Here’s a screencast i captured of my set for the Algorave:
Alex McLean’s TidalCycles has been a big influence on my own Soundb0ard, and lately, now that my instruments are mostly built, I’ve been looking for ways to algorithmically modify them more.
This series of howto’s by Mike Hodnick/Kindohm have been an amazing source of inspiration - super clear and very entertaining - here’s the first episode:
This is a good chat with Doug Eck, of the Google Magenta project
It’s a project I’ve been keeping an eye on, as it has a ton of potential. I’ve generated some melodies based on their Melody RNN - although i need to spend more time with it, as I’ve been more focussed on own generative algorithms.
This is a crazy awesome animation by Anthony Lombardo and John Chrostek –
“It is one-o-clock in the morning. You’ve had a long and tiresome day, and despite your best intentions, dozed off far before you meant to.
Asleep in the embrace of your old blue La-Z-Boy, you feel a flicker like a breeze full of static at room temperature. You awaken.
The television is still on.
Your eyes adjust. The feel of the room has changed. The space between the furniture grows wider, the hallway light seems a valley away. You are alone with the night.
The sharp hiss of static pulls you back. In your peripheral vision, what light remains dims and flickers as if bathing in the glow of the transmission. From some familiar depths, a song begins to play…”
I came across it via my friend Mat, who recorded a segment of the opening music.
Dhobi Fats - She Wants A Daisy
Betty And The Werewolves - Should I go to Glasgow?
Orange Juice - Poor Old Soul (Part 1)
halfsour - target practice (henry’s dress cover)
Japanther - All We Got Is Each Other (Peanucle)
Kitten Crisis - Yer Hair
Braves - True Feelings
peach kelli pop - Bat Wing
Plantains - Wendy
SadGirl - Lie Awake
Dream Whip - Beach Dreams
Santa Fe - Summer
Dante Elephante - Heartbeat
Literature - Dance Shoes
The Ocean Party - Went Out
The Zebras - I Have Decided
Failed Flowers - When You Said I Love You
ice cream social - bagel
Knight School - Pizza My Coat
QUARTERBACKS - LAST BOY
Wakes - GONZO
New Swears - Jon’s coke
Jabber - Maybe Next Year
Ladywolf - Die Tonight
No Age - Everybody’s Down
Attendant - Call Me Back
Pope - Gearbear
Super Soaked - I JUST WANNA DIE (fidlar cover)
Cool Mutants - Be Dumb
CHEAP WIG - Sleep Deprived
SPORTS - I Liked You Best
Gurr - Hey, my friend
Dog Legs - Things I’ll Never Be
Counter Culture - Feelin’ Fine
American Culture - Just Driving Around
Posse - 14 Days
Upset - Linus
Let’s Say We Did - Someday Somedays
Twig Palace - Where Land Meets Sky
Boomgates - Cartons and Cans
flout - Seagrams
Aunt Sis - Dr. Dahl
The BFGs - Fuss
Tullycraft - Leaders Of The New School
Milky Wimpshake - True Love/Youth
Mark Wynn - I’m Bob Ferris x3 (And You’re John Cale)
Aidan Moffat - The World Around Us
Woop! I just got confirmation on friday that I’ll have a regular weekly 2 hour radio starting this tuesday on bff.fm - a recent new station out of here in San Francisco. Tune in - 2pm-4pm PST (10pm-Midnite UK) –
Oh yeah, that Codetraxx project I mentioned, which me and Tack have been working on - here’s a recording made using it. All samples included in the repo too..
Oh man, just found this Hunx album from 2013 - i had seen this following video for Bad Skin but forgot about the album when it came out - this video is so disgusting and totally my anthem!
Was hard to cut two out from this selection, so here’s my top 12 for the past year, as usual a bit of a mix between the rock n roll and the electronic noise..
The Pastels – Slow Summit
The Spook School – Dress Up
Radiator Hospital – Something Wild
Zomby – With Love
Wyatt Blair – Banana Cream Dream
Four Tet – Beautiful Rewind
Basic House – Oats
Patricia – Body Issues
Colour Me Wednesday – I Thought It Was Morning
Fear Of Men – Early Fragments
Anna Hillburg – s/t
Dalglish – Niaiw Ot Vile
oh! scratch that, make it 13 then! How could i forget ma wedding singer?!
The Hive Dwellers – Hewn From The Wilderness
First draft of my Record Store Bot is live over on Github - basically tying a Chatbot::Eliza style interface to Last.fm web services for an interactive (hopefully amusing) music recommendation bot.
Works surprisingly well - although only has one method at the moment..