Unify Manual

Your complete reference to PlugInGuru's creative playground!

User Tools

Site Tools


midi-controller-files

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
midi-controller-files [2021/09/11 15:48] – [Example 3 (partial): Akai MPD218] shanemidi-controller-files [2023/05/08 18:59] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== MIDI Controller Files ====== ====== MIDI Controller Files ======
 **This page describes a Unify feature which is both ADVANCED and EXPERIMENTAL. Limited support will be provided. Please do not attempt to follow these instructions unless you are sure you understand them.** **This page describes a Unify feature which is both ADVANCED and EXPERIMENTAL. Limited support will be provided. Please do not attempt to follow these instructions unless you are sure you understand them.**
- 
-**This version of the page is valid for Unify v1.4.x only.** 
  
 The stand-alone Unify app can make use of //plain-text files// containing instructions for how to interpret MIDI data coming from a specific MIDI controller device. These "MIDI controller files" must be placed in a folder called //MIDI Controller Files// located in the Unify Content Folder (beside //Libraries//, //Presets//, etc.; see [[files-folders|Unify's files and folders]]). You can easily open your Unify Content Folder from within Unify, by clicking the gear icon to open the [[settings|Settings View]], and clicking the "Open..." button. The stand-alone Unify app can make use of //plain-text files// containing instructions for how to interpret MIDI data coming from a specific MIDI controller device. These "MIDI controller files" must be placed in a folder called //MIDI Controller Files// located in the Unify Content Folder (beside //Libraries//, //Presets//, etc.; see [[files-folders|Unify's files and folders]]). You can easily open your Unify Content Folder from within Unify, by clicking the gear icon to open the [[settings|Settings View]], and clicking the "Open..." button.
Line 126: Line 124:
     * It is necessary to use the //Korg Kontrol Editor// app to CHANGE the controller configuration, setting all the "R" buttons to //Button Behavior = Toggle//. A setup file for this purpose is provided below.     * It is necessary to use the //Korg Kontrol Editor// app to CHANGE the controller configuration, setting all the "R" buttons to //Button Behavior = Toggle//. A setup file for this purpose is provided below.
  
-**These new parameters are highly experimental** and should not be considered "ideal" in any way, nor should they be treated as //final//. We expect to refine the list of MIDI-related OSC parameters over time, and user comments/suggestions are welcome.+**These new parameters are still experimental** and should not be considered "ideal" in any way, nor should they be treated as //final//. We expect to refine the list of MIDI-related OSC parameters over time, and user comments/suggestions are welcome.
  
 ==== Setting up the Korg nanoKontrol 2 ==== ==== Setting up the Korg nanoKontrol 2 ====
