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.

Signal Flow: MIDI Input —> Density —> Bias (Random mode only) —> Quantize (Quant Mode, Root, Scale) —> Humanize —> Chance (Mode, Choices, Span) —> MIDI Out

CHANCE: Probability that the input note will be modified. Think of this like a wet/dry control for randomness.

CHOICES: The number of possible notes that may be randomly chosen (pre-quatization), from 1 to 24.

SPAN: The distance in semitones between random notes (pre-quatization), from 1 to 24.

MODE: There are two primary modes: Random Mode and Cycle Mode. Each of these has a number of sub-modes. For Random: 1) Add, 2) Subtract, 3) Bipolar 1, and 4) Bipolar 2. For Cycle: 5) Add, Count Down, 6) Add, Count Up, 7) Subtract, Count Up, 8) Subtract, Count Down, 9) Converge, and 10) Diverge.

ROOT: Sets the root note for the quantitizer.

BIAS: Controls probability distribution. At 0 the distribution will be guassian. Above 0 there will be more high notes; below 0 there will be more low notes. Has no effect in Cycle Mode.

HUMANIZE: Adds timing jitter and velocity variation, applied to all notes regardless of chance control.

QUANT MODE: Controls which notes are quantitized and which are effected by the ROOT knob.

DENSITY: Sets the probability that a note plays or remains silent. Applied to all notes, prior to the chance control.

SCALE: Sets the scale used for quantitization. The “Custom” scale is a minor 7th sus chord, spelled 1, b3, 4, 5, b7.

PRESETS: Press and hold a pad to create a preset of the current settings. Recall a preset by tapping its pad.

PRESET MORPHING: Use the XY pad to morph between the four presets stored on the pads. ROOT, SCALE, and QUANT MODE are not changed by the XY pad. When you find a variation you like, you can save it to one of the pads and then keep tweaking.

Press SHIFT to see the current values of the knobs.

To get a feel for what the controls do, try feeding in a steady stream of 16th notes of a single pitch and have a play with the knobs and the XY pad. Even simple and boring source material can produce many beautiful and interesting patterns.

1081 PM
  • Platform:
  • Category: Effect
  • Revision: 1.4
  • License: MIT License
  • Views: 1,850
  • Modified: 2 years ago
Chat about this patch on Discord! Download (119)
Appreciate 15
5 comments on “RANDOM!
  • Bryan on said:

    Version 1.1 Update:

    * Updated XY Pad to work with Mozaic Version 1.0.3.

  • Bryan on said:

    Version 1.3

    * Added MIT Licensing information.

  • Bryan on said:

    Version 1.4

    * Huge bugfix update! Code has been completely refactored and optimized.
    * State saving now works correctly.
    * XY Pad now no longer effects ROOT, SCALE, or QUANT MODE, which should be way more useful for most users.
    * Knob values now appear under the knob being adjusted and at the top of the plugin.
    * New, more useful behavior when span is set less than choices.
    * Script should now respond to MIDI on any channel.

  • Irena_Svetlovska on said:

    Hi Bryan, total non coder and barely a musician here (ex drummer, make up your own jokes :) ), so I am so grateful for the brilliant gadgets you come up with. I just created a piece using Random which I am very happy with. Thank you for making it possible. Here’s the link if you are interested:


  • Bryan on said:

    Very nice piece, Irena_Svetlovska! Thank you for sharing.

  • Leave a Reply