Rhythmic catches (RC) is a new time based toss juggling pattern notation system that can be seen as an alternative to siteswap.

In Siteswap and rhythm: Solutions I outlined a new notation system and called it Rhythmic Catches. I designed this in a rush to quickly patch some issues I had with siteswap. Since then I have come to realize it is a very useful system, as I discuss in Siteswap based vs rhythm based pattern notation.

Since it’s original inception I have modified the rules of the system a bit. In this post I will explain this improved version of Rhythmic Catches. You do not need to read the original explanations to be able to understand how the system works, and if you have already read that there might be some duplicate information here.

Rhythmic Catches Explained


Timeline and numbers

Rhythmic Catches is time based. Events take place on, before, or after beats. Catches typically take place on the beats, which how the system got its name.

Beats are spaced out over time. They can be spaced out evenly or unevenly, this does not matter for the notation. Also this can not be written down with the system, if it is important to communicate tempo or timing of beats you can do so with other notations such as music notation.

An exchange is an action where an object like a ball approaches a hand, and in response to that that hand throws a ball so the hand becomes empty, and then the hand catches the incoming ball. This action happens repeatedly in most juggling patterns, for example the cascade. It can feel like the throw and the catch happen at the same time. However, this is normally not possible, the hand must first be empty before there is space for the incoming ball to land. See also the animated diagram below.

Cascade on timeline with 2 beats

In this extended ladder diagram below it becomes more easy to see that each ball is in the air for one whole count (the time between 2 beats) plus a little extra time before a catch. About ~1.66 counts according to Juggling Lab, which I used to create these diagrams and animations. Note that this diagram is a bit different from most other ladder diagrams you may come acros, the horizontal beat lines are written on the moments of the catches instead of on the moments of the throws. This is important for Rhythmic Catches. The reason for this is that we can actually hear the catches, and in my experience it is much easier to count on the exact moment of a catch than to count or even notice the exact moment of a throw.

Ladder diagram of a cascade with 4 beats, the beat lines on the catches

In Rhythmic Catches we round this flight duration of ~1.66 down to 1 and this whole pattern can in fact be written in RC as 1. It’s siteswap equivalent would be SS 3.

In RC a throw is always written with a number, the number specifies the number of counts that it will take before the ball will land, rounded down. This means that if the exchange time is less than a whole count, which it very often is, it will be ignored.

What follows from this is that in most cases a ‘zip’ or SS 1 would be written as RC0 and a normal throw in a 5 ball cascade (SS 5) would be RC 3, see the animations below.

RC 0
5b cascade
RC 3

Direction, straight or crossed

A number on its own like RC 1 represents a throw that crosses from left to right or right to left. Straight throws like in a 4 ball fountain are slightly less common in juggling. These throws are marked with an s after the throw. For example, a 4 ball fountain (SS 4) would be RC 2s.

Sequences and empty beats

Multiple numbers can be written behind each other to signify a little sequence, typically it would be expected that the sequence repeats. For example if one writes 1 this normally means 1111111.... Of course you can combine numbers to create a trick like RC 312s (equivalent to SS 534).

If no throw is made at a certain moment in time, but you would still like the beat to be counted you can write down an ‘empty beat’. This can be written with a dash -. For example 333-- is a flash with 3 balls.

Since the spacing of the beats is not defined by Rhythmic Catches one could suggest that an empty beat is never needed, one can just interpret more space between two beats than between the others. However, when working with music or other forms of rhythm it is often useful to keep counting, even if no action takes place. Unlike siteswap it does not matter in Rhythmic Catches if there are balls in the hands or not during the empty beat.

It is still possible to have catches on an empty beat, for example during the first - in 333-- the first 3 throw is caught.

Synchronous throws

If two or more throws happen before the same beat we refer to these as synchronous throws. We can put all the different actions during a beat in round brackets ( ), and separate them with a comma ,. This is similar to how synchronous throws are written in siteswap.

For example, a synchronous 4 ball fountain is RC (1s, 1s). Extra spacing was added for better readability.

Notice that while an asynchronous 4 ball fountain uses RC 2s and synchronous 1s, this is because the beats in the synchronous fountain are twice as slow. Unlike in siteswap we don’t count this ‘empty beat’ in between the throws. If this empty beat is important for the counting of the rhythm one could also write it as RC (2s, 2s)- using the - to signify an extra beat.

Also notice that Rhythmic Catches can not specify that multiple throws should happen on exactly the same moment. The system does not care about the exact timing of throws, only the exact timing of catches.

Interaction with other body parts

Rhythmic Catches is particularly useful when writing out tricks that involve body parts other than just hands. If a number is on its own, it is assumed that it is coming from a hand and going to a hand.

A number can be prefixed with a location from where a prop is going, followed with a colon :. An abbreviation can be used for the body part that is doing the manipulation. This abbreviation should always start with a capital letter, so as not to confuse it with other modifiers. For example a throw from the knee could be written as RC K:1.

A throw that goes to a non hand body part is suffixed with the abbreviation. For example RC 1K is a throw from a hand to a knee.

