Rawer

Nearby

Postcraft Update

Postcraft Update

This is a test.

Rather wonderfully both Codex and Claude have a decent grip on how Transmissions, my pipeliney thing, works. I'm not entirely sure what's being used under the hood, but I did get Claude to create a Skill for creating Transmissions (what I call my pipelines). Claude was then able to build me a feed aggregator using Transmissions as the engine.

I've been using Transmissions-based apps for publishing my blog content for a while now. The source content I write as markdown files in my local filesystem. One app pushes this content off to a remote SPARQL store (Fuseki on my server), another app renders the content as HTML, yet another creates the index pages.

This works ok but an outstanding issue was that each time I ran these apps, every single blog post was processed again. So I just got Codex to modify the pipelines to keep a note of changes. It chose to use a local JSON file for keeping the cache info, which is fine by me. Everything looks like it still functions ok. My tests are a bit haphazard, the best test is to run the thing. For which I need a new blog post. So,

This is a test.

Postcraft Update

P-Mix

P-Mix

P-Mix is an lv2 plugin that acts kinda like an autonomous DJ. It fades/cuts tracks in a DAW in & out.

Recently I've had quite a good workflow going on in the music room. A lot of experimentation with modular etc, building up tunes. I've got quite systematic about the process for mixing & mastering. I've stuck a few quasi-finished pieces on YouTube (search query "Spike & Wave hyperdata"). But I've got loads of material stuck at a certain point between the build up of layers and the final mix. Typically 8+ tracks, some of them loops, some of them changing over time. But all there in parallel, by default on all the time. Things need to come in and out.

What's really frustrating is that the stage after this, putting icing on things, an effect here and there, novel sample or whatever, is good fun. I just tend to get stuck at this just-beyond-loops phase. Doing this part of the mixing takes ages, and because you're going over the same material over & over again it gets tiring and your judgement quickly goes downhill. Like it's pretty easy to decide on an intro, the first 20 seconds or so of a piece. Then it starts to become a chore and you lose engagement. Ok, I've been attempting to get around this by breaking it up into short sessions, do a bit at a time. But still, the brain fog from repitition descends pretty quickly.

Then it occurred to me - automate it!

I've been doing loads of coding with Claude & Codex AI assistants, including a bunch of (mostly unfinished) lv2 plugins. So I'd got the infrastructure in place - ie. basically workinig example code which the AI can use for reference. Which is fortunate, seeing as I'm really lousy at C/C++. It pleases me immensely that lv2s use Turtle syntax RDF (semweb ftw!).

Here I set a bunch of 8 or so parallel tracks in a loop with the plugin on each of them, and had a play with the modular while it did its thing : Live from the music room


P-Mix : a probabilistic mixer lv2

P-Mix is a very simple lv2 plugin that acts kinda like an autonomous DJ. It fades/cuts audio tracks in a DAW in & out. For when you get stuck with a loop.

Here I set a bunch of 8 or so parallel tracks in a loop with the plugin on each of them, and had a play with the modular while it did its thing.

(There are a bunch of other toys in the repo, various levels of unfinishedness)

P-Mix

Vibe Coding Synths

Vibe Coding Synths

Andrej Karpathy came up with the term Vibe Coding to describe writing software by giving AI assistants control of the detail of the code, the programmer only works at the level of text description.

As a mediocre programmer, I find this appealing. (I do have decades of experience to offset the mediocrity).

I've spent a lot of time over the past couple of years using AI assistants to help me with Semantic Web/AI projects. This has been quite the learning experience... I haven't been fully vibe coding - I have gone hands-on with the code quite a lot. But I've been using Node.js, which I'm reasonably familiar with, and I'm reasonably comfortable with the domain. Overall I've found the approach very productive.

So I decided to see how far I could get with synth building, using a similar approach. I'm fairly lousy with the necessary languages, but by adopting a mostly-vibe approach, I've got all the way. I've made sound generators/processors in the following formats:

  1. In-browser Javascript
  2. lv2 plugins (the Linux user's VSTs)
  3. Native Linux - including Raspberry Pi
  4. Embedded - targeting Daisy Seed (with an ESP32 design in-progress)

That's an ordered list for a reason. While the earlier items are (kinda) complete standalone projects, they've also acted as prototypes for the designs later in the list.

Browser-based Synths

Vibe Coding Synths

Birthday Module

Birthday Module

It's my birthday the day after tomorrow. My current thing is modular synthesis, so my present to myself has to be a new module. But modules typically cost €€€s and right now I need to economise, until I find some more work. However I have plans.

Oops! New PCBs arrived for Plan A so I ended up working on them and the software.

Plan A

A few months ago I got a little obsessed with physical modelling synthesis. As a starting point I was curious about how one might get a realistic clarinet sound this way. I had a go in software with limited success. And I promptly slipped down the rabbithole of experimenting with synth code (aided by AI assistants).

What I really wanted was this in hardware, in my modular rack. But looking around the available modules, none really fitted the bill (at a sane price). So I started looking how best to do it myself. I settled on having a go with a design I found online that uses a Daisy Seed. It's a PCB module with a fast processor and quality audio rate ADCs/DACs built in.

Plan B

ESP32 module on stripboard - in progress

Plan C

Cheapo sequential switch module. Arrived and added to rack.

I had the hardware for 2 modules for Plan A, and they worked! Now in rack. Actually made 3 sets of software, I need to buy some more components...

Birthday Module