MIDI Mapping Guide
This comprehensive guide explains how to create, configure, and manage MIDI mappings in Gamepad MIDI.
Understanding MIDI Mapping
What is MIDI Mapping?
MIDI mapping is the process of assigning gamepad controls (buttons, sticks, triggers) to MIDI messages. When you move a mapped control, Gamepad MIDI sends MIDI data to your DAW or music software, allowing you to control parameters, trigger notes, or automate effects.
Control Types
Gamepad MIDI supports mapping these control types:
Analog Controls:
- Left Stick X/Y axes
- Right Stick X/Y axes
- Left Trigger (L2)
- Right Trigger (R2)
- Touchpad X/Y axes and pressure
- Gyroscope X/Y axes
- Accelerometer X/Y axes
Digital Controls (Buttons):
- Face buttons (A, B, X, Y)
- Shoulder buttons (L1, R1)
- D-Pad directions (Up, Down, Left, Right)
- Stick buttons (L3, R3)
- Touchpad button
MIDI Message Types
Gamepad MIDI can send two types of MIDI messages:
1. Control Change (CC)
- Continuous control messages (0-127)
- Best for: Volume, pan, filter cutoff, effect parameters, etc.
- Analog controls send continuous values
- Buttons send on (127) or off (0) values
2. Note Messages
- Note On/Off messages
- Best for: Triggering samples, playing notes, sequencing
- Can be configured as Toggle or Trigger mode
- Supports dual gates for bidirectional controls
Creating a MIDI Mapping
Step 1: Open the Mapping Editor
The mapping editor is visible on the right side of the main window. If it's not visible, check that the window is wide enough.
Step 2: Select a Control Tab
Click one of the tabs to view controls in that group:
- Left Stick - Left analog stick controls
- Right Stick - Right analog stick controls
- L Shoulder - Left trigger and shoulder
- R Shoulder - Right trigger and shoulder
- D-Pad - Directional pad buttons
- Face Buttons - A, B, X, Y buttons
- Touchpad - Touchpad axes and button
- Gyroscope - Motion sensors
- Accelerometer - Acceleration sensors
- System - Smoothing settings
Step 3: Add a Mapping
- Find the control you want to map
- Click the "Add Mapping" button next to that control
- The MIDI Mapping dialog opens
Step 4: Configure the Mapping
The mapping dialog presents different options based on the control type and MIDI message type you choose.
Control Change (CC) Mappings
CC mappings are the most common type, used for continuous parameter control.
Basic CC Configuration
In the mapping dialog:
MIDI Type:
- Select "Control Change (CC)"
Channel:
- Choose MIDI channel 1-16
- Most DAWs use channel 1 by default
- Use different channels to organize mappings
CC Number:
- Select from CC 0-127
- Common CCs:
- CC 1: Modulation
- CC 7: Volume
- CC 10: Pan
- CC 11: Expression
- CC 74: Filter Cutoff (common in synths)
- Or choose any CC number
Min Value:
- The minimum MIDI value (0-127)
- Sent when control is at minimum position
- Default: 0
Max Value:
- The maximum MIDI value (0-127)
- Sent when control is at maximum position
- Default: 127
Example: Mapping a Stick to Filter Cutoff
- Select the Left Stick tab
- Find "Left Stick X"
- Click "Add Mapping"
- Configure:
- Type: Control Change (CC)
- Channel: 1
- CC Number: 74 (Filter Cutoff)
- Min Value: 0
- Max Value: 127
- Click "OK"
Now moving the left stick horizontally will send CC 74 values from 0 to 127.
Inverted Ranges
You can create inverted mappings by swapping min and max:
- Min Value: 127
- Max Value: 0
This reverses the control direction.
Invert Toggle: For convenience, there's an "Invert" checkbox that reverses the control direction. When enabled, the maximum MIDI value is sent at the minimum input position and vice versa.
Limited Ranges
You can map to a specific value range:
- Min Value: 32 (25% of full range)
- Max Value: 96 (75% of full range)
Useful for controlling parameters within specific ranges.
Split Axis Mode (Advanced)
Available on: Bidirectional axes (Analog sticks X/Y, Gyroscope X/Y, Accelerometer X/Y)
Split Axis Mode allows you to split a single bidirectional axis into 2 separate MIDI CC parameters - one for each direction. Instead of mapping the full range (-1 to +1) to a single CC, you get independent control over positive and negative movement.
How it works:
- Positive: Sends CC when moving in the positive direction (right/forward/up: 0-127)
- Negative: Sends CC when moving in the negative direction (left/back/down: 0-127)
When the control is centered, both CCs send their minimum value. As you move in either direction, only that direction's CC increases from min to max.
To enable Split Axis Mode:
- Create a CC mapping for a bidirectional axis (e.g., Left Stick X)
- In the mapping dialog, enable "Split Axis Mode"
- Configure 2 different CC numbers:
- Positive: CC for positive direction (right/forward/up)
- Negative: CC for negative direction (left/back/down)
- Set your desired min/max value range (applies to both directions)
- Click "OK"
Example: 2-Parameter Control per Axis
Control 2 synth parameters with Left Stick X:
- Select Left Stick tab
- Find "Left Stick X"
- Click "Add Mapping"
- Configure:
- Type: Control Change (CC)
- Channel: 1
- Enable Split Axis Mode
- Positive: CC 74 (Filter Cutoff)
- Negative: CC 71 (Resonance)
- Min Value: 0
- Max Value: 127
- Click "OK"
Now the left stick X-axis controls 2 parameters:
- Push right → increases filter cutoff (CC 74)
- Push left → increases resonance (CC 71)
- Center → both at minimum value
Example: 4-Parameter Control with One Stick
To control 4 parameters with one stick, create two mappings:
Mapping 1 (Left Stick X):
- Enable Split Axis Mode
- Positive: CC 74 (Filter Cutoff)
- Negative: CC 71 (Resonance)
Mapping 2 (Left Stick Y):
- Enable Split Axis Mode
- Positive: CC 73 (Attack)
- Negative: CC 72 (Release)
Result:
- Push right → increases filter cutoff
- Push left → increases resonance
- Push up → increases attack time
- Push down → increases release time
Notes:
- Each axis mapping is independent - create separate mappings for X and Y
- The min/max range and invert setting apply to both directions of that axis
- Split mode is only available for CC messages, not Note messages
- Each direction outputs a value from 0 to 127 based on how far you move in that direction
Note Mappings
Note mappings send MIDI note messages, useful for triggering sounds or sequencing.
Basic Note Configuration
MIDI Type:
- Select "Note"
Channel:
- Choose MIDI channel 1-16
Note Number:
- Select the MIDI note (C-2 to G8)
- Shows note names for easy selection
- This is "Gate A" for bidirectional controls
Note Mode:
- Trigger: Momentary - note on while pressed/active, note off when released
- Toggle: Latching - press once for note on, press again for note off
- Chord: Multiple notes play together when threshold is crossed
- Strum: Notes trigger sequentially as you sweep an axis (like strumming a guitar)
Velocity:
- Note velocity (0-127)
- Default: 127 (maximum)
- Controls how "loud" the note is
Button Note Mappings
Buttons are straightforward:
Trigger Mode:
- Press button = Note On (at specified velocity)
- Release button = Note Off
Toggle Mode:
- First press = Note On
- Second press = Note Off
- Note stays on until toggled off
Axis Note Mappings
Axes (analog sticks, triggers) can trigger notes when they cross a threshold.
Threshold:
- Default: 0.75 (75% of full range)
- Axis must exceed this value to trigger the note
- Adjustable from 0.0 to 1.0
Single Gate Mode:
- One note number
- Triggers when axis exceeds threshold
- Used for triggers and unidirectional controls
Dual Gate Mode (Bidirectional Controls)
Some controls support dual gates - triggering different notes for each direction:
Supported Controls:
- Left Stick X/Y (left/right or up/down)
- Right Stick X/Y (left/right or up/down)
- Gyroscope X/Y (tilt left/right or forward/back)
- Accelerometer X/Y (shake left/right or forward/back)
Configuration:
- Note Number (Gate A): Note for positive direction (right, up)
- Note Number B (Gate B): Note for negative direction (left, down)
Behavior:
Trigger Mode:
- Push stick right → Gate A note on
- Release → Gate A note off
- Push stick left → Gate B note on
- Release → Gate B note off
Toggle Mode:
- Push stick right → Toggle Gate A (on/off)
- Push stick left → Toggle Gate B (on/off)
- Each direction has independent toggle state
Example: Dual Gate Trigger
Map Left Stick X to trigger two different notes:
- Select Left Stick tab
- Find "Left Stick X"
- Click "Add Mapping"
- Configure:
- Type: Note
- Channel: 1
- Note Number (Gate A): C3 (for right movement)
- Note Number B (Gate B): D3 (for left movement)
- Note Mode: Trigger
- Velocity: 100
- Threshold: 0.75
- Click "OK"
Now:
- Push stick right → C3 plays
- Center stick → C3 stops
- Push stick left → D3 plays
- Center stick → D3 stops
Chord Mode
Chord mode allows you to trigger multiple notes simultaneously with a single control. Instead of mapping one note per control, you can define a chord of up to 6 notes that all play together.
When to Use Chord Mode
- Playing full chords with a single button press
- Layering multiple notes for thick, harmonized sounds
- Triggering complex sound combinations from a single gesture
- Creating pad-style sustains with multiple notes
Basic Chord Configuration
Note Mode:
- Select "Chord" from the note mode dropdown
Add Notes to Chord:
- Click "Add Note" button to add a note slot
- Use the note selector to choose the pitch
- Repeat to add more notes (up to 6 per chord)
- Notes can be reordered or removed as needed
Per-Note Velocity (Optional):
- Each note in the chord can have its own velocity
- Leave blank to use the global velocity setting
- Useful for creating dynamic chord voicings
Threshold:
- Determines when the chord triggers (for axis/sensor mappings)
- Default: 0.75 (75% of full range)
- All notes in the chord trigger together when threshold is crossed
Example: Button Chord Mapping
Map the A button to play a C major chord:
- Select Face Buttons tab
- Find "A Button"
- Click "Add Mapping"
- Configure:
- Type: Note
- Channel: 1
- Note Mode: Chord
- Add notes: C3, E3, G3
- Velocity: 100
- Click "OK"
Now pressing A plays all three notes simultaneously.
Example: Trigger Chord Mapping
Map the Right Trigger to sustain a chord:
- Select R Shoulder tab
- Find "Right Trigger"
- Click "Add Mapping"
- Configure:
- Type: Note
- Channel: 1
- Note Mode: Chord
- Add notes: D3, F#3, A3, D4
- Threshold: 0.5
- Click "OK"
Pulling the trigger past 50% plays the D major chord; releasing fades it out.
Strum Mode
Strum mode transforms an analog axis into a virtual guitar string. As you move across the axis range, notes trigger sequentially at different threshold positions—creating a strumming or arpeggio-like effect.
When to Use Strum Mode
- Creating realistic strum gestures on touchpad or analog sticks
- Building expressive arpeggios with physical motion
- Playing melodic sequences with sweeping gestures
- Adding expressive note triggering to any continuous control
Note: Strum mode is only available for axis controls (sticks, triggers, touchpad, gyroscope, accelerometer). For buttons, use Chord mode instead.
How Strum Mode Works
Strum mode distributes your chord notes across the axis range (0.1 to 0.9 by default). As you sweep across the axis, each note triggers when you cross its threshold position:
Axis Position: 0.0 ----[0.1]----[0.3]----[0.5]----[0.7]----[0.9]---- 1.0
Note 1 Note 2 Note 3 Note 4 Note 5
- Sweeping up: Notes trigger in order (like strumming down on guitar)
- Sweeping down: Notes trigger in reverse order (like strumming up on guitar)
- Notes are sorted by pitch to create natural musical progressions
- Enable Bidirectional to trigger notes when sweeping in either direction
Automatic Edge Snapping
Strum mode intelligently handles finger lifts and sudden position changes:
- When you lift your finger, the internal position snaps to either 0 or 1 based on your movement direction
- If moving UP when lifted → snaps to 1.0 (top)
- If moving DOWN when lifted → snaps to 0.0 (bottom)
This ensures each new strum starts fresh from the correct edge, preventing phantom notes from "Return to Zero" or other axis reset behaviors.
Note: Strum mode ignores the "Return XY to Zero" touchpad setting—it detects finger lifts directly and handles position resets automatically.
Strum Configuration Options
Note Mode:
- Select "Strum" from the note mode dropdown
Strum Direction:
- Up (Low to High): First note at low position, last at high position
- Down (High to Low): First note at high position, last at low position
- Controls the pitch ordering of notes along the axis
Bidirectional:
- Enabled: Notes trigger when crossing thresholds in EITHER direction (strum up AND down)
- Disabled: Notes only trigger when crossing in the strum direction
- Enable for continuous back-and-forth strumming
Strum Width:
- Controls how much of the axis range is used for strumming (0.1 to 1.0)
- Default: 0.7 (a comfortable balance between range and ease of strumming)
- 1.0 (Full): Notes spread across entire range (0.1 to 0.9)
- 0.7 (Default): Comfortable strumming range (0.22 to 0.78)
- 0.5 (Medium): Notes clustered in the middle (0.3 to 0.7)
- 0.25 (Narrow): Notes tightly grouped in center (0.4 to 0.6)
- Smaller values make it easier to strum quickly with less finger movement
Note Length:
- Duration before automatic note-off (in milliseconds)
- Default: 100ms
- Shorter values = staccato, percussive strums
- Longer values = legato, sustained strums
Example: Touchpad Strum
Map the touchpad Y-axis to strum a chord:
- Select Touchpad tab
- Find "Touchpad Y" (or Finger 0 Y)
- Click "Add Mapping"
- Configure:
- Type: Note
- Channel: 1
- Note Mode: Strum
- Add notes: C3, E3, G3, C4 (C major arpeggio)
- Strum Direction: Up
- Bidirectional: Enabled
- Note Length: 80ms
- Click "OK"
Now swiping your finger up the touchpad triggers C3 → E3 → G3 → C4 in sequence. With Bidirectional enabled, swiping down plays them in reverse.
Tip: Strum mode automatically handles finger lifts—you don't need to configure "Return to Zero". Just swipe up and down naturally for continuous strumming!
Example: Analog Stick Strum
Map the Left Stick Y to strum:
- Select Left Stick tab
- Find "Left Stick Y"
- Click "Add Mapping"
- Configure:
- Type: Note
- Channel: 1
- Note Mode: Strum
- Add notes: E2, B2, E3, G#3, B3, E4 (E major chord)
- Strum Direction: Up
- Bidirectional: Enabled
- Note Length: 120ms
- Click "OK"
Push the stick forward to strum up, pull back to strum down. With Bidirectional enabled, both directions trigger notes as thresholds are crossed.
Strum Mode Tips
For Touchpad:
- Use the Y axis for vertical strums (most natural gesture)
- Enable "Return to Zero" so lifting your finger resets the strum
- X axis works well for horizontal swipe gestures
For Analog Sticks:
- Each direction (positive/negative) can strum independently
- Crossing through center resets the strum for the new direction
- Great for expressive playing with thumb motion
For Best Results:
- Start with 3-4 notes per strum for manageable gestures
- Shorter note lengths (50-100ms) sound more percussive
- Longer note lengths (150-300ms) create overlapping, lush sounds
- Experiment with bidirectional for back-and-forth strumming patterns
Chord vs Strum Comparison
| Feature | Chord Mode | Strum Mode |
|---|---|---|
| Note triggering | All at once | Sequential as axis moves |
| Best for | Button chords, pads | Touchpad/stick strums |
| Velocity | Per-note control | Per-note control |
| Axis behavior | Threshold-based (on/off) | Position-based (per note) |
| Note sustain | Until released | Auto note-off after delay |
Editing Existing Mappings
To modify a mapping:
- Navigate to the control's tab
- Find the mapping in the list under the control
- Click the "Edit" button next to the mapping
- Make your changes in the dialog
- Click "OK" to save
The mapping updates immediately.
Deleting Mappings
To remove a mapping:
- Navigate to the control's tab
- Find the mapping in the list
- Click the "Delete" button (trash icon)
- Confirm deletion if prompted
The mapping is removed immediately.
Multiple Mappings Per Control
Each control can have multiple MIDI mappings. This allows one control to affect multiple parameters simultaneously.
Example: One Stick Controls Two Parameters
Map Left Stick X to both:
- CC 74 (Filter Cutoff) on Channel 1
- CC 71 (Resonance) on Channel 1
Steps:
- Add first mapping (CC 74) as described above
- Click "Add Mapping" again on the same control
- Configure the second mapping (CC 71)
- Both mappings now appear in the list
When you move the stick, both CC messages are sent simultaneously.
Use Cases for Multiple Mappings
- Control multiple synth parameters with one stick
- Send the same control to different MIDI channels
- Create complex macro controls
- Layer CC and Note messages (e.g., CC for filter and note for gate)
Control-Specific Notes
Analog Sticks
Range: -1 to +1 (centered at 0) MIDI Mapping:
- -1 maps to Min Value
- 0 maps to midpoint ((Min + Max) / 2)
- +1 maps to Max Value
Tip: For synthesizer parameters, the center position (stick at rest) sends a mid-range value (typically 64).
Triggers
Range: 0 to 1 (not pressed to fully pressed) MIDI Mapping:
- 0 (not pressed) maps to Min Value
- 1 (fully pressed) maps to Max Value
Tip: Triggers are great for volume, expression, or any parameter you want to increase from zero.
Buttons
State: On or Off CC Mapping:
- Off sends Min Value
- On sends Max Value
Note Mapping:
- Off sends Note Off (velocity 0)
- On sends Note On (at specified velocity)
Touchpad
The touchpad has multiple axes:
- X Position: Left (0) to Right (1)
- Y Position: Top (0) to Bottom (1)
- Pressure: Light (0) to Heavy (1)
- Button: Pressed or not pressed
Each can be mapped independently.
Return to Zero Option:
- Enable in System tab to make X/Y return to center (0.5) when not touched
- Disable to make X/Y hold their last position
Gyroscope
Prerequisites:
- Your gamepad must support gyroscope
- Enable gyroscope in the Gyroscope tab (toggle at top)
Axes:
- X Axis: Tilt left/right
- Y Axis: Tilt forward/back
Range: -1 to +1 (centered at 0)
Smoothing: Adjust in System tab to reduce jitter
Accelerometer
Prerequisites:
- Your gamepad must support accelerometer
- Enable accelerometer in the Accelerometer tab (toggle at top)
Axes:
- X Axis: Shake left/right
- Y Axis: Shake forward/back
Range: -1 to +1 (neutral at 0)
Smoothing: Adjust in System tab to reduce noise
MIDI Channels
MIDI supports 16 channels (1-16). Use channels to:
Organize Your Mappings
- Channel 1: Synth controls
- Channel 2: Drum triggers
- Channel 3: Effect sends
- etc.
Control Multiple Instruments
If your DAW has multiple instruments on different channels:
- Map some controls to Channel 1 (instrument A)
- Map other controls to Channel 2 (instrument B)
Layer Sounds
Send the same control to multiple channels to control multiple instruments simultaneously.
Best Practices
Start Simple
- Begin with one or two CC mappings
- Test them in your DAW
- Add complexity gradually
Use Descriptive Presets
- Create presets for different workflows
- Name them clearly (e.g., "Ableton Synth", "FL Studio Mixer")
Test Your Mappings
- Move controls and watch the value display
- Verify MIDI is received in your DAW
- Use MIDI learn in your DAW for easy setup
Avoid Conflicts
- Don't map multiple controls to the same CC on the same channel (unless intentional)
- Keep track of which CC numbers you've used
Utilize Smoothing
- Adjust smoothing for each control type in the System tab
- Reduce jitter on motion sensors
- Increase smoothing for gradual parameter changes
Leverage Motion Controls
- Gyroscope and accelerometer add expressive dimensions
- Great for filter sweeps, vibrato, or effect parameters
- Enable only when needed to conserve battery
Common Mapping Scenarios
Scenario 1: Synth Parameter Control
Goal: Control a synthesizer's filter and resonance
Mappings:
- Left Stick X → CC 74 (Filter Cutoff)
- Left Stick Y → CC 71 (Resonance)
- Right Trigger → CC 11 (Expression/Dynamics)
Scenario 2: Mixer Control
Goal: Control track volumes and pans
Mappings:
- Left Stick Y → CC 7 (Track 1 Volume)
- Right Stick Y → CC 7, Channel 2 (Track 2 Volume)
- Left Trigger → CC 10 (Track 1 Pan)
- Right Trigger → CC 10, Channel 2 (Track 2 Pan)
Scenario 3: Drum Triggering
Goal: Trigger drum samples with buttons
Mappings:
- A Button → Note C1 (Kick)
- B Button → Note D1 (Snare)
- X Button → Note E1 (Hi-Hat)
- Y Button → Note F1 (Tom)
Use Trigger mode for realistic drum playing.
Scenario 4: Effect Control with Motion
Goal: Control delay time with gyroscope
Mappings:
- Gyroscope X → CC 12 (Delay Time)
- Accelerometer Y → CC 13 (Delay Feedback)
- Right Trigger → CC 94 (Delay Mix)
Tilt your controller to change delay characteristics!
Scenario 5: Chord Pad Performance
Goal: Use face buttons as chord pads
Mappings:
- A Button → Chord Mode: C3, E3, G3 (C major)
- B Button → Chord Mode: F3, A3, C4 (F major)
- X Button → Chord Mode: G3, B3, D4 (G major)
- Y Button → Chord Mode: A3, C4, E4 (A minor)
Press buttons to play full chords instantly—perfect for backing tracks!
Scenario 6: Touchpad Guitar Strum
Goal: Strum guitar chords with touchpad swipes
Mappings:
- A Button → Chord Mode: E2, B2, E3, G#3, B3, E4 (hold chord selection)
- Touchpad Y → Strum Mode: Same notes, Bidirectional enabled
Hold a button to select the chord, then swipe the touchpad up and down to strum!
Scenario 7: Expressive Arpeggiator
Goal: Play arpeggios with analog stick motion
Mappings:
- Left Stick Y → Strum Mode:
- Notes: C3, E3, G3, B3, C4
- Direction: Up
- Bidirectional: Enabled
- Note Length: 150ms
Push the stick forward for ascending arpeggios, pull back for descending. The longer note length creates overlapping, harp-like sounds.
Troubleshooting Mappings
MIDI Not Sending
Check:
- Is a MIDI device selected in the dropdown?
- Is the gamepad connected and responding?
- Are the mappings properly configured?
Wrong Values Being Sent
Check:
- Min/Max values in the mapping
- Control is moving in the expected direction
- No conflicts with other mappings
Stuck Notes
If a note stays on:
- Move the control to trigger a note off
- Edit the mapping to verify settings
- Delete and recreate the mapping if necessary
Jittery Control
Solutions:
- Increase smoothing for that control in System tab
- Increase the threshold for note mappings
- Check for gamepad hardware issues
Next Steps
- Preset Management - Save your mapping configurations
- Smoothing Settings - Fine-tune control behavior
- Use Cases & Examples - Get inspired by practical examples