Place phrases anywhere on the timeline

Video Tutorial

Containers include Phrases for one or more Instruments, including Global Parameters like Harmony, Tempo or Scheme that affect all instruments alike. Containers can be placed anywhere on the timeline and nested to build a tree structure.

  • Containers help you keep phrases short and easier to edit.
  • Since every container marks some place of importance, it's a convenient locator for playback and navigation.
  • Enable a non-destructive lets-see-what-happens workflow. By placing a container inside another, you can temporarily introduce a change that lasts only for the duration of the container. Move the container to apply the change elsewhere. Remove or inactivate it to undo the change.
  • Help you develop a narrative of your score. Move containers with phrases around, while the overall Harmony remains unchanged. Move containers with Harmony around, while phrases stay put.


The Root Container at the top lasts for the duration of the arrangement.

Child containers may represent sections like Intro, Verse, Chorus, or parts A, B, C or any other sectioning that suits your style.

Tip: A container always introduces a temporary change. Parameters not overridden in a container simply continue to play. When placing a container, always ask yourself: What is it that I want to change for the duration of this container?
Important: Rule of thumb: When you want something to start in the middle of a container, insert a child container at that position. Don't insert blank space at the beginning of a Figure only to make it start at a later time, unless you really want all loops to include this long pause at every turn.


Parameters in a child container temporarily override the same parameter of a parent container. Only parameters for the same instrument override each other. Other parameters continue unaffected. In short: Inheritance works at the parameter level.

For Figure and parameters that transform it, the effect is obvious. For other parameters it can be more subtle. For example, you may override Velocity or Shift to alter the dynamics or timing of a phrase.

The inheritance of parameters is made visible through the Parameter Trace.


During the time span of a container, the parameters contained in it temporarily override any parameters that are already in effect. Where containers overlap, the container that starts later overrides the one that started earlier. Where containers start exactly at the same time, the one below overrides the one above.

With the Up and Down arrow keys, you can change the priority of a container that starts at the same time with other containers. This will change their vertical order.


An Alias is a read-only shadow of a container that can be placed anywhere in order to repeat the phrases of its original without copying them. All changes applied to an original will also update its aliases. Some properties of an alias may be set independently from its original.

  • Length: An alias may have a different length, playing its contents for a longer or shorter period of time.

  • Inactivation: An alias may have its own active versus inactive status.

  • Inactivation of Phrases: Individual phrases in an alias may be turned active or inactive as needed. Pause however is a parameter and those can only be altered in the original.

  • Priority: An alias may have a different priority. That is, whether it overrides running parameters or not depends on its vertical place in the structure.

Tip: If you need to replace phrases in an alias, put them in another container placed below it (Container > New Parallel Container). Use the arrow keys to change its priority until it appears below the alias. The phrases in it override those of the alias. You may want to group both containers to keep them bound together.


Unless looping has been turned off with Parameter > Repeat, the parameters of a Phrase repeat independently of each other for the duration of the Container they are in. Thus their influence may evolve separately over time. For instance, a short Figure may be accompanied by a long and evolving Velocity parameter.

Containers themselves can't loop, but by resizing them, the phrases inside will loop for that duration.