No Input Mixer MIDI Control

Processor No Input Mixer exposes MIDI alongside its native GUI and automatable CLAP parameters. Any suitable controller or host mapping can use that interface. The supplied OXI E16 scene, four Intech Grid BU16 profiles, and s3g Utility NIM Gesture provide one complete control system, but they are not requirements for using the instrument.

External control is optional. No Input Mixer can be played entirely from its editor and host automation without a MIDI device or the NIM Gesture utility. Add only the parts of this setup that are useful for a particular performance.

This page describes the shared wire protocol, the CLAP setup in REAPER, and the standalone application's MIDI-source selector. The standalone uses the same mappings and embeds NIM Gesture; see the No Input Mixer Standalone guide for its audio-device, output-routing, installation, update, and application-specific instructions.

Optional MIDI Mapping

The processor publishes one Controller MIDI In note port and normal automatable CLAP parameters. A host can map other MIDI hardware to those parameters, or a controller can address the processor directly with MIDI 1. The implemented direct protocol uses channel 16 for 14-bit NRPN parameter turns, performance-command Note On messages, and Program Change preset recall. Stable CLAP parameter IDs are also the NRPN addresses, so a mapping does not depend on the physical E16 layout.

Optional layerPurpose
Host or custom MIDI mappingMaps any suitable controller to the exposed No Input Mixer parameters.
OXI E16 NIM P2Provides twelve pages of named encoder turns, action presses, and returned encoder-ring values.
One or four Intech Grid BU16 modulesPresent the signed 8-by-8 matrix as four 4-by-4 pressure-sensitive quadrants with LED feedback: simultaneously on four modules, or page-by-page on one module.
NIM Gesture utilityOptional companion used in conjunction with the OXI E16. It records free-running E16 parameter loops and returns live or played values to the E16 rings.

Channel 16 is reserved by the supplied setup for NRPN and command messages. The four BU16 quadrant profiles use channels 1–4 whether they occupy four physical modules or four user pages of one module. Keep those streams away from unrelated musical instruments when using the ready-made mappings.

No Input Mixer mirrors its current parameter state as channel-16 NRPN on the final MIDI output. A single GUI or host-automation change is returned on the next process block. Startup, Random, factory-preset, and restored-state changes are sent as a throttled complete snapshot, sixteen parameters per block, so E16 rings reach the new positions without placing one large MIDI burst in the audio callback. Generated feedback is marked DONT_RECORD.

DIY Controller Protocol

The protocol is controller-independent. A DIY surface can map only the controls it needs; it does not need to reproduce the supplied E16 pages. Parameter control, command buttons, preset recall, and matrix pressure use ordinary MIDI 1 messages. The canonical source specification is also available as no_input_mixer_midi.md.

MessageAssignment
14-bit NRPN, channel 16Parameter number equals the stable CLAP parameter ID. Send CC 99, CC 98, CC 6, then CC 38.
Note On, channel 16Non-zero velocity invokes the command assigned below. Note Off is ignored for commands.
Program Change, channel 16Values 0–19 recall factory presets 1–20.
Notes and poly pressure, channels 1–4Optional four-quadrant matrix performance protocol described under BU16 below.

NRPN data combines to raw = 128 × CC6 + CC38, from 0 through 16383. Continuous values map linearly across the published parameter range unless the control is described as normalized; stepped parameters round to the nearest enum value. Bipolar center is raw 8192. Selecting RPN with CC 100 or 101 clears the active NRPN, and null NRPN 127/127 is ignored.

Global NRPN addresses