If a body part has a left and a right version, for example I have a left and a right knee, then a number without an s is still interpreted as going crossed. So RC 1K is going from a hand to a knee on the opposite side, and RC K:1 goes from a knee to a hand on the opposite side, and K:1K goes from one knee to the other knee. By suffixing s the prop stays on the same side, so for example a right handed throw 1sK goes towards the right knee. The body part is always suffixed last, as Ks could be read as a longer abbreviation for a body part, but sK can not because of the capital letter.

If the body part has no left or right version, for example like the forehead Fh, one can do a throw towards the body part just like in the knee example, so RC 1Fh. When it returns from the forehead to a body part that has a left or a right, it continues to cross. So the prop originally came from a right hand, RC Fh:1 means “go to the left hand”, or RC Fh:1s means “go back to the right hand”.

In cases where this gets confusing an r or l can be suffixed to the body part abbreviation, however that means also that the pattern can no longer be easily mirrored. When referring to a right or left hand one also writes down an H for hand, for example Hr for “right hand”. Normally a number without body part means that it is a hand, so an H is normally not written.

For these abbreviations I strongly recommend to use one from this list of juggling interaction points on the body whenever possible, to avoid miscommunication. However there may be cases where you wish to interact with a point that does not (yet) have a standard abbreviation. In such cases, I recommend to not end an abbreviation with r or l as that may be read as right or left.

When an object is trapped between two or more body parts, and a good abbreviation can not be found on the list, you can combine parts with an ampersand &. For example, a throw that is caught between the knee and forehead could be written as RC 1K&Fh

If the two trapping body parts are from opposite sides of the body, an asterisk can be placed after the ampersand. For example 1K&*Elb

Hand order and manipulation side

The order of the hands is typically assumed to be left-right-left-right… The starting hand does not matter. As juggling may happen with other body parts than just hands, I call it the manipulation side. If the manipulation side is left, throws are made from a body part on the left.

Just before a new throw is made from a hand, the manipulation side changes. This means that a throw from another body part does not change the side that is doing the manipulation. For example in the pattern RC 0A A:0s, if the first throw is made by the right hand, the second throw is made by the also armpit. Then the pattern repeats, it starts with a throw from the hand so it switches the side that is doing the manipulation.

You can force the side to change with an asterisk *. This can be useful if you want to repeat actions on a side. For example three in one hand is written as RC 2s*. This is similar to how an asterisk is used in siteswaps, but unlike in siteswaps it can be used also in the middle of a pattern, not just in the end. This usage was in part inspired by multisynchronous siteswap.

Synchronous throws follow hand order too. For example, in RC 1(2, 3)--* the hand order, if starting on the right on the first round and repeating the pattern twice, would be: R(L, R)--*L(R, L)--*. RC 1(3, 2)-- would be a different pattern.

An empty beat - does not change the manipulation side.

Inside & Outside

For inside and outside throws we’ll use the definitions as defined in my post about inside & outside. We will also be using the suggested defaults from that post, which means that most of the time a throw is assumed to be inside, unless the incoming throw is not thrown before the outgoing throw in which case we assume a throw to be outside. To understand this better I refer to the article linked above.

Whenever the path of a prop is not in the default direction, we can suffix a throw with i for inside or o for outside. For example RC 1o11 is the pattern tennis.

Sadly, an i looks a lot like a 1 and an o a lot like a 0. Therefor one needs to be careful especially when handwriting these, to avoid confusion. I have considered using different symbols like > and < but could not get used to them. Maybe one day another letter or symbol could take over?


Sometimes a prop does not get caught, rather it gets bounced off a hand or another body part and gets airborne immediately again. In such a case, to clarify that a juggler is not expected to already have a different prop prepared in their hand, a plus + is prefixed to the digit. This symbol is chosen as it could suggest that the airtime of a prop gets extended, more time is added to it.

For example, RC 1+1- is a pattern with one ball that is thrown from one hand and then hit back by the other. As opposed to RC 11- which is a 2 ball exchange.

Multiplex and imprecise catch timing

A multiplex can be written using square brackets [], similar as in siteswap. Multiple numbers in a bracket are thrown at the same time by the same hand. For example, RC [11]11 is a 3 ball cascade pattern but executed with 4 balls, the first ball is doubled.

Normally we expect balls to land exactly on a beat. For example if we throw RC 32s1 all these balls should land at the same moment in the same hand, resulting in a squeeze catch. However, this can be impractical or even near impossible, for example when catching multiplexes. To solve this you can suffix a tilde ~ behind a number to signify that the throw could land earlier, some time between the previous beat and this beat. Instead of RC [11]11 it may be preferable to juggle RC [1~1]11, meaning that the first multiplexed ball can arrive a bit before the second one. Even when writing RC [11~1~]11 both 1~ throws don’t need to land at the same time, they can both land at any moment between beat 0 and 1. A ~ can even be suffixed to a 0, it would have to land before the beat but since it can be thrown from on any moment since beat -1, it is for example possible to throw on -0.8 and catch on -0.5.

