
mmd-device-h90
by cjgdev
A human-readable, text-based format for creating and automating MIDI sequences
SKILL.md
name: mmd-device-h90 description: Guide for using the Eventide H90 Harmonizer device library in MMD files. Use when the user mentions Eventide H90, H90 effects processor, H90 reverb/delay/modulation, or needs help with H90 program changes, HotSwitches, bypass control, expression automation, or firmware workarounds.
Eventide H90 Harmonizer Usage Guide
Expert guidance for using the Eventide H90 device library in MIDI Markdown files.
When to Use This Skill
Invoke this skill when working with:
- Eventide H90 Harmonizer effects processor
- H90 program loading and bypass control
- HotSwitch parameter snapshots
- H90 expression pedal automation
- Performance parameters (Freeze, Warp, Repeat, Infinity)
- Dual algorithm control (Preset A/B)
- Firmware 1.9.4+ PC+CC bug workarounds
⚠️ CRITICAL: Read This First
Zero Default MIDI CC Assignments
THE H90 HAS NO DEFAULT MIDI CC MAPPINGS!
You MUST manually configure each CC mapping in:
- System Menu → MIDI → Global Control (on H90)
- OR H90 Control software
This library provides aliases for all parameters, but they won't work until you configure the CC assignments on your H90.
Critical Firmware Bug (1.9.4+)
FIRMWARE 1.9.4 AND LATER HAS A SEVERE BUG:
Sending Program Change and Control Change messages simultaneously causes the H90 to IGNORE ALL CC MESSAGES.
Symptoms:
- PC + CC sent together → CC messages ignored
- Internal logs show "Ignoring inbound message" errors
- Makes MIDI switcher integration extremely problematic
RECOMMENDED SOLUTION: Downgrade to firmware 1.8.6 for professional MIDI control applications.
Contact support@eventide.com to request firmware 1.8.6 and H90 Control v1.7.11.
Trade-off: Cannot use algorithms added after v1.8.6 (Aggravate, Sticky Tape)
Workarounds if staying on 1.9.4+:
# Add 100ms delay between PC and CC
[00:00.000]
- pc 2.10 # Load program
[+100ms]
- h90_program_active 2 # Now CC works
# Or use helper macros
- h90_load_with_bypass 2 10 127
- h90_load_with_hotswitch 2 10 1
Quick Start
Import the Library
@import "devices/eventide_h90.mmd"
Basic Program Loading
[00:00.000]
# Load Program 10 (with PC Offset ON: 0-99)
- h90_program 2 10
# Or specify offset mode explicitly
- h90_program_offset 2 10 # PC Offset ON: 0-99
- h90_program_default 2 11 # PC Offset OFF: 1-100
Program Navigation
[00:00.000]
# Increment to next program
- h90_increment 2
# Decrement to previous
- h90_decrement 2
# Increment and load immediately
- h90_inc_load 2
# Bank up/down (3 programs at a time)
- h90_bank_up 2
- h90_bank_down 2
Configuration Requirements
Before Using This Library
YOU MUST configure CC mappings on your H90 first!
- Access: System Menu → MIDI → Global Control
- For each parameter, assign a CC number
- Either:
- Update CC numbers in this library to match YOUR config
- OR configure H90 to match recommended mappings below
Recommended Global CC Mappings
Program Navigation (CC#20-26):
CC#20 = Load (cue + toggle Act/Byp)
CC#21 = Increment
CC#22 = Decrement
CC#23 = Inc + Load
CC#24 = Dec + Load
CC#25 = Bank Up
CC#26 = Bank Down
Active/Bypass (CC#102-109):
CC#102 = P Act/Byp (toggle)
CC#103 = P Act/Byp (M) (momentary)
CC#104 = A Act/Byp (Preset A toggle)
CC#105 = A Act/Byp (M) (momentary)
CC#106 = B Act/Byp (Preset B toggle)
CC#107 = B Act/Byp (M) (momentary)
CC#108 = Insert 1 Act/Byp
CC#109 = Insert 2 Act/Byp
System Functions (CC#27, 30-33, 80):
CC#27 = Tuner (quirky toggle-only)
CC#80 = Tap Tempo
CC#30 = Mode Toggle
CC#31 = SELECT Mode
CC#32 = PERFORM Mode
CC#33 = BANK Mode
HotSwitches (CC#110-115):
CC#110 = HS1 (toggle)
CC#111 = HS1 (M) (momentary)
CC#112 = HS2 (toggle)
CC#113 = HS2 (M) (momentary)
CC#114 = HS3 (toggle)
CC#115 = HS3 (M) (momentary)
Continuous Controls (CC#11-17, 34-36, 84):
CC#11 = Expression Pedal
CC#12-17 = Quick Knobs 1-6
CC#34 = P HotKnob (Program)
CC#35 = A HotKnob (Preset A)
CC#36 = B HotKnob (Preset B)
CC#84 = P Mix (wet/dry)
Performance Parameters (CC#70-75):
CC#70-75 = PERFORM 1-6
Active/Bypass Controls
Understanding Toggle vs Momentary Modes
Toggle Mode (no "(M)"):
- Any CC value ≥64 toggles the state
- Each message toggles regardless of value
- Simpler for basic on/off control
Momentary Mode (with "(M)"):
- CC 0-63 = Force BYPASS state
- CC 64-127 = Force ACTIVE state
- Enables discrete on/off commands
- Requires controller that sends single values only
Program-Level Bypass
[00:00.000]
# Toggle mode
- h90_program_bypass 2
# Momentary mode (discrete control)
- h90_program_active 2 # Force ACTIVE
- h90_program_bypass_force 2 # Force BYPASS
Preset-Level Bypass
[00:00.000]
# Preset A controls
- h90_preset_a_bypass 2 # Toggle
- h90_preset_a_active 2 # Force active
- h90_preset_a_bypass_force 2 # Force bypass
# Preset B controls
- h90_preset_b_bypass 2
- h90_preset_b_active 2
- h90_preset_b_bypass_force 2
Insert Loop Controls
[00:00.000]
# Toggle insert loops
- h90_insert1_bypass 2
- h90_insert2_bypass 2
HotSwitch Control
Basic HotSwitch Usage
HotSwitches are Program-level parameter snapshots. Only one HotSwitch can be active at a time.
[00:00.000]
# Toggle HotSwitch 1
- h90_hotswitch1 2
# Force HS1 active (momentary mode)
- h90_hotswitch1_active 2
# Force HS1 off
- h90_hotswitch1_off 2
# Same for HS2 and HS3
- h90_hotswitch2 2
- h90_hotswitch3 2
HotSwitch Workflow Example
[00:00.000]
- h90_program 2 10
# Verse - base tone (no HotSwitch)
[00:16.000]
- h90_hotswitch1 2 # Chorus - engage HS1
[00:32.000]
- h90_hotswitch2 2 # Bridge - engage HS2
[00:48.000]
- h90_hotswitch1_off 2 # Back to base tone
Expression and Continuous Controls
Expression Pedal
[00:00.000]
# Direct MIDI value
- h90_expression 2 64
# Percentage
- h90_expression_percent 2 50
# Smooth swell with curve
- h90_expression_swell 2 0 127
# Fade effects
- h90_expression_fade_in 2
- h90_expression_fade_out 2
Advanced Expression Modulation
[00:00.000]
# Vibrato with wave modulation
- h90_expression_vibrato 2 64 3.0 20
# Params: ch, center, freq(Hz), depth(%)
# ADSR envelope
- h90_expression_envelope 2
# Attack-Release envelope
- h90_expression_ar 2 0.5 1.0
# Params: ch, attack(s), release(s)
Quick Knobs
[00:00.000]
# Control Quick Knobs 1-6
- h90_quick_knob1 2 100
- h90_quick_knob2 2 80
- h90_quick_knob3 2 64
HotKnobs (Recommended Strategy)
Eventide's Recommended Approach:
- Map algorithm parameters to HotKnob P per-Program
- Map HotKnob P globally to one CC (e.g., CC#34)
- Your expression pedal always sends CC#34
- Different Programs respond with different parameter changes
[00:00.000]
# Program HotKnob (controls different params per-Program)
- h90_hotknob_program 2 64
# Preset-specific HotKnobs
- h90_hotknob_a 2 100
- h90_hotknob_b 2 80
# Smooth HotKnob automation
- h90_hotknob_program_swell 2 0 127
Mix Control
[00:00.000]
# Direct value
- h90_mix 2 64
# Percentage (0% dry, 100% wet)
- h90_mix_percent 2 50
# Smooth transitions
- h90_mix_fade_in 2 # Dry to wet
- h90_mix_fade_out 2 # Wet to dry
- h90_mix_swell 2 0 127
# Tremolo effect (rhythmic wet/dry)
- h90_mix_tremolo 2 64 4.0 50
Performance Parameters
PERFORM 1-6
Performance Parameters are algorithm-specific functions:
- Prism Shift: Freeze
- Wormhole: Warp
- Delay algorithms: Repeat
- Reverb algorithms: Infinite, Freeze
[00:00.000]
# Direct control
- h90_perform1 2 127
- h90_perform2 2 100
# With modulation
- h90_perform1_swell 2 0 127
- h90_perform1_vibrato 2 64 2.0 30
- h90_perform1_envelope 2
Gain Controls
[00:00.000]
# Input/Output gain (0-127)
- h90_program_in_gain 2 64
- h90_program_out_gain 2 100
# Output gain in dB (-24dB to +24dB)
- h90_program_out_gain_db 2 6 # +6dB
# Preset-specific gains
- h90_preset_a_in_gain 2 64
- h90_preset_a_out_gain 2 100
- h90_preset_b_in_gain 2 64
- h90_preset_b_out_gain 2 100
System Functions
Tuner Control
QUIRK: Tuner has unusual behavior!
- CC value 127 activates tuner
- CC value 0 does NOTHING
- Must send 127 again to deactivate (toggle-only)
[00:00.000]
# Activate tuner
- h90_tuner 2
# Deactivate tuner (send 127 again)
- h90_tuner 2
Tap Tempo
[00:00.000]
- h90_tap_tempo 2
[+500ms]
- h90_tap_tempo 2
[+500ms]
- h90_tap_tempo 2
Mode Switching
[00:00.000]
# Switch modes
- h90_mode_select 2 # SELECT mode
- h90_mode_perform 2 # PERFORM mode
- h90_mode_bank 2 # BANK mode
- h90_mode_toggle 2 # Toggle between modes
Firmware 1.9.4+ Workarounds
Safe Program Loading with CC
# ❌ WRONG - PC + CC together (firmware 1.9.4+ bug)
[00:00.000]
- pc 2.10
- cc 2.103.127 # This will be IGNORED!
# ✅ CORRECT - Use helper with delay
[00:00.000]
- h90_load_with_bypass 2 10 127
# ✅ CORRECT - Use helper for HotSwitch
[00:00.000]
- h90_load_with_hotswitch 2 10 1 # Load program, engage HS1
# ✅ CORRECT - Use helper for expression
[00:00.000]
- h90_load_with_expression 2 10 64
Dual Algorithm Control
Controlling Both Algorithm Paths
[00:00.000]
# Load dual reverb with balanced mix
- h90_dual_reverb_setup 2 10
# Serial FX chain with custom mix
- h90_serial_fx_chain 2 15 80
# A-only processing (bypass B)
- h90_a_only 2
# B-only processing (bypass A)
- h90_b_only 2
# Both active
- h90_both_active 2
Delay Warping Workarounds
Problem: Program Changes Cause Pitch/Time Warping
Affected Algorithms: Tape Echo, Head Space, Reverse delays
Symptoms: Audible pitch/time warping on delay trails during Program changes
Solutions:
# Solution 1: Crossfade to hide warping
[00:00.000]
- h90_program_change_crossfade 2 15
# Fades to dry, changes program, fades back to wet
# Solution 2: Fast crossfade
[00:00.000]
- h90_program_change_fast_crossfade 2 15
# Solution 3: Use HotSwitches within Program (no warping)
[00:00.000]
- h90_hotswitch_delay_transition 2 1 # Change delay via HS1
# Solution 4: Wait for spillover to complete
[00:00.000]
- h90_load_after_spillover 2 20 # Waits 5.5s for spillover
Live Performance Initialization
[00:00.000]
# Initialize H90 for live performance
- h90_live_init 2 10
# This sets:
# - PERFORM Mode
# - Load starting program
# - Ensure active (not bypassed)
# - Reset expression to neutral
# - All HotSwitches off
Known Issues and Limitations
Issue 1: PC + CC Simultaneous Bug (Firmware 1.9.4+)
Solution: Downgrade to 1.8.6 OR add 100ms delays
Issue 2: Insert Loop Latency
Problem: 5ms latency per A/D/A conversion
Impact: Insert loops = double conversion = noticeable delay
Solution: Run drives before H90 instead of in insert loops
Issue 3: Power Supply Requirements
Problem: Insufficient current causes MIDI issues
Solution:
- Fender Engine Room 12V @ 375mA is INSUFFICIENT
- Use two 9V 500mA outputs with current doubler cable
Issue 4: Program Loading Latency
Problem: 700ms to 2 seconds via MIDI PC
Factors:
- Spillover time settings
- DSP complexity
Optimization:
- Reduce spillover to minimum needed
- Load Programs outside spillover window
Issue 5: Routing/Algorithm Limitations
Cannot change via MIDI:
- ❌ Series/parallel routing mode
- ❌ Insert/Dual global routing modes
- ❌ Individual Algorithm Presets
- ✅ Must create Programs with desired configurations
Recommended Configuration Strategy
Step 1: Start with Global Mappings
CC#102-109 = Bypass controls
CC#20-26 = Navigation
CC#27 = Tuner
CC#80 = Tap Tempo
CC#30-33 = Mode switching
CC#110-115 = HotSwitches
Step 2: Add Expression Control
CC#11 = Expression Pedal → Map to HotKnob P globally
Configure HotKnob P per-Program for different parameters.
Step 3: Add Performance Parameters
CC#70-75 = PERFORM 1-6 (algorithm-specific functions)
Step 4: Add Quick Knobs if Needed
CC#12-17 = Quick Knobs 1-6
Common Mistakes and Fixes
Mistake 1: Sending PC + CC Together (Firmware 1.9.4+)
# ❌ WRONG
[00:00.000]
- pc 2.10
- h90_program_bypass 2 # IGNORED!
# ✅ CORRECT
[00:00.000]
- h90_load_with_bypass 2 10 127
Mistake 2: Expecting Default CC Mappings
The H90 has NO defaults! You must configure everything.
Mistake 3: Not Accounting for Spillover
# ❌ WRONG - Switching during spillover is slow
[00:00.000]
- pc 2.10
[+1s] # Still in spillover window
- pc 2.11 # This will be SLOW
# ✅ CORRECT - Wait for spillover
[00:00.000]
- pc 2.10
[+6s] # Outside spillover window
- pc 2.11 # This is faster
Reference
Device Library Location
devices/eventide_h90.mmd
Documentation
- Official Manual: https://cdn.eventideaudio.com/manuals/h90/1.1/content/
- Eventide Website: https://www.eventideaudio.com/h90
Firmware Version
1.8.6 (recommended for MIDI) / 1.9.4+ (latest, has PC+CC bug)
Troubleshooting
| Issue | Solution |
|---|---|
| CC messages ignored after PC | Firmware 1.9.4+ bug - add 100ms delay or downgrade to 1.8.6 |
| No MIDI control | Configure CC mappings in System Menu → MIDI → Global Control |
| Delay warping on Program change | Use crossfade helpers or HotSwitches |
| Slow Program loading | Reduce spillover time, wait outside spillover window |
| Tuner won't turn off | Quirky behavior - send CC#27 value 127 again |
| Power-related MIDI issues | Use proper power supply (not Fender Engine Room single output) |
See Also
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon
