Aratu music written to play, and to change while it plays

13. Patterns, sections and form

▶ Open in Aratu to hear and change the examples

Material is prepared in advance and given a name:

pattern groove {
  hh = cc cc co cc
  bd = b - b -
  sd = - s - s
}

pattern fill {
  hh = cc cc cc cc
  bd = bb -b bb -b
  sd = ss ss SS SS
}

play groove
at bar 4: play fill
at bar 5: play groove

Form

Sections are named parts of a piece, and a form line orders them:

section intro  { bass = | a2 _ _ _ | e2 _ _ _ | }
section verse  {
  bass = | a2 _ e2 _ | f2 _ c3 _ |
  drums { hh = cc cc co cc; bd = b - b - }
}
section chorus {
  guitar { chords = | Am | F | C | G |; strum = D du -u du }
}
section outro  { bass = | a2 _ _ _ | }

form: intro verse x2 chorus verse chorus x2 outro

A section holds parts and lines the way the whole piece does, and lasts as long as its longest line. The form plays the sections in order (x2 plays one twice) and then starts again. A block can sit on one line, with ; between its lines.

Varying a loop

pattern groove { hh = cc cc co cc; bd = b - b -; sd = - s - s }
pattern fill   { hh = cc cc cc cc; sd = ss ss SS SS }
pattern crash  { cr = x - - - }

play groove x3, fill
every 8 bars, first: add crash

play chooses the pattern that sounds; play groove x3, fill plays a phrase of patterns in turn and loops it. every 4 bars: play fill plays the fill in the fourth bar of every four, in place of the groove; add plays a pattern on top of the one that is sounding.

A play stays until another one: at bar 8: play fill plays the fill from bar 8 on. once plays it through one time and goes back:

at bar 8: play fill once     // the fill in bar 8, the groove again in bar 9
now: play fill once          // a fill now, then the groove where it would be
now: add crash once          // a crash on top, once

The pattern that was playing keeps counting its bars meanwhile, so play groove x3, fill does not lose its place in the phrase. With every, a pattern already plays once each time round.