IDControlRange / valuesIDControlRange / values
1Output−60…+6 dB31Aux B Return0…1
2Ceiling−18…0 dB32Aux B Feedback0…0.96
3Limiter0 Off, 1 On33Aux A Mute All0 Off, 1 On
4DC Block0 Off, 1 On34Aux B Mute All0 Off, 1 On
5Feedback0…1.2535Behavior0 Glide, 1 Step, 2 Cut, 3 Burst, 4 Scramble, 5 Ratchet, 6 Cascade, 7 Erode
6Coupling0…1.2536Event RateNormalized 0…1
7Phase0…137Event LengthNormalized 0…1
8Drift0…138Density0…1
9Formant0…139Chaos0…1
10Quality0 1×, 1 2×, 2 4×40Transition / Edge / XfadeNormalized 0…1
11Agency0…141Choke0…1
12Space0…142Aux A Bias−1…+1
13Preset Variance0…143Aux B Bias−1…+1
14Internal Tone−1…+144Response Mode0 Off, 1 Follow, 2 Avoid, 3 Edge, 4 Balance
15House Tone−1…+145Response Depth0…1
16Flow0…146Response Threshold0…1
17Spread0…147Response AttackNormalized 0…1
18Vortex−1…+148Response ReleaseNormalized 0…1
19Field Depth0…149Response Direction−1 Invert, +1 Normal
20Field Shape0 Flow, 1 Pulse, 2 Chase, 3 Swirl, 4 Scat, 5 Hold, 6 Bloom, 7 Braid, 8 Attract50Hold Ecology0 Off, 1 On
21Field RateNormalized 0…151Slow Time0 Off, 1 On
22Field Phase0…152Tempo Sync0 Off, 1 On
23Aux A TypeEffect index 0…2253Field Division0…9: 1/64 through 8 Bars
24Aux A Gain0…154Event Division0…9: 1/64 through 8 Bars
25Aux A Tone0…1
26Aux A Return0…1
27Aux A Feedback0…0.9657BU16 Mode0 Flip, 1 Latch
28Aux B TypeEffect index 0…2258BU16 New Sign0 Positive, 1 Negative
29Aux B Gain0…159BU16 Ramp20…10000 ms
30Aux B Tone0…160Behavior Depth0…1

Effect indices 0–22 are Bypass, Wool, Rat, Zone A, Zone B, Fuzz I, Fuzz II, Diode, Ring, Relay, Crush, Splice, Logic, Shred, Void, Rotor, Phase, Chorus, Throat, Robot, Oct Down, Oct Up, and Oct Stack. Division indices 0–9 are 1/64, 1/32, 1/16, 1/8, 1/4, 1/2, 1 Bar, 2 Bars, 4 Bars, and 8 Bars.

Matrix, lane, and insert addresses

FamilyNRPN formulaFields
Matrix source s to destination d100 + 8 × d + sd and s are zero-based 0–7; value is −1…+1.
Lane direct1000 + 100 × lane + offsetLane is zero-based 0–7. Offsets: 0 Body, 1 Loss, 2 Level, 3 Mute, 4 Low, 5 Mid Frequency, 6 Mid Gain, 7 High, 8 Aux A Send, 9 Aux B Send, 10 Tune Note, 11 Tune Cents, 12 Pitch Lock, 13 Aux A Tap, 14 Aux B Tap, 15 Aux A Return, 16 Aux B Return.
Lane insert1000 + 100 × lane + 20 + 10 × slot + fieldSlot is zero-based 0–2. Fields: 0 Type, 1 Gain, 2 Tone, 3 Bias, 4 Level, 5 Bypass.

Lane Mid Frequency maps exponentially over 80–8000 Hz. Aux tap values are 0 Return, 1 Pre EQ, 2 Post EQ, and 3 Post Insert. Matrix and NRPN state feedback use these same stable IDs, so motor rings or LED displays can decode the returned stream without a second address map.

Channel-16 Note commands

NoteCommandNoteCommand
32–39Toggle lane mute 1–872Toggle Aux A mute
40–47Kill lane 1–873Toggle Aux B mute
48–55Toggle Insert 1 bypass, lanes 1–880–87Toggle pitch lock, lanes 1–8
56–63Toggle Insert 2 bypass, lanes 1–8117 / 118Select BU16 Flip / Latch
64–71Toggle Insert 3 bypass, lanes 1–8119Toggle new-wire sign
120New excitation seed121Forget
122Random Mid123Panic
124Clear matrix125 / 126Random Low / High
127Toggle Response Normal / Invert

