Patterns

Overview

Patterns in Mass are essentially complex functions. The Pattern's parameters dictate what beat, or beats, the Pattern will produce a trigger on. Generated triggers perform a single action: they trigger whatever Event you have configured for the Part's trigger condition (see Parts > Condition Pattern Trigger). Pattern parameters are the same regardless of the Event type they will trigger.

Because each Part you create contains its own Pattern, you can very quickly make polyrhythmic sequences. In this technical manual, there is a gap between explaining how to use the editor and conveying what you can accomplish creatively. Deep exploration with this system is encouraged.

Assign and Mutate

Many of the Pattern's parameters actually contain two values:

  • Assignment value
  • Mutation value

Assignment values

Assignments set primary values for the Pattern. For example, the Parameter Position Assignment sets the beat that the Pattern's first trigger occurs at.

Note: Assignment values always apply equally across the Pattern. For example, the Parameter Offset Assignment will set the same base offset for every trigger in the Pattern.

Mutation values

Mutations shift the respective Assignment in some way. For example, the Parameter Position Mutation value multiplies the number of triggers the Pattern generates.

Note: Mutation values do not inherently apply their changes equally across the Pattern's triggers. For example, the Parameter Offset Mutation value will shift the offset of each beat by an increasing amount.

Parameters

settings-pattern.png

Parameter: Loop length

The overall length of the pattern, expressed in beats. This can be any value from 1 to 32. The loop length is adjusted by moving the fader below the step matrix, or by tapping any of the trigger points in the step matrix. Every beat of the system clock advances the pattern by one beat. Upon passing the final beat, the pattern will loop.

Parameter: Mode

Toggle between Assign and Mutate modes. Toggling this toggles what value you are editing for all parameters that support Assign and Mutate.

Parameter: Trigger Event

Toggles whether the Pattern's trigger fires. If this is disabled, the Pattern will stop running and will not trigger Events.

Parameter: Position

The beat that the pattern’s root trigger fires on. This can be any value from 1 to Parameter Loop length.

Mode: Assign

The trigger position is offset within the available range, dictated by Parameter Loop length. If the loop length is later changed to a value less than the current position, the position is updated to match the new loop length.

Mode: Mutate

When the trigger position is mutated, it will multiply the number of triggers within the pattern. Using the trigger position as a root point, subsequent triggers will be positioned equally to take up the available space within the loop. The spread of triggers is generated with a Euclidian algorithm.

Parameter: Offset

The offset value delays the trigger. It can be any value from 0 to 23. This range allows both on and off-grid beat subdivisions.

Mode: Assign

Sets the offset within the available range. Common on-grid offsets:

  • 3 = 1/32
  • 4 = 1/16t
  • 6 = 1/16
  • 8 = 1/8t
  • 12 = 1/8
  • 15 = 5/32
  • 16 = 1/4T
  • 18 = 3/16
  • 21 = 7/32

The UI will show the current offset value in a musically-useful way, if possible. For example, if the trigger offset is set to 6, the UI will show "1/16."

Mode: Mutate

Mutating the trigger offset will shift each subsequent beat’s offset by the mutation amount.

Note: this does not have any practical use without also mutating the trigger position.

Ex: trigger offset = 0, trigger offset mutation = 1

  • Beat 1 offset = 0
  • Beat 2 offset = 1 Tick
  • Beat 3 offset = 2 Ticks
  • Beat 4 offset = 1/32

Ex: trigger offset = 2, trigger offset mutation = 2

  • Beat 1 offset = 2
  • Beat 2 offset = 1/16T
  • Beat 3 offset = 1/16
  • Beat 4 offset = 1/8T

Parameter: Chance

Percentage chance that the trigger will fire. It can be any value from 1 to 100.

Mode: Assign

Sets the percentage chance for the trigger to fire. Note that for patterns that generate multiple triggers, each trigger is evaluated individually. For example, a pattern with a trigger chance of 50% and a trigger position mutation of 1 (thus creating 2 triggers) will give each trigger a 50/50 chance to fire. This can create a lot of organic variation in your patterns!

Mode: Mutate

Mutating the trigger chance adds to the base chance at each beat, and wraps around when the chance reaches 100.

Note: this does not have any practical use without also mutating the trigger position.