Line 200: Line 198:
 The [[https://www.akaipro.com/mpd218|Akai MPD218]] is a USB MIDI controller featuring sixteen drum-pads (each of which sends a MIDI note-on with a distinct note-number) and six knobs (each of which sends MIDI CC data with a distinct CC number). The following MIDI Controller file illustrates some possible techniques for using this device and other controllers like it. The [[https://www.akaipro.com/mpd218|Akai MPD218]] is a USB MIDI controller featuring sixteen drum-pads (each of which sends a MIDI note-on with a distinct note-number) and six knobs (each of which sends MIDI CC data with a distinct CC number). The following MIDI Controller file illustrates some possible techniques for using this device and other controllers like it.
  
-<file Akai MPD218.txt>+<file text Akai MPD218.txt>
 # First non-blank, non-comment line is the MIDI controller name (or a prefix thereof) # First non-blank, non-comment line is the MIDI controller name (or a prefix thereof)
   MPD218   MPD218
Line 228: Line 226:
 cc 27   macro/18 cc 27   macro/18
  
-# Pads bank A+# Pads bank A: first three pads on top row
 no 48   macro/8 0.0 no 48   macro/8 0.0
 no 49   macro/8 0.35 no 49   macro/8 0.35
 no 50   macro/8 0.7 no 50   macro/8 0.7
  
 +# Pads bank A: first three pads on second-from-top row
 no 44   inst/1/midiToggle no 44   inst/1/midiToggle
 no 45   inst/2/midiToggle no 45   inst/2/midiToggle
Line 244: Line 243:
  
 ==== Pads bank A section ==== ==== Pads bank A section ====
-The MPD2018 also supports three banks of MIDI-command assignments for the sixteen physical knobs, yielding a total of 48 logical knobs, but as this is only a partial tutorial example, there are only six "no" lines, all for pad bank A. These are divided into two groups of three lines.+The MPD2018 also supports three banks of MIDI-command assignments for the sixteen physical pads, yielding a total of 48 logical pads, but as this is only a partial tutorial example, there are only six "no" lines, all for pad bank A. These are divided into two groups of three lines.
  
 The first three "no" lines are for the first three pads along the top row of the MPD218 (designated 13, 14, and 15) on the front panel). All three pads are set up to send a specific fractional value (range 0.0 to 1.0) to Unify's Macro8 knob, setting it to a specific position. The first three "no" lines are for the first three pads along the top row of the MPD218 (designated 13, 14, and 15) on the front panel). All three pads are set up to send a specific fractional value (range 0.0 to 1.0) to Unify's Macro8 knob, setting it to a specific position.
Line 256: Line 255:
  
 These last three "no" lines don't have a numeric value at the end, so Unify internally uses the default value 1.0, which is ideal for triggering binary and toggle-type parameters. This matches the behavior of "no" lines in Unify versions prior to v1.6.2, when support for numeric values was added. These last three "no" lines don't have a numeric value at the end, so Unify internally uses the default value 1.0, which is ideal for triggering binary and toggle-type parameters. This matches the behavior of "no" lines in Unify versions prior to v1.6.2, when support for numeric values was added.
 +
 +===== MIDI keys can do more than play notes! =====
 +The six "no" lines at the bottom of the MPD218 example file illustrate how **Unify v1.6.2 and later** allow you to use MIDI note-on events to control things like [[layer-stack-view#inst_midi_layer_enable_disable|layer MIDI-enable]] and [[[[patch-variations|Patch Variations]].
 +
 +The example refers to a drum-pad controller, but **you can do the same thing using any MIDI keyboard** in a live-performance setup.
 +  * Maybe you don't have a pad controller, but you do have a small secondary MIDI keyboard. You could set up a MIDI controller file to allow you to switch layers on and off (or mute/solo layers, etc.) using keys on that little keyboard.
 +  * If you have just one 88-key master keyboard, you might want to set up a handful of notes at the very bottom or top end (which you don't expect to actually use to play notes) to trigger other functions in Unify.
  
  
Line 274: Line 280:
   - Some devices (the KORG nanoKONTROL2 is a major example) generate MIDI CC messages which are normally reserved for special purposes, e.g. CC#0 (default assignment for the first slider) would normally be interpreted by Unify and most other MIDI instruments as //MIDI Bank Select//. With MIDI controller files, you can effectively intercept such messages, and specify exactly how they are to be interpreted, knowing they will be suppressed at the early stages of Unify's MIDI processing, and won't go on to trigger their more conventional functions.   - Some devices (the KORG nanoKONTROL2 is a major example) generate MIDI CC messages which are normally reserved for special purposes, e.g. CC#0 (default assignment for the first slider) would normally be interpreted by Unify and most other MIDI instruments as //MIDI Bank Select//. With MIDI controller files, you can effectively intercept such messages, and specify exactly how they are to be interpreted, knowing they will be suppressed at the early stages of Unify's MIDI processing, and won't go on to trigger their more conventional functions.
  
 +===== Suppressing specific MIDI messages =====
 +**As of Unify v1.9**, you can put the word //suppress// in place of a normal command-path, to entirely suppress (filter out) a specific CC message.
 +
 +This was added in response to feedback from a user who found that a Roland D-50, used as a MIDI controller, sends a MIDI CC#123 (all notes off) message when the last key is released, and this can cause problems with some plug-ins. Adding the line
 +
 +  cc 123 suppress
  
 +to the active MIDI Controller file will cause this message to be suppressed (filtered out).
  
midi-controller-files.1631375306.txt.gz · Last modified: 2023/05/08 18:59 (external edit)