Skip to content

Instantly share code, notes, and snippets.

@jackkinsella
Last active April 18, 2023 06:32
Show Gist options
  • Save jackkinsella/7f68e68728451d896de359285c6bbafb to your computer and use it in GitHub Desktop.
Save jackkinsella/7f68e68728451d896de359285c6bbafb to your computer and use it in GitHub Desktop.

Rhythm Comms (v0.1)

  • The fundamental idea is to denote the "Grid Unit" (GU) distances between each onset. So 3-3-2 means you hit on the 1 (see assumptions), then 3 GUs later, then 3 GUs later, then 2 GUs later. The o's below indicate hits. The $ means the end of repeating unit. The pipe symbols correspond to groups of 4.

    | o - - o | - -  o - |$
  • The following assumptions are made:

    • Everything is in 4/4
    • The default sub-division is a 16th (as in 1e&a)
    • Every onset is held for 1/16t
    • The system repeats at an interval equal to the smallest multiple of 4 equal to or great than the sum of all the onsets. For example, "1-3" would repeat every 4 GUs, whereas "6-2" would repeat every 8 GUs.
  • To indicate that a note is not played (e.g. at the start of the rhythm), append the word "off" to the number. For example, "3off-5" would be

    | - - - o | - - - - |$
  • To indicate that a note is played for a longer length then the default 1/16th, you append the word "lasts" along with the number of GUs held. For example, "3lasts3-1-4lasts" would be the following (underscore representing that the previous note is still held down).

    | o _ _  o | o _ _ - |$
  • To indicate that a note is played for less time than the default 1/16th, you append the letter "x" to mean staccato. So "2x-3x-3" would be:

    | x - x - | - o - - |$
  • To indicate that "extra" notes (/a variation/a fill) should happen every N repeats, we use the words "on" and "fill" For example, "6-2, on 4 fill 2" means that within every 4 repeats of 6-2, a fill should happen on the 2nd of those repeats. For example

    | o - - - | - - o - | o - o - | o - o - | o - - - | - - o - | o - - - | - - o - |$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment