Back to skills
extension
Category: Development & EngineeringNo API key required

mmd-device-helix

Guide for using the Line 6 Helix Floor/LT/Rack device library in MMD files. Use when the user mentions Helix, Line 6 Helix guitar processor, Helix Floor, Helix LT, Helix Rack, or needs help with setlist/preset loading, 8-snapshot control, expression automation, footswitch control, or looper functionality.

personAuthor: jakexiaohubgithub

Line 6 Helix Floor/LT/Rack Usage Guide

Expert guidance for using the Helix device library in MIDI Markdown files.

When to Use This Skill

Invoke this skill when working with:

  • Line 6 Helix Floor, LT, or Rack guitar processors
  • Helix preset and setlist management
  • 8-snapshot control (full range)
  • Helix expression pedal automation (EXP1, EXP2, EXP3)
  • 11 footswitch control (FS1-5, FS7-11)
  • Helix Looper functionality
  • Command Center macros for external gear

Quick Start

Import the Library

@import "devices/helix.mmd"

Basic Preset Loading

[00:00.000]
# Load Setlist 1 (CC32=0), Preset 6 (PC=5)
- helix_load 1 0 5

# Load preset and switch to snapshot
- helix_load_snapshot 1 0 5 2  # Setlist 1, Preset 6, Snapshot 3

Snapshot Control

[00:00.000]
# Named snapshots (1-8)
- helix_snap_1 1
- helix_snap_2 1
- helix_snap_3 1

# Parameterized (0-7)
- helix_snapshot 1 3  # Snapshot 4

Critical Firmware Timing Requirements

Firmware 3.5x: Conservative Timing Required

CRITICAL: Add 350ms delay after ALL Program Change messages before sending CC

# ❌ WRONG - No delay (firmware 3.5x)
[00:00.000]
- pc 1.10
- cc 1.69.2  # Snapshot might be ignored!

# ✅ CORRECT - Use helper with delays
[00:00.000]
- helix_load_snapshot 1 0 10 2  # Built-in 350ms delay

Firmware 3.10+: Improved Timing

Improvement: CC69 (snapshot) messages are buffered during preset load

Still recommended: Use 350ms delay for safety with complex presets

Firmware 3.80 (Current): Stable

Known Issue: MIDI Clock Rx doesn't apply on preset change

Workaround: Use Tap Tempo (CC64) after preset changes if tempo sync is critical

Preset and Setlist Management

Understanding Helix Addressing

Structure: 8 Setlists × 128 Presets = 1024 total presets

Addressing:

  • CC0 (Bank MSB) + CC32 (Bank LSB) = Setlist selector
  • CC32 values 0-7 select Setlists 1-8
  • PC values 0-127 select Presets 1-128 within active setlist

Complete Preset Load

[00:00.000]
# Load Setlist 3, Preset 20
- helix_load 1 2 19  # CC32=2, PC=19 (0-indexed)

# With specific snapshot
- helix_load_snapshot 1 2 19 3  # Snapshot 4

# Direct setlist selection
- helix_setlist 1 2  # Setlist 3

# Direct preset within current setlist
- helix_preset 1 19  # Preset 20

Snapshot Control (8 Snapshots)

Full 8-Snapshot Range

The Helix Floor/LT/Rack has 8 snapshots (0-7), providing maximum flexibility for live performance.

[00:00.000]
# Named snapshots
- helix_snap_1 1  # Snapshot 1
- helix_snap_2 1  # Snapshot 2
- helix_snap_3 1  # Snapshot 3
- helix_snap_4 1  # Snapshot 4
- helix_snap_5 1  # Snapshot 5
- helix_snap_6 1  # Snapshot 6
- helix_snap_7 1  # Snapshot 7
- helix_snap_8 1  # Snapshot 8

# Parameterized
- helix_snapshot 1 7  # Snapshot 8

8-Snapshot Song Arrangement

[00:00.000]
- helix_load 1 0 5  # Load song preset

# Intro - Clean
- helix_snap_1 1

# Verse - Rhythm
[00:16.000]
- helix_snap_2 1

# Pre-Chorus - Add delay
[00:28.000]
- helix_snap_3 1

# Chorus - Drive + reverb
[00:32.000]
- helix_snap_4 1

# Bridge - Ambient
[00:48.000]
- helix_snap_5 1

# Solo - Lead tone
[01:04.000]
- helix_snap_6 1