Optional NIM Gesture Utility

s3g Utility NIM Gesture is an optional MIDI-only companion designed specifically for use in conjunction with the OXI E16 and its supplied NIM P2 scene. Place it before No Input Mixer when free-running E16 encoder loops are wanted. It is not required for BU16 control, a DIY mapping, ordinary host automation, or direct E16 control without gesture recording. Starting Record opens one take, and stopping Record gives every E16 parameter touched during that take its own loop. Later takes can have different lengths, while Live Takeover briefly gives a moved E16 encoder priority over recorded playback.

NIM Gesture is the optional recording companion for the OXI E16. It mirrors all twelve NIM P2 pages: inner rings show values, and an outer ring identifies controls with recorded loops.

Record, Play/Pause, Clear Selected, Clear All, Cancel, and Live Takeover are available in the utility GUI and as host parameters. A fresh utility instance starts paused. In REAPER, the resulting loops and Play state are stored in CLAP project state. Playback continues when the utility window is closed and can be restored with the REAPER project, so pause Play before comparing static presets or DSP revisions; an active loop continues to write its parameter, including Output or Drift.

The standalone application deliberately has a different lifecycle. Every launch begins with no Gesture loops, Record off, and Play paused; it never restores a prior recording from application preferences. Closing EDIT NIM GESTURES does not interrupt playback during the current run, but quitting discards unsaved loops. Use SAVE SESSION in MIDI Routing to export a .nimgesture file, and LOAD SESSION to replace the current loops explicitly. A loaded session remains paused until the user opens EDIT NIM GESTURES and turns Play on. The last file is never reopened automatically. The portable file contract is documented in nim_gesture.md.

Without NIM Gesture, the E16 scene can still control No Input Mixer directly, and No Input Mixer's own state mirror still updates the hardware rings; only the utility's recorder and loop playback are absent.

REAPER Track and MIDI Routing

  1. In REAPER's MIDI-device preferences, enable the OXI E16 USB3 port and Intech Grid connection as inputs. Enable their outputs when E16 ring and BU16 LED feedback are wanted.
  2. Create one eight-channel track. When using NIM Gesture, place s3g Utility NIM Gesture first and s3g Processor No Input Mixer 8ch second. Otherwise insert No Input Mixer by itself.
  3. Select the E16 and Grid inputs—or All MIDI Inputs / All Channels on a dedicated controller track—arm the track, and turn input monitoring on. Choose Record: disable (input monitoring only) unless the raw MIDI performance should also be written to a REAPER item.
  4. Return the track's plugin MIDI output to E16 USB3 for encoder-ring feedback and to Grid for BU16 LED feedback. If the instrument track can address only one MIDI hardware output, create two MIDI-only receive tracks. Receive all MIDI from the No Input Mixer track, disable audio on both receives, and assign one hardware output to E16 USB3 and the other to Grid.
  5. Turn USB Thru off on the E16. Returned NRPN ring data must not loop back into the instrument track.

Standalone MIDI Routing

The CLAP and standalone receive the same MIDI protocol, but they acquire hardware differently. The CLAP never opens a MIDI device: REAPER or another host decides which track inputs reach its Controller MIDI In port. The standalone opens CoreMIDI sources itself.

In the standalone output strip, open MIDI and use INPUT SOURCES to check any combination of connected devices. ENABLE ALL and DISABLE ALL are available in the same menu. The app remembers the selection by CoreMIDI device ID and rescans the available source list whenever the MIDI window opens. This allows an E16, one or four BU16 modules, a different commercial controller, a virtual MIDI port, or a DIY surface to be used alone or together without sending every machine-wide MIDI source into the feedback instrument.

Implemented OXI E16 Setup

