Goodbye ChucK; hello straight C with JACK

May 1st, 2010
looper, music, tech
The chuck-using looper software was being too annoying. I couldn't figure out why latency was being slightly off and variable between runs, I couldn't figure out how to get it to run realtime, and chuck kept crashing when I went to record long loops, giving:
subgraph starting at RtApiJack timed out (subgraph_wait_fd=9, status = 0, state = Running, pollret = 0 revents = 0x0)
I decided to have a look at writing this in straight C against the JACK api. Which seems to have worked quite well. It wasn't that much work, and now I know exactly what's going on. Chuck was good for prototyping, and really easy to get started with, but I have a lot more trust in this new version. One downside is that unless OSX has /dev/input/mouse then this is linux only. Which is sad. If there's an easy fast way to get mouse events on OSX I could add it.

So. This requires at leas the following:

$ sudo apt-get install jackd libjack-dev
$ gcc -std=c99 -o looper_sync -ljack -lpthread -lrt looper_sync.c
$ sudo chmod ugo+r /dev/input/mouse*
$ jackd -d alsa -p 256 &
$ ./looper_sync
Unfortunately, while I was testing this one last time before writing it up, I managed to get the exact same "subgraph timed out" error in the C version that I'd gotten in the chuck version. I don't get it as easily in the new version; sometimes I can record three full length loops and not get it. Perhaps, though, this error means I'm trying to do too much work on one processing cycle? I need to look at it more. On my desktop it runs great, so I'm thinking it has to do with the eeepc being substantially less powerful.
Referenced in: Markov Me

Comment via: facebook, substack

Recent posts on blogs I like:

Effective altruism and PR

I. The “effective altruists should be more concerned about PR” brigade has been out in full force on X recently.

via Thing of Things October 8, 2026

There's no point at which turning your brain off will work

In early 2025, I started seeing people turn off their brain as they use LLMs1. They would have an LLM take an action (summarize text, write some code, etc.), and just assume that it worked2. This generally didn't work in early 2025 and the result was …

via Posts on September 18, 2026

My Weirdy Creatures

Over the last few days, I've been working on some little creatres. But they're very weird. I call them "weirdy creatures". I've made quite a lot of them, I think maybe 5-6, not sure. Weirdy Predator This is a weirdy predator. They'…

via Anna Wise's Blog Posts September 13, 2026

more     (via openring)