brainstorming
Structured design dialogue that validates ideas before implementation begins.
mmd-device-quad-cortex
Guide for using the Neural DSP Quad Cortex device library in MMD files. Use when the user mentions Quad Cortex, QC, Neural DSP guitar processor, or needs help with preset loading, scene switching, expression control, or stomp automation for the Quad Cortex.
Full skill instructions
Expert guidance for using the Quad Cortex device library in MIDI Markdown files.
Invoke this skill when working with:
@import "devices/quad_cortex.mmd"
[00:00.000]
# Load Setlist 1, Group 0, Preset 5
- qc_load_preset 1 0 0 5
# Or use simplified version (first 128 presets)
- qc_load_preset_simple 1 0 5
[00:16.000]
# Switch to Scene B
- qc_scene_b 1
# Or use parameterized version
- qc_scene 1 1
Problem: MIDI scene changes via CC#43 have significant latency in CorOS 2.0+
Symptoms:
Workarounds:
# Workaround 1: Send scene change early (in DAW)
[00:15.900] # 100ms before the beat
- qc_scene 1 2
# Workaround 2: Use expression swell to mask latency
[00:16.000]
- qc_scene_with_swell 1 2 # Fades expression to hide latency
# Workaround 3: Enable "Ignore Duplicate PC" in device settings
System Recommendations:
Problem: Sending rapid successive CC messages can freeze the device
Critical: ALWAYS add minimum 100ms delays between CC messages
Safe Expression Automation:
# ❌ WRONG - No delays, can freeze device
[00:00.000]
- cc 1.1.0
- cc 1.1.42
- cc 1.1.85
- cc 1.1.127
# ✅ CORRECT - Use safe helper with enforced delays
[00:00.000]
- qc_exp1_step_automation 1
# ✅ CORRECT - Use safe ramp helper
[00:00.000]
- qc_exp1_safe_ramp 1 0 127
Problem: When MIDI Thru is enabled, device stops sending its own MIDI messages
Solution:
Critical: Must wait 100ms between Bank/Setlist/PC messages
# ✅ CORRECT - qc_load_preset includes proper delays
[00:00.000]
- qc_load_preset 1 0 0 5
# This expands to:
# - cc 1.0.0 # Bank group
# [+100ms]
# - cc 1.32.0 # Setlist
# [+100ms]
# - pc 1.5 # Preset
Never manually construct this sequence without delays!
Problem: CC#1/CC#2 have noticeable lag compared to physical pedals
Recommendations:
[00:00.000]
# Full preset load (group 0, setlist 2, preset 10)
- qc_load_preset 1 0 2 10
# Simplified (first 128 presets)
- qc_load_preset_simple 1 2 10
# Preset + Scene combo
- qc_load_preset_scene 1 2 10 3 # Load preset 10, scene D
[00:00.000]
# Named scenes (A-H)
- qc_scene_a 1
- qc_scene_b 1
- qc_scene_c 1
# Parameterized (0-7 for scenes A-H)
- qc_scene 1 3 # Scene D
# Scene change with expression swell (masks latency)
- qc_scene_with_swell 1 4 # Scene E with crossfade
[00:00.000]
# Explicit on/off (64+ = active, 0-63 = bypass)
- qc_stomp_a_on 1
- qc_stomp_b_on 1
[00:08.000]
- qc_stomp_a_off 1
# Toggle mode (any value toggles)
- qc_stomp_c 1 127 # Toggles footswitch C
[02:00.000]
# Bypass all footswitches (song ending)
- qc_all_stomps_off 1
[00:00.000]
# Direct MIDI value (0-127)
- qc_exp1 1 64
# Percentage (0-100)
- qc_exp1_percent 1 50
# With modulation curves
- qc_exp1_swell 1 0 127 # Smooth swell with ease-in-out
- qc_exp1_fade_in 1 # 0 to 127 with exponential curve
- qc_exp1_fade_out 1 # 127 to 0 with logarithmic curve
[00:00.000]
# Vibrato effect using wave modulation
- qc_exp1_vibrato 1 64 5.5 10 # Center=64, freq=5.5Hz, depth=10%
# Tremolo effect
- qc_exp1_tremolo 1 64 4.0 30 # Center=64, freq=4Hz, depth=30%
# ADSR envelope
- qc_exp1_envelope 1
# Attack-Release envelope
- qc_exp1_ar 1 0.5 1.0 # Attack=0.5s, Release=1.0s
[00:00.000]
# Open looper
- qc_looper_open 1
[+150ms]
# Start recording (momentary: send 127 then 0)
- qc_looper_record 1
[+100ms]
- qc_looper_stop 1
# Switch to playback
[+4s]
- qc_looper_play 1
# Close when done
[+8s]
- qc_looper_close 1
[00:00.000]
# Complete workflow with safe timing
- qc_looper_safe_workflow 1
[00:00.000]
# Toggle features
- qc_looper_reverse 1 # Enable/disable reverse
- qc_looper_halfspeed 1 # Enable/disable half speed
- qc_looper_oneshot 1 # Enable/disable one shot
- qc_looper_undo 1 # Undo/redo
# Set quantize (0=off, 1-8=beats, 9=16 beats)
- qc_looper_quantize 1 4 # 4 beat quantize
[00:00.000]
# MIDI value (0-127)
- qc_tempo 1 64
# BPM (40-300)
- qc_tempo_bpm 1 120
[00:00.000]
# Toggle tuner
- qc_tuner_on 1
[+5s]
- qc_tuner_off 1
[00:00.000]
# Switch modes
- qc_mode_preset 1 # Preset mode
- qc_mode_scene 1 # Scene mode
- qc_mode_stomp 1 # Stomp mode
# Temporary mode switch
- qc_temp_stomp_mode 1 35 0 # Switch to stomp, toggle FS A, return to preset
[00:00.000]
# Load preset, scene, and set expression
- qc_song_section 1 2 10 3 100
# Params: channel, setlist, preset, scene, exp1_value
[00:00.000]
# Configure QC for DAW control
- qc_daw_init 1
# This enables:
# - Ignore Duplicate PC
# - Stomp mode
# - Closes Gig View
# - Disables tuner
Preferred: 5-pin DIN MIDI cables
If using both:
DAW Integration:
# ❌ WRONG - Can freeze device
[00:00.000]
- cc 1.1.0
- cc 1.1.32
- cc 1.1.64
- cc 1.1.96
- cc 1.1.127
# ✅ CORRECT - Use safe helper
[00:00.000]
- qc_exp1_safe_ramp 1 0 127
# ❌ WRONG - Will be late
[00:16.000]
- qc_scene 1 2
# ✅ CORRECT - Send early or use crossfade
[00:15.900] # 100ms early
- qc_scene 1 2
# Or use crossfade helper
[00:16.000]
- qc_scene_with_swell 1 2
# ❌ WRONG - Manual sequence without delays
[00:00.000]
- cc 1.0.0
- cc 1.32.2
- pc 1.10
# ✅ CORRECT - Use helper with built-in delays
[00:00.000]
- qc_load_preset 1 0 2 10
✅ Enable "Ignore Duplicate PC" in device settings ✅ Use MIDI DIN cables instead of USB for live performance ✅ Turn off MIDI Thru on the device ✅ Add 100ms spacing between all CC messages ✅ Keep firmware updated but test before gigs ✅ Use safe expression automation aliases
Recommended: Stay in Stomp Mode
Connect physical expression pedals directly:
qc_exp1_safe_ramp and similar helpersdevices/quad_cortex.mmd
CorOS 3.2.1 (as of library version 1.0.0)
| Issue | Solution |
|---|---|
| Scene changes are late | Enable "Ignore Duplicate PC", send early, or use crossfade |
| Device freezes with CC | Add 100ms delays, use safe automation helpers |
| Expression pedal is laggy | Use physical pedals, not MIDI CC |
| Preset won't load | Check timing delays (100ms minimum) |
| MIDI conflicts | Disable MIDI Thru, use specific channels |
| Random preset changes | Disable MIDI Timecode in DAW |
Structured design dialogue that validates ideas before implementation begins.
Comprehensive design intelligence for web and mobile UI/UX across 10 technology stacks.
Comprehensive implementation plans for multi-step tasks, breaking down specs into bite-sized, testable steps.
Introduction to the obra skills system with mandatory skill invocation rules and best practices.
Execute a written implementation plan with critical review and task checkpoints.
Delegate independent tasks to specialized agents working concurrently with isolated context.
Isolated git worktrees with smart directory selection and safety verification.
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
Plan searchable and shareable content that drives traffic, builds authority, and generates leads.
README-first repository scanner that extracts commands and classifies reproduction candidates without executing them.
Brainstorm and prioritize marketing strategies tailored to your SaaS stage, budget, and goals.
Plan and optimize your website's page hierarchy, navigation, URL structure, and internal linking.
The world's fastest calendar for remote work
Capture, organize, and utilize your knowledge effortlessly.
Instant Summaries of Audio & Video Interviews with AnySummary
Transform PDFs into engaging mind maps.
Chat with any PDF instantly
Create an optimal daily plan using your voice
A productivity platform to centralize organizational knowledge and workflows with contextual AI assistance.
AskYourPDF Pricing Plans: Tailored to Your Needs