# Breakdown - Clean + tremolo
[01:20.000]
- helix_snap_7 1

# Final chorus - Epic lead
[01:36.000]
- helix_snap_8 1

Expression Pedal Control

Three Expression Pedals

Helix Floor/Rack models have 3 expression pedals (EXP1, EXP2, EXP3).

[00:00.000]
# Direct MIDI values (0-127)
- line6_exp1 1 64   # From common library
- line6_exp2 1 100
- helix_exp3 1 80   # EXP3 is Helix-specific

# With modulation curves
- line6_exp_swell 1 1 0 127  # Smooth EXP1 swell
- helix_exp3_swell 1 0 127   # Smooth EXP3 swell

Advanced Expression Modulation

[00:00.000]
# Vibrato effect
- line6_exp_vibrato 1 1 64 2.5 20
# Params: ch, exp_num, center, freq(Hz), depth(%)

# Tremolo effect
- line6_exp_tremolo 1 1 64 4.0 30

# ADSR envelope
- line6_exp_envelope 1 1

# Attack-Release envelope
- line6_exp_ar 1 1 0.5 1.0

Footswitch Control

11 Footswitches Available

Full Helix models have 11 footswitches (FS1-5, FS7-11). FS6 is reserved for internal use.

[00:00.000]
# Toggle footswitches (ALWAYS toggle, can't force on/off)
- line6_fs1 1
- line6_fs2 1
- line6_fs3 1
- line6_fs4 1
- line6_fs5 1
# FS6 is RESERVED
- line6_fs7 1
- line6_fs8 1
- line6_fs9 1
- line6_fs10 1
- line6_fs11 1

Important: Helix footswitches ALWAYS toggle. Cannot force on/off via MIDI.

Looper Control

Basic Looper Workflow

[00:00.000]
# Start recording
- line6_looper_start_recording 1

[+8s]
# Switch to playback
- line6_looper_playback 1

[+16s]
# Overdub
- line6_looper_overdub 1

[+24s]
# Stop and exit
- line6_looper_stop_exit 1

Complete Looper Functions

[00:00.000]
# Record/Overdub/Play
- line6_looper_rec_play 1
- line6_looper_overdub 1
- line6_looper_playback 1

# Reverse and half speed
- line6_looper_reverse 1
- line6_looper_halfspeed 1

# Undo/redo
- line6_looper_undo 1

# Stop and clear
- line6_looper_stop_exit 1

Tap Tempo

[00:00.000]
# Send 4 taps at 120 BPM (500ms intervals)
- line6_tap 1
[+500ms]
- line6_tap 1
[+500ms]
- line6_tap 1
[+500ms]
- line6_tap 1

Command Center Macros

Controlling External Gear

Command Center allows Helix to send MIDI to external devices.

[00:00.000]
# Load Helix preset and switch external amp channel
- helix_preset_with_amp_switch 1 0 5 2 10
# Params: ch, setlist, preset, amp_channel, delay_preset

# Load Helix preset, send PC to amp, PC to delay

# Snapshot change with external reverb mix
- helix_snapshot_with_reverb 1 3 64
# Params: ch, snapshot, reverb_mix_value

Complete Song Section Macro

[00:00.000]
# Complete section: preset + snapshot + tempo
- helix_song_section 1 10 2 120
# Params: ch, section_preset, snapshot, tempo_bpm

Common Workflow Patterns

Song-Based Preset Organization

[00:00.000]
# Song 1: Load preset, use snapshots for sections
- helix_load 1 0 0  # Setlist 1, Preset 1

# Intro
- helix_snap_1 1

# Verse
[00:16.000]
- helix_snap_2 1

# Chorus
[00:32.000]
- helix_snap_3 1

# Solo
[00:48.000]
- helix_snap_4 1

Setlist Organization Strategy

Recommended:

  • Setlist 1: Covers/Standards
  • Setlist 2: Originals Set 1
  • Setlist 3: Originals Set 2
  • Setlist 4-8: Special projects, recording, etc.

Reserved CC Numbers

Helix-Specific Reserved CCs

CC0   - Bank Select MSB
CC3   - Expression Pedal 3 (Helix Floor/Rack only)
CC32  - Bank Select LSB (Setlist selector)
CC64  - Tap Tempo
CC68  - Amp/Cab toggle
CC69  - Snapshot select
CC70-76 - Reserved for future use

