Mozaic Plugin Engine

Mozaic allows you to create your own AUv3 plugins through a programming language designed for this purpose. The app includes control surfaces with customizable knobs, pads, and an XY controller. It has an integrated development environment (IDE) with code completion and syntax guide for writing scripts.

App type: AUv3

App store link:

Developer: Bram Bos

Developer AB Forum Handle: @brambos

There is also a wiki page containing Mozaic Scripting Tips & Tricks

An official Mozaic user script repository has been established at patchstorage.com hosting more than 105 scripts (01.12.2019)

Script Download and Installation

To load scripts from patchstorage.com

  1. Go to Patchstorage a browser on your iPad/phone.
  2. Pick Mosaic on the main page. Navigate to the desired patch.
  3. Bottom right corner of each patches intro card is a download icon (with the number of times its been downloaded.
  4. Click on it.
  5. If mozaic is installed, choose —> Open in “Mozaic”.
    (The “More” option lets you backup to dropbox or another app/destination.)
  6. On iPadOS 13.x safari downloads all files to 'On My Ipad / Downloads'.
    Use the Files app to open that folder, long tap on the downloaded Mozaic patch
    and choose 'share' and then select 'Open in Mozaic'
  7. The 'Open In' or 'Copy To' action will open the Mozaic standalone app not the AU.
    Press the 'LOAD' button to open the preset browser
    Search for the name of the downloaded script and tap the name to load it.

If the name of the downloaded script does not show up, press 'Refresh' in Mozaics preset browser to update the list.
This also works in AUs that were loaded in a host during the download action.

Available Scripts

Channel Scripts
Poly It Up – Channel Rotator The script allows you to play multiple monophonic synths from a polyphonic source, with individual CC or pitch bend messages being sent to each note.
Channel Splitter Modify output channels based on note ranges and/or velocities
_ChannelSwitcher_ Use different midi channels to play different synths, or combinations of synths
Midi Filter and Transpose Filter by channel, limit note range and apply tranpose – like AUMs channel midi input filter
Midi Matrix Switch Live jam utility to switch midi matrix routings to beat-juggle with pattern snippets, to switch between song parts or to play additional notes with different voicing while holding notes
Toggle Channels on Bar Divisions Live-jam song arrangement script. Pads mute/unmute pattern fed on different midi channels in sync to to the hosts 1-,2-,4-,8- or 16-bar divisions
PolyMono MIDI Router Distributes incoming MIDI notes over the first 4 channels (can be easily changed) to turn multiple monophonic synths into a big polysynth
Multi Channel MIDI Delay Delays MIDI messages globally or per channel
Note Scripts
AU Hasard MIDI Note Randomizer AU HASARD (French for “Random”) is inspired by the Random Ableton Live MIDI effect. Unlike the Live plugin, notes can be quantized to fit into a scale.
Joc Lady Delay Delay input midi notes by a given sequence of delay timings.
Scala FX Turns standard MIDI input into scale specific MIDI output using a scala style format and applying pitchbend
Joc Do ya Len Set the note length of incomming notes according to a given length sequence
Joc Melody Maker Replaces incoming note pitch with the next one from its own pitch sequence
Joc Velocity Massage Uses the sliders and XY to set the velocity of successive notes passing through
_Abolisher_ Stops the hanging of notes without disturbing the peace in the host system. First shout 16 times “all notes off”. Then releasis all midi notes.
Note Repeat Repeats all held midi notes at the selected metric subdivision
Chromatic Fractal for Fractal Bits Play any Fractal Bits AU pad melodically using MIDI
RANDOM! Takes midi input and outputs midi that is randomly modified according to parameters set by the user. Includes scale quantization, user presets on the touch pads, and preset morphing using the XY pad
MuteMIDI Place this between a MIDI source and a synth. Pad 0 sets a value for a MIDI “Mute/unmute” condition
CopyCat Clone midi from input channel to multiple output channels applying individual note mutations
Block Repeating Notes Prevents the same midi note from playing twice in a row
Fail-Safe Gracefully stop all sustained notes on hosts stop. After the grace-period is run off, all still active notes will turned off
Scale Compendium Quantize incoming MIDI notes to one of 30 preset scaled, also included are an assortment of common triads and 7th chords
CC Automatable Transposer / Scaler Transpose and optionally apply scaling to all incomming midi notes of all channels using three automatable CCs or the GUI elements
Velocity randomizer Randomizing/humanizing velocity values for incoming midi notes
Simple Scaler A scale filter that allows customizing the notes of the scale
Probability Gate Based on Arthur Kerns’ excellent (and free!) midiFILTr-PG Probability Gate MIDI Effect
Note Probability Based on Arthur Kerns’ excellent (and free!) midiFILTr-PG Probability Gate MIDI Effect
Probability Gate Sequencer Based on Arthur Kerns’ excellent (and free!) midiFILTr-PG Probability Gate MIDI Effect
Round Robin Applying round-robin (or random-robin) variations to incoming notes
Jay Meter A midi timing sequencer which can perform forward and backward offsets. Designed for Hip Hop, IDM, and any genre where human or off-kilter grooves are required
Jay Meter: Velocity Jay Meter: Velocity is a midi velocity adjustment sequencer designed as a velocity companion for Jay Meter
MidiQ Real time note quantizer per beat division
Emoji Pad Pad keyboard with a twist: The consonance / dissonance of the keys relative to the last key pressed will be shown as weather emojis
Velocity MIDI Echo Produces rich and complex delay patterns by echoing notes at variable velocity over time
Rhythmic MIDI Echo Echos incoming MIDI notes for up to 16 steps, which are toggled by turning on each pad
Chord Scripts
Coltranius Rotator Midi chord rotator inspired by Michael Brecker. Play a midi note on a poly synth, and Rotator will add intervals around it from a customizable chord sequence.
In-Order ARP Plays beat-synced in-order arpeggios with variable gate-length and humanization
One Finger Orchestra aka McOrchestrator Generate ARPs and complex chord voicings for single note input
The Chordulator Play a huge variety of chords with just one note
Chord Delay Delays the consecutive notes of a chord at a specified rate
Chordpeggio Input four notes using the keyboard, which will be ordered from lower to higher. Then, every new bar and for every note, the chordpeggio will play as many notes as their respective NPM (notes per measure)
Strummer Set a strumming pattern using the knobs, starting from the first knob
Sequencer Scripts
MidiMarble 2 MidiMarble is a step sequencer for notes or midi CCs
Circus An LFO driven multi sequencer with MIDI note or beat triggers
Flow 7-pattern, multi-channel, 16×8 step midi looper & sequencer for Mozaic. (Tutorial)
Frazer Frazer records series of notes and assigns each to a trigger. When the trigger is then received on MIDI in, the phrase is sent on MIDI out
Orchestra Orchestra is a scene-based “meta-sequencer”, designed to help users build song structure out of pattern-based sequencers
Simple Recorder/Looper Record incoming MIDI data and then replay/loop it
Chord Magic Chord based sequencer with 16 scenes
Metroplex 8 stage MIDI step sequencer inspired by the Intellijel Metropolis
Pulse Sequencer Sequencer for polyrhythmic pulses. Possibly useful as a general rhythm sequencer
Infinity Polyphonic MIDI Looper that plays back a recorded sequence, playing the next event either once every interval, or once every time it receives a new MIDI note. Optionally transpose the loop
MidiMarble MidiMarble is a step sequencer for notes or midi CCs
Generative Scripts
MIDI Turing Machine Generative music sequencer based on the popular Eurorack module by Tom Whitwell. Also inspired by the Encoder Audio Turing Machine for Max/MSP
Clusters Clusters is a polyphonic MIDI particle generator meant to provide rhythmic or atmospheric accompaniment. Clusters receives MIDI input from a MIDI keyboard controller, or other MIDI input device, and outputs a generated sequence of MIDI notes in response
Monty Hall Simulator A generative music maker based on the conundrum from the American game show Lets Make a Deal which puzzled mathematicians in the 1990s after Marilyn Vos Savant claimed a contestant always improves their chances of winning from 1/3 to 2/3 by switching boxes
Mutating Sequence Generator Generates a random midi sequence that can mutate and evolve
Minimalism Wizard Takes as an input one or more bars of MIDI notes, and then transforms them according to various minimalism techniques from the late 60’s / 70’s such as phasing, note substraction, note length, plus scale modification and global transposing
Reich Phasing Steve Reich style phasing example. Melody is based on the first theme of Piano Phase (1967). Script generates a midi output that consists of two versions of the same melody, with one playing slightly faster than the other
Drum Scripts
Joc-euclidean-rhythm  Easy to use euclidean rhythm sequencer a for single drum channel or to feed Joc Melody Maker
BeatMarble XY (For any Drum/Percussion) A crossbreed of a Turing Machine sequencer and an Euclidean sequencer, made for drums. BeatMarble XY is not specialised on a particular drum type
BeatMarble SD (For Snares and Claps) A crossbreed of a Turing Machine sequencer and an Euclidean sequencer, made for drums. BeatMarble SD is specialized on playing Snare Drums or Claps
BeatMarble HH (For Hihats) A crossbreed of a Turing Machine sequencer and an Euclidean sequencer, made for drums. BeatMarble HH is specialized on playing Hihats
https://patchstorage.com/beatmarble-bd-for-bass-drums/ A crossbreed of a Turing Machine sequencer and an Euclidean sequencer, made for drums. BeatMarble BD is specialized on playing Bass Drums
Remap Multi-Channel Midi Drums Remap 8 drum trigger channels (from GR-16,Attack,BeatHawk or Poly2) to new notes preserving velocity of the original notes
Split&Remap Rozeta X0X/Rhythm Split the 8 drum notes of Rozeta X0X or Rhythm onto separate midi channels and remap to new output notes
CC Scripts
Complex LFO XY Send out four MIDI CC messages after you start the host app, two are shown on the XY Pad.
Joc-p-lock-symphony Produces some fairly sophisticated, rhythmical CC sequences
Envelope+ Envelope+ creates and processes up to 32 CC envelopes
PhaseCCMaker PhaseCCMaker creates and processes up to 32 phase patterns
Joc CC quantiser Choose between 1 and 8 values to quantise CC messages passing through
Sample & Hold Contains two independent MIDI CC Sample and Hold devices
CC Processor Four independent CC processors, each with control over CC level and ballistics in the style of West Coast control voltage processors made by Buchla, Serge, and others
Chaos LFO Utilizes Lorenz and Rössler differential equations—which are known for having chaotic solutions under certain starting conditions—to generate three unpredictable cyclic MIDI CC LFOs called X, Y, and Z
MIDI CC Randomizer and Scenes Randomize, tweak, store, and recall cc value sets
Scenic Sequencer Create scenes based on values set for a set of controllers (MIDI CC) as well as MIDI thru handling per channel. Create a sequence of these, controlling (e.g. launching) clips, AU parameters in a host like AUM
RelativeCC Receives relative cc values from midi controller and outputs them as absolute
MIDI ADSR Note-triggered ADSR envelope for sending MIDI CC values
MIDI Morph Pad Save scenes of CC values and morph between them
Controller Scripts
Joc PC on the BEAT Grid of pads that send out configurable program change messages
ControlChain Package containing _ControlConverter_, _ChannelSwitcher_, _CurveMaker_, _Quadruplicator_, _Triplicator_, _Sostenuto_, _BipolarSplitter_, _DataReducer_
_ControlConverter_ Transform the four input controls (AfterTouch, Modwheel,Breath or Expression) to any other control you might need
_CurveMaker_ Easily create response curves for five midi controls (AfterTouch, Modwheel,Breath, Expression, Velocity)
_Quadruplicator_ Sends output from the chosen controller to the four live midi controllers aftertouch, modwheel, breath and expression
_Triplicator_ Duplicates the output from the chosen controller to breath, cc 2. A triplicate can be sent to aftertouch, modwheel or expression
_Sostenuto_ Use your sustain pedal, pitchbend up or any cc to hold the notes currently playing
_BipolarSplitter_ Send a high precission 14 bit cc pair with your pitchbender. One cc for down and the higher cc for up
_DataReducer_ Clamps down an overactive CC controller to a more sensible rate of transmission
Sustain Pedal Provides sustain pedal support for those synths that lack it
Aftertouch to CC Convert Channel Aftertouch (Channel Pressure) to a Midi CC
Application Specific Scripts
Spectrum Parameter Randomizer Spectrum Parameter Randomizer is a tool for generating random patches for Spectrum, the amazing FREE AUv3 port of Mutable Instruments eurorack modules by Burns Audio
ReSlice randomizer A MIDI processor which is made to work in conjunction with an external sequencer and ReSlice sampler
ZachteMan Demo in trying to re-creating a ZachteMan on iOS using ENSO to simulate the walkman
Ruismaker Loopers Records input on the 16 pads and triggers Ruismaker (and Ruismaker FM) notes
External Hardware Scripts
Rompler for OB-Xd  Script to select and send patches to OB-Xd via CC Midi
MIDIPlus SmartPAD Unlocker Unlocks MIDIPlus SmartPADs MIDI controllers into Ableton mode
VOLCA DRUM PATCH ASSISTANT Patch editor, repository and general sidekick for the Korg Volca Drum
Seq8: Launchpad Step Sequencer Seq8 is a 8×8 step sequencer for the Novation Launchpad
CC to “ROLAND JUNO 106” Sysex This script receives external CC values and converts them to JUNO 106 sysex. You can control every sliders from an external controller
eDrum Monitor Script to help setting up eDrum triggers by animating velocities using the sliders as bar graph meters so that sensitivity and cross-triggering can be optimised
MWS-BOS(S)2BULL Convert a Boss FC-50 MIDI foot controller into a passable set of monophonic MIDI bass pedals to control the bass synth of your choice (possibly a Moog Taurus emulator)
MS6 Control Panel Provides voice parameter access for a Cheetah MS6 hardware synth with Kristofer Maad v1.3 custom firmware
Developer Tools
4Devs: NoteStateTracking (Example) Shows how to implement note state tracking to enable functions acting on active notes only. Double NoteOn / NoteOff inputs are easily detected and filtered out
4Devs: ‘Mozaic Language Support’ for Code Text Editors Enhances external code text editors with syntax highlighting, jump markers, code completion, templates and full Mozaic language validation
4Devs: Pad Manager (Include) Multi-pad single-tab/double-tab/hold interaction support script with user functions, intended to be easily included into your own scripts
4Devs: Midi State Debugger A debugging tool to produce a summarized state overview of all midi events received on all channels
Double Tap and Hold Snippet for Mozaic that implements double-tap and tap-and-hold gestures on the pads

Below are user-created scripts mostly made available prior to the official script repository’s establishment. You may make scripts available by posting below.

Please list plugins as bulleted items. One line max, suggested. If anything more than a one line description is needed, please make a link to a dedicated page and create it.

  • mozaic_plugin_engine.txt
  • Last modified: 2019/12/13 18:11
  • by _ki