The supplied NIM P2 scene uses E16 USB3 and MIDI channel 16. Its twelve pages cover live network controls, movement, mixer levels and bodies, two matrix selections, sends, aux tone, low/high EQ, mid EQ, tuning, signed returns, and performance actions. All turns send 14-bit NRPN.

Page map

Encoders are numbered left-to-right and top-to-bottom across the physical 4-by-4 grid. Except for the press-oriented ACTIONS page, each E16 label names the encoder-turn parameter.

PageTitleEncoders 1–8Encoders 9–16
1LIVEFeedback, Coupling, Flow, Phase, Agency, Motion, Spread, VortexFormant, Space, Preset Variance/Response Mode, Aux A/B Return, Drift, Output
2MOTIONEvent Rate/Length, Density, Chaos, Slew, Choke, Field Rate/PhaseResponse Depth/Threshold/Attack/Release, Behavior Depth, Field Shape, Behavior, Output
3AUXTONEInternal/House Tone, Aux A/B Type, Aux A Gain/Tone/Bias/ReturnAux B Gain/Tone/Bias/Return, Aux A/B Feedback, Ceiling, Output
4ACTIONSRecord, Playback, Clear Last, Clear All, Cancel, BU16 Flip/Latch, SignSeed, Random Low/Mid/High, Forget, Matrix Zero, BU16 Ramp, Output/Panic
5MATRIX1Matrix self-routes 1–8Forward ring routes 1→2 through 8→1
6MATRIX2Reverse ring routes 2→1 through 1→8Opposite-lane routes 1↔5, 2↔6, 3↔7, and 4↔8
7SENDSAux A lane sends A1SDA8SDAux B lane sends B1SDB8SD
8RETURNSSigned Aux A lane returns A1RNA8RNSigned Aux B lane returns B1RNB8RN
9MIXERLane 1–8 LevelLane 1–8 Body
10EQ LOHILane 1–8 LowLane 1–8 High
11EQ MIDLane 1–8 Mid FrequencyLane 1–8 Mid Gain
12TUNINGLane 1–8 Tune NoteLane 1–8 Tune Cents

On SENDS, the first letter identifies the aux bus, the number identifies the source lane, and SD means send. For example, A1SD is lane 1's Aux A send and B1SD is lane 1's Aux B send.

RETURNS follows the same bus-first convention with RN for return. For example, A1RN is lane 1's signed Aux A return and B1RN is lane 1's signed Aux B return.

Field Shape, Behavior, and the Aux A/B effect Type selectors are stepped encoder turns. Field Shape includes Bloom, Braid, and Attract after the original six choices; Behavior includes Ratchet, Cascade, and Erode after Scramble. Response Mode, Quality, clock divisions, and insert Type remain in the plug-in GUI.

Encoder presses

The four-character page label always names the turn action. Pressing the encoder can issue a separate command and does not change what turning that dial controls.

Shared presses on every page

EncoderPress action
1NIM Gesture Record
2NIM Gesture Play/Stop
3Clear selected/last gesture loop
4Clear all gesture loops
5Cancel recording

These presses remain in the same physical positions on all twelve pages. For example, the first five MOTION labels still describe the turn controls—Event Rate, Event Length, Density, Chaos, and Slew—while pressing those encoders operates the gesture recorder.

Additional page-specific presses

PageEncoder/turn labelPress action
LIVE, MOTION, AUXTONE, ACTIONSOUT!Panic
MOTIONBDEPToggle Response direction between Normal and Invert
MIXERLane Level 6–8Toggle that lane's mute
MATRIX18>1Panic
AUXTONEAR/M, BR/MToggle complete Aux A or Aux B mute
TUNINGTune Note 6–8Toggle that lane's pitch lock

ACTIONS page

EncodersPress actions
1–5Record, Play/Stop, Clear Last, Clear All, Cancel
6–8BU16 Flip, BU16 Latch, New Sign
9–12Seed, Random Low, Random Mid, Random High
13–14Forget, Clear Matrix (MX0)
15No press; turn RAMP
16Press Panic; turn OUT!

On AUXTONE, ABIA and BBIA are bipolar −1 to +1 third-parameter macros for the selected Aux effect, not signal-routing polarity. In the plugin or standalone app, open MIXER, then click the Aux A or Aux B EDIT button. The third Effect Editor row shows the current effect-specific name—Bias, Asymmetry, Direction, Balance, Center, Regeneration, or another label—and its signed value. Matrix crosspoints and the signed A1RNB8RN return controls set routing polarity.

Field Shape, Behavior, Response Mode, and both Aux effect Type selectors are stepped E16 turns. The same encoders reach Bloom/Braid/Attract and Ratchet/Cascade/Erode; no controller-scene remap is required because their stable NRPN addresses remain 20 and 35. Quality, clock divisions, and insert Type remain in the plugin GUI. LIVE encoders 11–12 expose Preset Variance and Response Mode. MOTION encoder 13 turns Behavior Depth at NRPN address 60; pressing it toggles Response direction without changing the depth. BU16 Ramp is also available to host automation and directly as NRPN address 59.

Copy controllers/oxi_e16/Scenes/NIM P2.oxie16 into the OXI App's Scenes folder, refresh its computer-side scene list, and drag NIM P2 to an E16 scene slot. Leave automatic scene transmission off initially; use Send All only when intentionally replacing the current plugin settings.

Implemented BU16 Matrix Setup

Four supplied Grid profiles divide the complete matrix into quadrants. Notes 0–15 run left-to-right and top-to-bottom in each profile:

One-module or four-module layout. For simultaneous access, load one quadrant profile onto each of four BU16 modules and arrange them as an 8-by-8 surface. A single BU16 can instead hold the Upper Left, Upper Right, Lower Left, and Lower Right profiles on its four user pages. Switching BU16 pages then selects the corresponding matrix quadrant while the complete saved matrix remains intact. Only one quadrant is physically playable at a time in this layout; the processor's periodic matrix feedback repopulates its LED state after a page change. The MIDI channels and note assignments below are identical in both layouts.

BU16MIDI channelDestination rowsSource columns
Upper left11–41–4
Upper right21–45–8
Lower left35–81–4
Lower right45–85–8

BU16 FLIP moves an existing positive crosspoint toward −1 or an existing negative point toward +1, then returns to the saved value on release. Empty points remain empty. BU16 LATCH creates or removes saved connections. Strike velocity sets a new point's magnitude; during the first roughly 50 ms, only a larger pressure sample may correct a falsely low strike. NEW + and NEW − choose the polarity for newly latched points.

BU16 RAMP is shared by both modes. It adjusts the matrix transition from 20 ms through 10000 ms and defaults to 1000 ms. In Latch, this fades a connection in or out instead of changing it abruptly. In Flip, it smooths the pressure-driven trip toward the opposite polarity and the return after release. The GUI matrix and returned BU16 LED brightness follow the effective ramped value, while the saved matrix parameter keeps the destination value. Ramp time is stored in plugin and standalone state and is also exposed as automatable parameter/NRPN address 59.

The processor sends the displayed matrix back as polyphonic pressure on the same channel and note. Zero turns the LED off, positive magnitude fades in s3g orange, and negative magnitude fades in cyan. Load the four JSON profiles from controllers/intech_grid_bu16 with Grid Editor, either across four modules or into the four user pages of one BU16; older profile revisions may send notes correctly without receiving the current LED callback.

Audio and Safety Routing

MIDI routing does not replace the eight-channel audio path. Keep the No Input Mixer track at eight channels and route its lanes deliberately to direct outputs, a downstream direct panner, or Output Autogain Stereo/Quad. Avoid an unintended parallel path through the REAPER master when using direct hardware sends. Begin with the monitor path low and leave the ceiling limiter enabled. PANIC remains visible in the plugin's persistent title strip on every page and is also available from the E16 ACTIONS page.