The human ear

When you jam in pastagang, things are often asymmetrical. What this means is: What you experience / how you experience the jam is very different from how someone else experiences the jam. That’s why it’s so important to “do it”. Let’s start with the basics.


Time

Nothing is in sync. Everyone is at a different point in the cycle. You hear the beginning of the bar at a different time to me. This is because your cycle is based off of when you first hit run after loading the page.

And even if you manage to somehow time it right by chance, you’re still on a different cycle number, so things with <angle brackets> time differently for you compared to someone else’s computer. Nothing is in sync.

And EVEN if you manage to somehow manually sync your laptops to start running at the same time (by taking into account the latency you experience to and from each other) then you’ll STILL end up out of time because individual strudel sessions start to slip and slide out of time from each other. I know this because we tried it.


Are we in sync?

So… for a period of time, pastagang tried to figure out how to get all laptops around the world to stay in sync (give or take).

It was very hard.

But we did it! Initial solutions involved ‘agreeing’ on a time in history when the first cycle happened. This was decided as the “beginning of every nudel day” (every 25 hours). All cycles continued on from that point. But… the only trouble is: How long is a cycle? During that time, anyone could have changed the cpm (cycles per minute) to anything and back again, and you wouldn’t know. So… which cycle number are you actually on? You’d need to store some state on a server to track this, and nudel only stores state offline. It’s all peer-to-peer.

So another solution was used: Any time you change the cpm, we recalculate the current cycle number as if you had been on that cpm all day. That way, you don’t need to store any state. It fixes the problem and everyone can be in sync (right?). The only downside is that you get a jarring discontinuous effect any time you change cpm instead of the smooth transition you normally get in strudel.

And besides, it does nothing to address time slipping. Your laptop goes in sync when you load the page, but after a few minutes of jamming, you’ll be out of time.


Still, it was fun to do some in-person jams with the pseudo-syncing in-place! Like the London algorave’s jam room. It was especially cool seeing synchronised visuals across a collection of laptops (we turned on syncing for hydra too).

And when we didn’t have big speakers, we— Normally, when you’re jamming in-person, it used to be standard practice for one person to have their volume turned up and everyone else stays muted. That way, you can hear the music properly. It doesn’t get messy. But with the newfound syncing technology, we could all turn up our speakers at the same time, and make a [mini automatic laptop orchestra!




Time passed, and people grew used to the jarring time shifts every time you changed the cpm. We thought it was worth it for the imperfect symmetry it caused.

But… every now and then, people missed the smooth speed changes you could do before we turned it on. Sometimes you’d watch an old pastagang set and spot how special it sounds when the tempo changes on the fly without a restart. And besides, the audio syncing wasn’t even good enough for us to be able to rely on it! Because of latency and slipping, it often failed. “Maybe” being able to rely on something is the same as not being able to rely on it.

In the worst cases, the audio syncing actually exacerbated the problem. When you’re playing audio out of two laptops that are next to each other in physical space, being “almost in time with each other but not” is somehow more painful than being completely out of sync.

So the puzzle continued.


The human ear

Many of us pastagangers had the privilege of attending ICLC in Barcelona back in May 2025. It’s a conference and festival completely dedicated to live coding. and yeah it was great speaking to so many other live coders and learning from them! including the OGs!

Luckily, I got talking to Alberto from Powerbooks Unplugged. It was really cool hearing about their group. They used to setup laptops throughout the crowd and the audio played out their laptop speakers (instead of needing to come out of a big primary speaker system). and this was cool to hear, especially because this was similar to what pastagang was becoming, with different performers and their laptops distributed around the room.

So of course! I had to ask! I asked how they got the different laptops to synchronize with each other. And I explained how we were having so much trouble figuring it out and stuff and Alberto let out a warm giggle. Then he said:

We left that to the human ear.




back to the blog