sqsl Mantra

Experimental 8-step sequencer/pattern generator designed for iPhones.

Available on App Store.

Mantra emerged from my experimentation with the iPhone’s user interface (mainly its limitations in terms of physical size). It began as a simple sequencer with 8 steps and 3 tracks, gradually evolving into a more complex tool. The workflow is built around “playing with variations” generated using transformations, rather than direct adjustments to individual step parameters. Available transformations are deliberately chosen to minimize complete randomness - for instance, when trigger patterns are randomized, step states are not created from scratch but instead shifted or swapped/evolved from their current existing state. In that way it can be considered as my personal take on concept of Goldberg’s variations - taking a simple foundation (row of 8 pitch values in this case) and building a number of musical possibilities from it.

Given the nature of this workflow, I’ve added automated output capture to MIDI files so the app can serve as a generator of raw source MIDI material that can be further developed in DAW.

The UI is optimized for iPhone screens - the app functions also on iPads but the interface may appear oversized.

FEATURES

  • 3 tracks (A, B, C)

  • Track B runs at half the speed of Track A; Track C runs at half the speed of Track B

  • Triggers for each track (3 × 8 triggers)

  • Pitch values shared across tracks (sequence of 8 values)

  • Heptatonic scales quantizer (5 scale patterns × 7 modes × 12 roots)

  • Degree mask per track (exclusion of specific degrees from the scale)

  • Degree offset (transposition) per track

  • Gate length per track

  • Track length control for Track A and Track B, with optional reset synced to Track C loop end

  • Track C Pause control (Track C will wait 0-8 steps before looping back to start)

  • Swing and BPM clock control

  • Velocity and MIDI channel (1–3) per track

  • Velocity can be modulated by LFO (per track) with Rate and Amount control

  • Optional automatic pattern evolution synced to Track C loop end

  • Evolution has selectable groups of processes/transformations

  • Variations generator based on current pattern and evolution settings (16 x 4 variations)

  • Optional automatic capture of output to .MID files (synchronized to Play button)


VARIATIONS

Variations are generated (GEN button) sequentially - the current state of parameters is copied and saved to the first position on the variation page (1, 17, 33, 49), then one of the enabled transformations is applied and the result is saved in the following (second) position, then the parameters of the second position are transformed and the result is saved to the third, etc., until all 16 variations on the pages are generated. So theoretically the last position should be the most different from the first. There are some parameters that are not affected by transformations (eg, Root Note, Scale Pattern, Swing, Gate Length, Velocity, MIDI Channel…) so those are not saved within variations.


EVOLUTION

When evolution is triggered, it will randomly select one of the enabled transformation groups and apply one of the transformations contained in that group. Below is the list of available groups and transformations within them:

PITCH

  • The order of pitch values is reversed

  • Two pitch values are swapped

TRIGS

  • Two trigger states are swapped (within a single track)

  • Trigger patterns of two tracks are swapped

  • The trigger pattern of a single track is reversed

SHIFT

  • The degree is shifted randomly on a single track

MODE

  • The mode is changed randomly

MASK RND

  • The degree mask is randomized (across all 3 tracks)

FLIP PITCH

  • The pitch invert state of a single track is changed (the first step value acts as the axis and other values are flipped vertically around it)

# of STEPS

  • The track length of A or B is changed to a random value

BPM

  • BPM is halved or doubled

  • BPM is inverted (120 BPM taken as the axis)

  • BPM jumps to a random value

MASK SHIFT

  • The degree mask is shifted horizontally by one step (left or right)

READ 1ST

  • First variation on current variation page is loaded (this transformation is excluded from variation generation – can only be triggered by Track C loop end).


PRESETS

There are 5 × 24 available slots for user presets. BPM and scale settings can be ignored when loading a preset. Evolution variations (64) are saved within presets.


AUTOSAVING - MIDI files

Output can be automatically saved to a .MID type. File will be located at the “On My iPhone/sqsl Mantra” folder and named using the current date and time. Takes start when PLAY is activated and end/save when PLAY is deactivated. File saving can be enabled (“AUTO SAVE” setting on the MIDI page) even after playback has started, since note events are always automatically captured in memory.