Skip to content
Alice Rixte edited this page Jun 9, 2024 · 28 revisions

Overview of LiveScaler

Welcome to the operator's manual of LiveScaler

Presentation

LiveScaler allows to simultaneously transform the MIDI of all MIDI tracks. Basically, LiveScaler maps notes to other notes, and does so for all the instruments of the session. For instance, one can assign to all twelve semi-tone only the notes of the $C$ major scale and do that for every octave (see Custom Transformations).

Using a controller MIDI, a single transformation is applied to all MIDI tracks connected to LiveScaler. This allows to quickly transpose a whole song, to change it's mode (from major to minor), to quantize to some mode ($C$ major in the example here)...

This manual is organised as follow : this page gives an overview of all the features of LiveScaler. Details and technical explanations as well as more examples and practical use case are presented in these three articles : Transformation Parameters, Custom Transformations, MIDI Control.

First steps

Here are the steps to follow to use LiveScaler in your Ableton Live set :

  1. Create a new MIDI track.
  2. Load a unique instance of LiveScaler-Conductor on this track.
  3. For each MIDI track that you want to control, load an instance of LiveScaler-Instrument. This instance should be placed just before the synth/sampler, i.e. after any eventual MIDI effect (arpeggiator, etc.) that you might want to use for this track.
  4. Try to play with the Transp and Mult parameters, this should transpose and change the mode of the tracks with LiveScaler-Instrument on them.
  5. Use a MIDI controller to send MIDI to the LiveScaler-Conductor track. For instance, try to play notes from $C_3$ to $B_3$, this should transpose the tracks with LiveScaler-Instrument on them.

Example : let's suppose you have a basic project with 3 tracks : an audio drum loop, a bass synth and a piano sampler playing some chords. Add an instance of LiveScaler-Instrument before the bass synth and the piano. The drum loop will not be impacted by LiveScaler.

Transformation parameters

Detailed article

Anchor

The anchor of a transformation correspond to the note associated to the integer $0$. In our example of transformation on the right the anchor is the note $C_5$. If we kept the same transformation as the one on the right but with the anchor $D_5$, the transformation would be a quantisation to the $D$ major scale instead of the $C$ major scale.

Base

The base of a transformation corresponds to the number of semi-tone after which the transformation is repeated. In a vast majority of cases the base used is $12$ since it corresponds to an octave. When the base of a transformation is $12$, the same transformation is repeated at each octave. If you want your transformation to be different between $2$ octaves, you might want to set the base to $24$. If you want to use LiveScaler in a microtonal composition, like in $34-TET$ (let's be completely crazy), set the base to a multiple of $34$.

Transposition

The transposition parameter of a transformation will add an offset to the transformation. For instance, if we transpose the C major quantisation of $2$, we obtain a transformation that first quantises the MIDI to the $C$ major scale and then transpose the result of $2$ semi-tones, obtaining a $D$ major scale.

This parameter is different from the anchor in that the anchor is set before applying the transformation and the transposition is applied once the transformation has already been computed.

Mode

The mode parameter of a transformation muliplies the result of this transformation by an constant. This may have a lot of interesting effects, among them switching from major to minor and reciprocally ($mode = -1$), getting a whole-tone scale ($mode = 2$) ...

Custom transformations

Detailed article

LiveScaler allows to define custom transformations. These transformations allow to map all the note in a given interval to any arbitrary note. The mapping is then repeated on all the intervals so that it is defined for any note.

For instance, we could map all twelve semi-tones to notes on the $C$ major scale (see the figure on the right). The same pattern will be repeated on every octave.

Combining with parameters

Custom transformations can be combined with basic parameters. For instance, by choosing $D_5$ as anchor instead of $C_5$ in the transformation on the left, we get a quantisation on the $D$ major scale. Transposing of $2$ semi-tones would first quantize the MIDI to the $C$ major scale and then transpose it to $D$ major. Using $mode = -1$ would first quantize to the $C$ major scale and then transform it to a phrygian $E$ scale. Changing the base would lead to surprising but potentially interesting results.

MIDI control

Detailed article

LiveScaler can be controlled by any MIDI controller. Each MIDI note can be related to any feature of LiveScaler, depending on the mapping you decide to use. For now, there are two main mappings :

  1. A mapping for a 4x4 pad controller, it was initially designed to be used with Atom by Presonus.
  2. An experimental mapping for a MIDI keyboard, which still has to be improved.

If you created a new mapping, I'd love to add it to LiveScaler ! To send it to me, please create a pull request on Github, it'll be appreciated a lot.

The following figure illustrates the mapping for a 4x4 pads grid. The two central columns correspond to transformations : for instance, with a $C$ anchor, applying $I,ii,iii,IV,V,vi,vii$ to a $C$ major chord will respectively transform it to a $C,Dm,Em,F,G,Am,Bm$ chord. The column on the left allows to modulate, to transpose of $1$ semitone and to navigate threw a history of previous transforms. The column on the right focuses on modifying the multparameter.