If a throw is made by the hand that catches the ~ throw, it can be assumed that the throw is still made before the catch and not the other way around. So if ~1 arrives at beat 0.5, then the next throw has to be made between beat 0 and 0.5, not between 0 and 1 as usual.

Large numbers of multiple digits

Rhythmic catches is not very suitable for very high throws. Writing the number ten as 10 would be misread as one-zero. This same problem exists in siteswap, but with so many letters already being used by modifiers in Rhythmic Catches it is not ideal to call 10 A as is the habit in siteswap.

Instead I propose to wrap multi digit numbers in curly brackets {}, so {11} is a 13 ball cascade and 11 is a 3 ball cascade.

We can also see this the other way around: All digits are allowed to be wrapped in curly brackets. {1} is a 3 ball cascade too. However, if a digit is a single digit we are allowed to omit the brackets.

Luckily large numbers are even more rare than in siteswaps, an RC 7 is equivalent to a SS 9.


When combining Rhythmic Catches with other notation systems, such as IMBO, it can be useful to write down the moment of holding a ball. Normally only throws are written in Rhythmic Catches, so unlike in siteswaps holds are typically ignored. However, when needed, an h can be written to signify a hold.

When the hold is executed by a hand, it is treated as a throw in the sense that it changes the manipulation side. For example, the pattern RC 12sh is equivalent to RC 12s-* and also to SS 423.

All Modifier symbols

All special symbols are listed here once again for reference:

Symbol Meaning
0-9 A digit represents a throw that takes the specified number of counts to arrive.
s Straight or Same side, suffixed after throw.
- Empty beat, no throws made.
* Switch manipulation side, in most circumstances can be seen as “repeat side”.
i Inside, suffixed after throw.
o Outside, suffixed after throw.
(,) Enclose synchronous throws, comma separated. For example (1,1) means throw from both the left and the right at the same time.
[ ] Enclose multiplex throws. For example [11] means throw two balls from the same hand at the same time.
{ } Enclose a single number, useful when working with multi digit numbers. For example {11} means “eleven”.
~ Catch before beat, suffixed after throw.
+ Bounce, prefixed before throw.
h Hold, this also swaps the manipulation side just like a hand throw. Can be replaced with *- and vice versa.
Elb Any letter sequence that starts with a capital letter is an abbreviation for a body part or manipulation site. For example El means “elbow inside”. 1Elb means a throw that goes to the elbow, Elb:1 means a throw made from the elbow.
: Used after body part name to signify which part is throwing. For example K:1.
& Trap, combine multiple body part names For example 1Elb&K.
r l Right and left, to be suffixed to a manipulation site, like Elbr. It’s recommended to avoid using these, so that patterns can be mirrored.


A few basic examples of well known juggling tricks, and their equivalent siteswaps:

3 ball cascade:
RC: 1
SS: 3

4 ball fountain:
RC: 2s
SS: 4

3 ball tennis:
RC: 1o11
SS: 3

3 ball shower:
RC: (0, 1~) or (0, 1) or 03 depending on the timing
SS: 51 or (4x, 2x) depending on the timing

RC: 2s(2s,0)- or 3s3s0 depending on the timing
SS: 441

423 with active 2’s:
RC: 2s0s1
SS: 423

For many many more examples with video reference, I refer you to this notation comparison list.


Rhythmic Catches may improve and change more in the future. Please take liberty in how you use it. Feel free to republish, rewrite and reuse Rhythmic Catches in any way you like.

One particular feature I would like to see is a good way to describe claw catches and throws, I feel like this is currently missing. I may still add a feature $ to collect all flying props and stop juggling as I did in dNote, and also for starts add notation to describe the starting position, but I have not had time to do this yet. Also no research has been done on how to apply this in a passing context, I’d be excited to see a way for writing passing patterns in RC.

I hope some of the siteswap math wizards will try and write rules on how to use RC, for example finding out an easy way to calculate the amount of balls in a pattern, just like you can do in siteswaps.

Rhythmic Catches was designed with simulation in mind, I hope this notation system can be used to support a future juggling simulator. And then of course also pattern generators and editors!


Rhythmic Catches gratefully takes inspiration from many other notation systems, here a short compiled rundown:

The whole system could be designed and understood thanks to ladder diagrams, which may have been first used by Claude Shannon or Paul Klimek.

The beat system is similar to the system used in Harmonic Throws by Jonathan Lardillier, but the numbers them selves are actually closer to the numbers used in Music swap by Alan Blim, and it is also similar to the numbers used in 491 patterns for the solo juggler by Martin Probert.

The syntax for synchronous throws and multiplexes is straight out of the synch and multiplex notation for siteswap by Jack Boyce.

Being able to add other manipulation points than hands is inspired by beatmap by Luke Burrage, although the final implementation is quite different. The intermediary stage between beatmap and Rhythmic Catches is dNote, another system I designed.

Using the asterisk as a repeat hand symbol comes from multisynchronous siteswap, although the original asterisk for mirroring a synchronous pattern was I believe invented by Ben Beever.

Adding inside and outside to throws is similar to how this was done in MMSTD by Mike Day.