#+title: ModUPlo
#+BEGIN_QUOTE Live is Modular
Modular is Love #+END_QUOTE
Version: 0.3.2
I find that one of the more fun and gratifying ways to use Ableton Live is as a Modular Synthesizer. ModUPlo is a set of building block to help achieve that end.
ModUPlo are set up so that they take an input, and (generally) output something. They may take an input and change it back to an output, or transform it into another output entirely.
- Downloading
For now there is no official release, so [[https://github.com/jonnay/ModUPlo/archive/master.zip][Download the latest as a zip file]].
- Contents
First there is the set of general blocks. By analogy, these are your 2x2 or 2x4 multicolored blocks. They are general use bricks without a purpose in mind.
There are also a set of specific blocks that scratch my itchey-witchy-toeey-woseys. By analogy these would be your little puppy or construction worker figures.
- Inputs and Outputs
Moduplo Explains what it takes as input and output by confusing tiny icons. Don't worry. You can also use the mouse and hover over the logo to get a full description in the live info box.
The inputs and outputs are:
- [[file:assets/key.png]] Midi Notes
- [[file:assets/metronome.png]] Transport (metronome, etc.)
- [[file:assets/wave.png]] Audio
- [[file:assets/knob.png]] Parameters
- [[file:assets/trigger.png]] Trigger
- [[file:assets/Gate.png]] Gate
The parameter inputs are essentially knobs, and can either be twiddled by mouse, or mapped to.
Parameter outputs have map buttons that are intended to be mapped to other devices.
Triggers are currently ill defined. A trigger input is any parameter greater than 64. A trigger output sets a parameter to 127 for a 64th note.
Gates are also ill defined. Input: < 64 off, > 64 on. Output: 0 off 127 on
- General Blocks
These general use blocks could theoretically be used for anything. They all started as a way to scratch a particular itch of mine, but were generalized.
** PolyPhony - Count concurrent note on messages
[[file:assets/screenshots/screenshot-PolyPhony.png]]
Ever wanted to send a parameter based on he number of midi notes held? This module is for you.
You could turn a mono-synth into a polysynth by dumping it in a rack, duplicating it, and putting one of these in front.
** NoteAte - Turn a Midi note into a Parameter
[[file:assets/screenshots/screenshot-PolyPhony.png]]
Monophonic. Converts notes into parameters.
** 8StepSeq - A simple 8 step sequencer
[[file:assets/screenshots/screenshot-8StepSeq.png]]
A very simple 8 step sequencer. Made to be used with a piece of hardware for on-the-go parameter fun.
** Average - 2 Control Messages Enter, one Control message leaves [[file:assets/screenshots/screenshot-Average.png]]
There are times that I want 2 sources to control 1 parameter. This solves that.
** DynamicControl - A building block for a compressor [[file:assets/screenshots/screenshot-DynamicControl.png]]
a little bit like an envelope follower, but really only concerned about threshold. Once the audio reaches a certain level it starts sending out parameter messages. The Speed controls how reactive Dynamic Control is: from kinda-quick to molasses slow.
- and - output 2 basically bullshit scales, find out which one is right for you!
** Random8 - On any of 4 Triggers outputs 8 random values [[file:assets/screenshots/screenshot-Random8.png]]
Randomizes 8 parameters. 4 triggers are provided, and are in order of precedence (most significant trigger first). That means you could map the last 3, while saving the first one for manual control.
** LongCount - Every 64 / 128 / 256 / 512 bars Output a Trigger [[file:assets/screenshots/screenshot-LongCount.png]]
Counts Bars, outputs a Trigger. Simple really.
** YouKlid - A Euclidian Trigger Generator [[file:assets/screenshots/screenshot-YouKlid.png]]
Give it a number of onsets, a length, offsets, and a beat, and it generates Euclidian rhythms for you.
Try chaining this to Makenote and then a drum rack.
** abACABad - An Abacabadaba generator that is on power of 2 boundaries [[file:assets/screenshots/screenshot-abACABad.png]]
Generates a simple abacabadaba pattern. You specify the rate in beats, and the "order" and it will generate patterns like:
- 0
- 0 127
- 0 64 0 127
- 0 32 0 64 0 32 0 127
- 0 16 0 32 0 16 0 64 0 16 0 32 0 16 0 127
** MakeNote - A UI to view midi notes, and generate them from gates/pulses [[file:assets/screenshots/screenshot-MakeNote.png]]
Shows you what note is being played, or allows you to use control messages to create notes. If fed a pulse (top) the
The pink line below the keyboard shows the range of human hearing when mapped to midi notes.
- Specific Blocks
These are less generic blocks and fit specific needs for me. They may also fit for you!
** ScAle - Scale notes according to Push or Push 2 scale setting
[[file:assets/screenshots/screenshot-ScAle.png]]
Like the Live Midi Scale object, but takes the scale from Push (2) and scales incoming midi to that. Also respects Root note.
It needs a better display.
** AckSent - The TB-303 Accent Circuit Emulator
[[file:assets/screenshots/screenshot-AckSent.png]]
This does a velocity based emulation of the TB-303 Accent Sweep circuit based on the description by insane-genius Robbin Whittle [[https://www.firstpr.com.au/rwi/dfish/303-unique.html]]
First, any incoming velocities are set to 1 if they are less than 64, and 64 if they are higher. If notes with velocity greater than 64 are played in rapid succession the output velocity gets set to higher and higher.
You can use the accent knob to change the amount, and the light signals when you've hit the highest amount.
While not a perfect recreation of the TB-303's accent (the accent has it's own envelope) this is pretty close, but you can map it to any parameter, like say distortion, lfo speed...
** TempoCalc - Everyone builds their own. I am no exception. [[file:assets/screenshots/screenshot-TempoCalc.png]]
Making a BPM to millisecond converter is the Max for Live equivalent of building a scheme interpreter.
This is mine.
- Change Log
- v0.3.2 :: Enhancements
- Dynamic Control works on stereo signals
- Dynamic Control has output meters
- ScAle now displays what and how it's scaling
- ScAle has a gate / on/off switch
- You can collapse MakeNote
- v0.3.1 :: Bugfix
- YouKlid offset works right
- Started Librarification
- v0.3 :: Generative Music Scheme
- Added alpha-quality devices to help with generative music
- Make a trigger abstraction
- Added Gates as a thing
- Started using Sekrut Alien Technology as an extension language.
- v0.2 :: Versioning and 2 devices!
- Added LongCount (may be broken)
- Added Random8
- v0.1 :: Initial commit to repo