Two devices are included and work in tandem: the Detector and the Filter:
- The Detector will remember all MIDI-note pitches that are sent through it and share this "assembled scale" with the Filter.
- The Filter in turn will transpose any note it receives with a pitch that lies outside the scale to one with a pitch that lies within, at random and within the same octave.
In this way, MIDI from one source can be fit to match the mode and key (or lack thereof) of another, no matter which pitches are involved in either, and this can all be accomplished in real time.
- In both the Detector and the Filter, the assembled scale is listed above the keyboard in text and lit in blue on the keys themselves. Manually clicking the keys of the keyboard will toggle that pitch's inclusion in the scale.
- By default, the Detector has a 'Memory Span' of 15 seconds. This means that any notes passing through it will be included in the assembled scale for only that much time, at which point (if that note has not been detected again) it will be removed from the scale. This helps account for misplayed notes, key changes or the like. This time span can be set anywhere from 1 to 60 seconds or, by deselecting the check box, the device can be set to retain detected pitches indefinitely. This check box and the dial can be mapped and automated.
- The 'Clear' button of either device will remove all detected pitches from both. This control can be mapped and automated.
- Either device can be bypassed by clicking the 'On' button. Clicking a second time will start the device functioning once again. This control can be mapped and automated.
- By default notes will be transposed by the Filter, but they can also be silenced entirely by changing 'Transpose Discordant Notes' to 'Silence Discordant Notes'. This control can be mapped and automated.
- If transposition is allowed, the initial randomization will be remembered, so that all notes will continue to be transposed to the same notes they were originally. Alternatively, discordant notes can be transposed to a different note every time by changing 'Remember Prior Transpositions' to 'Forget Prior Transpositions'. This control can be mapped and automated. If transpositions are being remembered and a certain note is set to be transposed to, but then falls out of the scale because of the 'Memory Span' mentioned above, a new note will be chosen at random for that transposition.
This is a Max for Live device. It requires Ableton Live 8.3 or newer and at least a trial of Max/MSP 5.1 or newer, which can be downloaded from cycling74.com/downloads