Overview

Punctual is a live coding platform that runs in your browser and handles both audio and visuals. The creator says it was inspired by a way of using SuperCollider called JITLib, but uses a newer and more economical notation. Because it is browser-based, you do not need to install anything, which makes it much more accessible to start experimenting and learning. David Ogborn, the creator, also provides tutorials and guides on YouTube, which make it easier to understand and explore the platform.

Wider Context

Punctual is really accessible because it runs straight in a web browser, so you don’t have to deal with complicated setups like installing SuperCollider or Hydra. The documentation is actually a great starting point; you can take the example code, run it, and see how every parameter affects both the sound and the visuals. This makes it easier to understand what each function does before you start making your own pieces. That’s important because tools that require lots of setup can feel intimidating, but with Punctual, the barrier is lower, which makes live coding feel more approachable and encourages experimentation.

How it Works (+ My Observations)

One thing to note is that there’s no scrolling feature; you have to move the cursor with the arrow keys if your code gets long. Unlike Hydra, where Shift+Enter runs just the current line, in Punctual, Shift+Enter seems to reevaluate all the code in the editor, which is convenient but can feel a bit limiting for live coding because you can’t isolate just one line. Still, the documentation and tutorials are super helpful, you can paste a line, run it, then add another line and run again, and you get a sense of how each parameter affects the audio and visuals as the code is reprocessed.

My Code

osc 440 * lftri 3 * 0.7 >>audio;
[unipolar (1 - sqrt(fx*fx + fy*fy)/0.5) * 0.7, 0, 0]>> add;

saw 33 * 0.25 >> audio;
[unipolar (0.05 / (sqrt(fx*fx + fy*fy) + 0.01)), 0, 0] >>add;

osc [220, 261, 311] * 1.1 >>audio;
[unipolar (lftri 5 * (sin(fx*10)sin(fy*10))), 0, 0] >> add;

osc [330, 440, 523] * lftri 5 * 0.6 >>audio;
[unipolar (lftri 5 * fx * 5), 0, unipolar (lftri 5 * fy * 5)] >> add;

lpf 120 1 (saw 55) * lftri 0.15 >>audio;
[unipolar (0.5 - abs(sqrt(fx*fx + fy*fy) - 0.3)), 0, 0]>> add;

osc [196, 220, 233] * 1.05 >>audio;
[unipolar (lftri 4 * lftri 3 * 0.35), 0, 0]>> add;

osc 110 * lftri 1.5 * 0.5 >>audio;
[unipolar (lftri 1.5 * 0.5), 0, unipolar (lftri 0.7 * 0.3)] >>add;

osc 87 * 0.3 >> audio;
[unipolar (0.6 - sqrt(fx*fx + fy*fy)), 0, 0]>>add;

Video Demo:

https://drive.google.com/file/d/1RrrvHwDGgeVrWRvA2tjVaBR-KlmWS0Cg/view?usp=drive_link

With the very limited experience I have in making music, this reading made me reflect on a short composition I did for another class called Music Devices. We had to create a piece in Ableton Live, and since I don’t really know music theory, my process was mostly trial and error, trying different sounds and instruments until something sounded decent. Even though the final result wasn’t “bad,” it didn’t really evoke much emotion for me. I feel like this may be the lack of embodiment that the reading was talking about. 

The discussion of African and African-American groove-based music helped me think differently about why some music feels more alive to me than others. I listen to a lot of Afrobeat, and this reading made me more aware of how repetition, rhythm, and subtle timing shifts contribute to its energy and emotional impact. It made me realize that what I often respond to in music might not be complexity or melody, but the sense of feel created through timing. I think the reading will mostly change how I listen to music, making me more attentive to small rhythmic details I previously took for granted.

This reading made me reconsider what I thought live coding was, in the sense that I may have understood it in a more traditional sense, computing-wise. For example, I would liken it to an interactive DJ set, but after the reading, I’m not sure I would still describe it like that. I feel like every time I tell someone I’m taking this class and they ask me to explain what it is, I come up empty, so this really helps kind of clear the air. I was also really intrigued by the mention of the political angle, and how showing the screen and the code you go against what Big Tech essentially wants, which is to make the computers feel invisible so our interactions with them are “seemingly natural”.