All other CC numbers (4-31, 33-48, 77-127) are available for:

  • Block bypass control (via MIDI Learn)
  • Parameter control (via MIDI Learn)
  • Custom assignments per preset

Firmware-Specific Best Practices

Firmware 3.5x

# ✅ Add 350ms after ALL PC messages
[00:00.000]
- pc 1.10
[+350ms]
- cc 1.69.2  # Now snapshot will work

# ✅ Add 100ms between rapid CC messages
[00:00.000]
- cc 1.51.64
[+100ms]
- cc 1.52.80

# ✅ Use snapshot-based workflow to avoid PC delays

Firmware 3.10+

# ✅ CC69 is buffered - can reduce delays to +50ms
[00:00.000]
- pc 1.10
[+50ms]
- cc 1.69.2

# ✅ Still recommend +350ms for safety with complex presets

Firmware 3.80 (Current)

# ✅ Use Tap Tempo after preset changes if tempo sync critical
[00:00.000]
- pc 1.10
[+350ms]
- line6_tap 1  # Sync tempo

Connection Recommendations

5-Pin DIN MIDI vs USB

Helix Floor/LT/Rack has both:

  • 5-pin DIN MIDI (In/Out/Thru)
  • USB MIDI

For MIDI Clock (sync):

  • Prefer 5-pin DIN - lower jitter, more reliable
  • ❌ USB MIDI has higher jitter

For general control:

  • Either works fine
  • USB is more convenient for DAW integration

For live performance:

  • 5-pin DIN is more robust
  • Easier hardware daisy-chaining
  • Optical isolation (no ground loops)

Common Mistakes and Fixes

Mistake 1: No Delay After PC (Firmware 3.5x)

# ❌ WRONG
[00:00.000]
- pc 1.10
- cc 1.69.2  # Ignored!

# ✅ CORRECT
[00:00.000]
- helix_load_snapshot 1 0 10 2  # Built-in delay

Mistake 2: Trying to Force Footswitch On/Off

# ❌ WRONG - Footswitches always toggle
[00:00.000]
- cc 1.51.0    # Trying to force off
- cc 1.51.127  # Trying to force on

# ✅ CORRECT - Use toggle commands
[00:00.000]
- line6_fs1 1  # Toggles state

Mistake 3: Using USB MIDI for Clock

# ⚠️ SUBOPTIMAL - USB has jitter
# Use 5-pin DIN for MIDI Clock instead

Comparison: Helix vs HX Models

Helix Floor/LT/Rack (You Are Here)

  • 8 snapshots (maximum flexibility)
  • 11 footswitches (Floor/LT)
  • 3 expression pedals (Floor/Rack)
  • 5-pin DIN MIDI (hardware chaining)
  • ✅ Dual DSP path
  • ✅ Full Command Center
  • ❌ Larger footprint

HX Stomp XL

  • ⚠️ 4 snapshots (good for most songs)
  • ⚠️ 8 footswitches (adequate)
  • ⚠️ 2 expression pedals
  • USB MIDI only (no 5-pin DIN)
  • ❌ Single DSP path
  • ✅ Command Center (enhanced vs HX Stomp)
  • ✅ Smaller footprint

HX Stomp

  • 3 snapshots (limited)
  • 5 footswitches (limited)
  • ⚠️ 2 expression pedals
  • USB MIDI only
  • ❌ Single DSP path
  • ⚠️ Limited Command Center
  • ✅ Smallest footprint

Troubleshooting

| Issue | Solution | |-------|----------| | Snapshots don't switch | Add 350ms delay after PC (firmware 3.5x) or use 3.10+ | | Footswitches don't work | Helix footswitches toggle only, can't force on/off | | Expression is glitchy | Send smooth CC curves, check MIDI rate limiting | | MIDI timing is sloppy | Use 5-pin DIN instead of USB for clock | | Preset changes ignored | Check MIDI Base Channel in Global Settings | | Tempo doesn't sync on PC | Use Tap Tempo (CC64) after preset change (firmware 3.80) |

Reference

Device Library Location

  • Main: devices/helix.mmd
  • Common: devices/line6_common.mmd (imported automatically)

Documentation

  • Official Manual: https://line6.com/support/manuals/helix
  • Firmware Notes: https://line6.com/software/reaper-extension

Firmware Version

3.80 (current as of library version)

See Also