Guide
A Rhythm
is the main building block in afseq. It lets you define when and what to play.
afseq consumes Lua script files that define rhythms as specified in the API documentation.
Components
- TimeBase defines the time unit of a rhythm.
- Pattern → Gate → Emitter perform the basic event generation in 3 stages.
- Parameters change behavior of components during runtime.
All content in rhythms can be either static or dynamic:
-
Static content is defined as a Lua table of events. There are various helpers included in the API, such as note scales, chords, and pattern creation tools.
-
Dynamic content is generated on the fly by Lua functions while the rhythm runs. Generators are functions with local state, which can e.g. be used to apply replicable randomization.
Cycle emitters use the Tidal Cycles mini-notation to create patterns in a flexible, condensed form.
Examples
See Quickstart for a set of simple examples to start and to play around with.
The Examples section contains more advanced and guided examples.