What is Rhythmic Catches?

Rhythmic Catches (RC) is a notation language for juggling patterns, designed by Daniel Simu. It uses numbers and characters to describe how props move over time, beat by beat - and that description can be converted straight into a table or a ladder diagram, showing the exact same pattern two different ways. This page walks through the notation from scratch, with live examples (the same table/ladder/ animation you'll see in the Explorer) instead of just prose. It's based on the original source article, reorganized and reworded for a first read - if anything here ever seems to disagree with that article, trust the article.

The core idea: catches, not throws

Most juggling notations (like siteswap) count beats from when a ball is thrown. RC counts from when it's caught - that's the "rhythmic catches" in the name. Every beat is a moment when catches happen, and a number tells you how many beats forward from that catch to look for where the ball lands next.

Concretely: RC is a table. Each row is one beat. Each column is a hand (later, a body part). A number in a cell means "the ball caught here is thrown again, and lands N beats from now." The pattern repeats forever, so the table wraps around - the beat after the last row is the first row again.

The simplest possible pattern is a single repeating throw of height 1 - the classic 3-ball cascade:

Read the table left to right, top to bottom: beat 1, the right hand throws (a plain number with no letter always crosses to the other hand by default - more on that below); it lands 1 beat later, at beat 2, in the left hand. The translucent lines overlaid on the table are the same information drawn as a diagram - one continuous color per physical ball, arcing between the hand it left and the hand it lands in. It's shown repeating 6 times here so the same 3 ball-colors visibly cycle back through the same beats - press play (or drag the scrub bar over the table) to watch it as an actual animation, on a real 3D figure, instead:

Three balls, even though only one throw is ever written down - the table only needs to describe one hand's decision each beat; how many balls that takes to sustain falls out of the timing once you actually count how long a real throw of that height takes to come back down.

Straight vs. crossed: the s suffix

A plain number crosses to the other hand by default - that's what happened above. Adding s right after the number makes it land back in the same hand instead ("straight," as opposed to "crossed"). The 4-ball fountain - each hand juggling its own two balls, never crossing - is written 2s:

Same shape as the cascade table above, just every throw stays in its own column instead of crossing to the other one - and the overlaid lines curve out to the side and back rather than crossing the middle, since nothing ever changes hands.

Empty beats: -

A dash means nothing is thrown this beat - but the beat still counts, and a ball already in flight can still land during it. This is how uneven rhythms (a big throw followed by a pause) get written. "3 up pirouette" spends two beats empty-handed after its big throws, to leave time to spin:

Five beats total, but only three of them have a throw written down - the two dashes are still real beats, just ones where that hand's job is "do nothing (or spin) and wait."

Simultaneous throws: sync groups (a, b)

Parentheses group throws that happen on the exact same beat - one entry per hand. "3 ball shower" is a sync pattern: one hand does a quick crossing pass while the other does a slightly higher toss, together, every beat:

Unlike siteswap's sync notation, RC never sneaks in a hidden extra beat for a sync group - (1s,1s) is one complete beat, not one-and-a-half. If you want a pause after a sync beat, write the dash yourself, same as anywhere else.

The comma between slots is a convention, not a requirement - a comma is treated exactly like whitespace everywhere in RC, so (0,1s), (0, 1s), and (0 1s) all mean the same thing. Writing the comma inside sync groups (and not inside multiplex, below) just matches siteswap's own convention and makes the two easy to tell apart at a glance.

Several balls at once: multiplex [a b]

Square brackets group multiple throws made by the same hand at the same instant (as opposed to parentheses, which are always two different hands). A hand launching two balls of different heights together looks like this:

Beat 1's [1s 2s] is one hand throwing two balls in the same instant, straight, at two different heights - so they land on different later beats even though they left together.

A few more symbols

These come up less often, but are worth recognizing:

Body parts

Everything above used hands only ("L"/"R" columns), but RC extends the same idea to any point on the body - knees, elbows, the back of the neck, and so on. A capitalized abbreviation names the part: K for knee, Ep for elbow-pit, and so on - see the full abbreviation list. Two ways they show up:

A body part with a left/right version follows the same straight/crossed convention as hands (no s = crosses to the opposite side's version of that part). "Knee kick" throws from the hand to the knee, then from the knee back to a hand:

Putting it together

Real tricks mix several of these at once. "Siteswap 423" from above (1(1s,h)) is a genuinely full description once you read every part of it: beat 1 is a plain crossed throw; beat 2 is a sync group - one hand throws straight (1s) while the other just holds (h) whatever it's already carrying. Two beats, three symbols, one real trick.

The best way to get comfortable is to type patterns yourself and watch what happens - the Explorer has a library of worked examples to start from (including every pattern on this page), a siteswap-to-RC converter if you already know siteswap, and the same live table/ladder/animation this page uses, but editable.

For the raw grammar/AST behind all of this (useful for debugging a pattern that isn't parsing the way you expect), see the Parser playground.