Skip to main content
Documentation

MIDI Controllers

Set up MIDI hardware for hands-on control

MIDI Controllers

Use MIDI controllers for tactile, real-time control of your lighting.

Supported Controllers

Spectralite works with any class-compliant MIDI controller:

Fader Controllers

  • Behringer X-Touch series
  • Korg nanoKONTROL
  • Novation Launch Control
  • Akai MIDImix

Pad Controllers

  • Novation Launchpad
  • Akai APC series
  • Native Instruments Maschine
  • Ableton Push

DJ Controllers

  • Pioneer DDJ series
  • Native Instruments Traktor
  • Numark controllers

Keyboards

Any MIDI keyboard for note-based triggering

Connecting Controllers

USB Connection

Most modern controllers connect via USB:

  1. Connect the controller to your Mac
  2. Power on the controller
  3. Open Window > MIDI Devices
  4. The controller appears automatically

Traditional MIDI

For 5-pin DIN MIDI:

  1. Connect to a MIDI interface
  2. Connect interface to Mac via USB
  3. Device appears as the interface name

Network MIDI

macOS supports MIDI over network:

  1. Open Audio MIDI Setup
  2. Go to Window > Show MIDI Studio
  3. Open MIDI Network Setup
  4. Create or join a session

Enabling Controllers

  1. Open Window > MIDI Devices
  2. Find your controller in the list
  3. Check Enable Input
  4. Optionally enable Output for feedback

Creating Mappings

Using MIDI Learn

The fastest way to map:

  1. Open Window > MIDI Map Editor
  2. Click Learn
  3. Move a control on your device
  4. Select what it should control
  5. Repeat for other controls

Manual Mapping

For precise configuration:

  1. Click Add Mapping
  2. Enter MIDI details:
    • Type: CC, Note, Pitch Bend
    • Channel: 1-16
    • Number: CC or Note number
  3. Select the target parameter
  4. Set value range and behavior

Common Mappings

Transport

ControlTarget
Play buttonTransport > Play/Pause
Stop buttonTransport > Stop
Jog wheelTimeline > Scrub
Tempo sliderBPM

Layers

ControlTarget
Fader 1Layer 1 > Opacity
Mute buttonLayer 1 > Mute
Solo buttonLayer 1 > Solo

Effects

ControlTarget
KnobNode Parameter
PadLayer > Trigger
XY PadPosition parameters

Mapping Modes

Absolute

Control value directly sets parameter:

  • Faders and knobs
  • Full range control
  • May "jump" when control moves

Relative

Control changes add/subtract from value:

  • Encoders (endless knobs)
  • No jumping
  • Smooth adjustments

Toggle

Button toggles between two states:

  • On/off controls
  • Mute/solo buttons
  • Effect enable

Momentary

Active only while held:

  • Flash buttons
  • Temporary overrides
  • Performance triggers

Controller Feedback

For controllers with motorized faders or LEDs:

Enable Output

  1. In MIDI Devices, enable Output
  2. Spectralite sends values back to controller
  3. Faders follow parameter changes
  4. LEDs indicate states

Configuring Feedback

Some controllers need specific messages:

  1. Check controller documentation
  2. Configure feedback message type
  3. Set appropriate channels and ranges

Saving Mappings

Save as File

  1. File > Save MIDI Map
  2. Name your mapping
  3. Saved as .slm file

Load Mapping

  1. File > Load MIDI Map
  2. Select the .slm file
  3. Mappings are applied

Default Mapping

Set a map to load automatically:

  1. Save your preferred mapping
  2. Go to Settings > MIDI
  3. Select as Default Map

Multiple Controllers

Separate Functions

Use different controllers for different tasks:

  • Controller A: Transport and master
  • Controller B: Layer control
  • Controller C: Effect parameters

Combining Controllers

All controllers active simultaneously:

  • Each has independent mappings
  • No conflicts if parameters differ
  • MIDI channels can differentiate

Troubleshooting

Controller Not Detected

  1. Check USB connection
  2. Try a different USB port
  3. Restart Spectralite
  4. Check macOS Audio MIDI Setup

Controls Not Responding

  1. Verify controller is enabled
  2. Check MIDI channel settings
  3. Test with MIDI monitor
  4. Verify mapping exists

Feedback Not Working

  1. Enable output for the device
  2. Check controller supports feedback
  3. Verify feedback message format
  4. Test with simple mapping first