Electronic hi-hat · MIDI CC · playback diagnosis
Hi-Hat Feels Right Live but Replays Open or Closed? Audit MIDI CC and Note Order
When live monitoring follows your foot but the recorded take collapses continuous openness into only open and closed states, do not redraw every hi-hat note. Prove the local sound, capture a no-hit pedal sweep, test repeatable foot positions, and follow the same events through raw input, DAW storage, and plugin playback. Then test one change with A0/B/A1.
Scope: this diagnostic starts with a hi-hat that works locally or live but changes on MIDI replay. MIDI 1.0 defines CC4 as Foot Controller, 0–127—not universally as hi-hat openness. Sender and receiver mappings decide whether position uses a controller, separate notes, or both. TD-50X and VH-10 details are model examples only. A raw monitor locates one layer; it cannot certify DAW storage or plugin meaning. FingerDrum does not automatically run the audit, calibrate hardware, or rewrite a take.
Confirm the local sound, then move open → closed → open without striking and log controller, channel, values, and observed direction. For a continuous source, hold five approximate positions for three hits each; for a switch source, test only its documented states. Record CC/Note On order, compare raw input, the stored clip, and playback, and test once from before the first position message. Change only the first layer that diverges.
Preflight locally before blaming the recording
Remove the DAW and third-party plugin from the first test. Through one fixed local kit, test three open and three closed strikes; add three middle strikes only when the exact hardware documents or demonstrably produces intermediate openness. Record the pad/controller, pedal or sensor, module, cables, selected trigger type, kit, and output. Stop if this local source is already stuck or erratic: a later MIDI map cannot repair an unstable reference.
Identify the pedal as continuous/variable, switch/open–closed, or unknown from its exact manual and raw behavior. A switch can legitimately send two states or different notes; it cannot produce half-open positions it never sensed. A continuous 0–127 data range also does not promise 128 audible samples. If local response fails, follow the exact pad–module calibration instructions. Roland's VH-10 manual, for example, specifies an offset procedure for a VH-10 with TD-17 and an OPEN/CLOSE adjustment screw. Do not transfer those model-specific steps to other hardware.
Capture motion first, then relate position to each Note On
Use a new track with one MIDI input and no remapper, quantizer, transformer, or loopback. Keep the kit, preset, channel, controller setting, library, and monitoring route fixed. Save a duplicate before editing and, if possible, capture a timestamped raw log beside the DAW track.
Run an open → closed → open sweep with zero strikes
- Open: rest briefly so an initial state can appear; silence does not establish it.
- Close: move slowly with zero strikes, recording controller, channel, value, and arrival order.
- Reopen: after a closed pause, return at similar speed. Note whether values rise, fall, jump, plateau, or use several messages. Do not assume which endpoint means open.
This proves only whether the source emits a repeatable position path. It says nothing yet about mechanical accuracy, DAW retention, or plugin support.
Use five approximate holds, with three strikes per hold
For a verified continuous/variable source, use five tactile landmarks—fully open, mostly open, middle, mostly closed, and firmly closed—without pretending they are precise percentages. Settle at each, then strike the same zone three times at a similar force. For a verified switch source, use only its documented states and mark the intermediate rows not applicable. Test foot splash separately.
| Physical position | Channel | Controller | Value | Note | Velocity | Order | Live | Playback |
|---|---|---|---|---|---|---|---|---|
| Fully open · hits 1–3 | ____ | CC ____ | ____ / ____ / ____ | ____ | ____ | before/after/none | ____ | ____ |
| Mostly open · hits 1–3 | ____ | CC ____ | ____ / ____ / ____ | ____ | ____ | ____ | ____ | ____ |
| Middle · hits 1–3 | ____ | CC ____ | ____ / ____ / ____ | ____ | ____ | ____ | ____ | ____ |
| Mostly closed · hits 1–3 | ____ | CC ____ | ____ / ____ / ____ | ____ | ____ | ____ | ____ | ____ |
| Firmly closed · hits 1–3 | ____ | CC ____ | ____ / ____ / ____ | ____ | ____ | ____ | ____ | ____ |
Preserve events around each strike: “CC and note both exist” is not enough if the receiver reads its current state at Note On. Do not quantize or draw a ramp yet. Keep velocity because loudness differences can masquerade as openness changes.
Trace the same evidence through three checkpoints
Live and replay paths can differ: monitoring may hear controller motion while a record filter stores only notes; a complete clip may start after its state event; or the receiver may expect another controller, channel, note map, or direction.
| Checkpoint | Inspect and pass | Failure points to |
|---|---|---|
| 1 · Raw input | Event type, controller, channel, value, note, velocity, order; sweep and grid repeat. | Hardware, connection, module setting, or calibration. |
| 2 · DAW stored | Event list retains the same controller path, channel, notes, and order. | Filtering, conversion, rewriting, thinning, or trimming. |
| 3 · Plugin playback | The exact preset reproduces every stored grid row from a defined start. | Mapping, direction/range, order, or initial state. |
inMusic describes MIDI monitors as checks for communication and unexpected channel, note, or CC data. That is their limit here: a raw monitor cannot prove what a later filter stored, what another output sent, or what a plugin means by the data.
Test the transport start, not only the notes
Locate the first position message for the first strike. Play from before it, then from on/after the note. If only the first works, mark START: the receiver may be reusing an old/default state. On a duplicate, one observed position message may be placed in pre-roll as a test. Do not invent its value, reverse the lane, or copy it everywhere. Record the DAW's chase/reset settings rather than assuming them.
CC4 is a controller number, not a universal hi-hat promise
The MIDI Association names CC4 Foot Controller and defines its data byte as 0–127. It does not universally assign CC4 to hi-hat position, define endpoint direction, pair it with notes, or require event order.
Roland's TD-50X implementation illustrates configuration. Hi-hat pedal choices include CC4 (Foot), CC11 (Expression), CC16 (General Purpose Controller 1), and CC17 (General Purpose Controller 2). With the stated settings, pedal operation sends the selected controller and a hi-hat strike can send position before Note On. This does not establish the menu or behavior of another model.
Alesis documents that some kits use the same hi-hat note plus a CC for relative position, while simpler switch-pedal kits can use different open/closed notes with no continuous CC range. Both are valid when the receiver expects the same protocol. Do not remap a note+CC source into discrete notes—or demand intermediate positions from a switch—before proving that mismatch.
A0/B/A1: change one variable and require the effect to reverse
Use the same saved clip for receiver tests, or the same spoken motion script for source tests:
- A0: save the baseline; replay from fixed pre-roll and log the first wrong grid row.
- B: change exactly one filter, preset, controller, channel, event order, or exact-model calibration setting.
- A1: revert and repeat. The original failure should return; otherwise an uncontrolled state changed.
- B2: reapply B and repeat the whole grid. Keep it only if the target passes without breaking notes, velocity, foot actions, or alternate starts.
Use a duplicate for destructive tests. Moving one event can prove order but is not automatically the final repair. Prefer a documented setting, then make a clean capture.
Route the first mismatch with a failure code
Code the earliest disagreement; later symptoms often cascade from it.
| Code | First failure | Next isolated test |
|---|---|---|
LOCAL | Local sound is unstable. | Check physical setup, trigger type, cable, and exact-model calibration. |
CAP | Raw sweep lacks the expected position path. | Confirm pedal capability and module transmit setting. |
CHAN | Observed channels do not match the receiver's documented routing. | Compare raw, stored, and playback-output channels. |
CC | Receiver expects another controller. | Map the one observed, documented controller. |
NOTE | Notes miss the intended articulation map. | Compare sender log with the exact preset map. |
ORDER | A documented or measured pre-note position arrives after its Note On. | Move one observed event on a duplicate; run A0/B/A1. |
STORE | Raw has position; clip does not. | Test filters, conversion, thinning, and trimming individually. |
START | Only playback from before the state works. | Test verified pre-roll and document chase/reset behavior. |
MAP | Raw and stored agree; plugin does not. | Test its e-drum preset, CC, direction, channel, and note combination. |
Release the take only after both replay starts pass
- Hardware, trigger type, kit/preset, connection, and calibration state are recorded.
- The no-hit sweep and the applicable position grid—five holds for a continuous source, documented states for a switch—are saved without assumed direction.
- Raw input, DAW-stored events, and plugin playback agree on protocol and order.
- Playback passes from before the first position message and from the intended edit point.
- A0/B/A1/B2 reverses and restores the result with one variable.
- Bow/edge, velocity, endpoints, and intentionally supported foot actions still work.
Archive the clip, raw log, settings, and start point. Rerun the grid after a module, controller, plugin, preset, routing, or clip change. The goal is agreement between this sender, path, and receiver—not a universal “correct CC4 curve.”
Common questions
Does every electronic hi-hat use CC4?
No. MIDI 1.0 defines CC4 as Foot Controller, 0–127. A module may use CC4, another CC, separate notes, or a combination. Verify both endpoints and the raw capture.
Should 0 mean open and 127 mean closed?
Do not assume. Log pedal action, value, and sound together. Reverse a mapping only when controlled evidence shows the receiver reads the source backward.
Why is the live-monitored take correct if the recorded clip is wrong?
Monitoring may receive motion while recording filters it, or replay may start after the state event. Compare raw input, stored events, output, and receiver mapping in order.
Can a switch pedal be made half-open with automation?
Not as a truthful capture: a two-state switch never measured them. Extra programmed articulations are an arrangement choice, not recovered pedal motion.
Will a raw MIDI monitor tell me which plugin setting is correct?
No. It shows input channel, note, controller, value, and order; it does not know the stored clip or plugin semantics. Use it only to locate the first layer.
Sources and access date
These primary manufacturer and standards sources support the narrow protocol, device, calibration, and monitor facts above. The preflight, no-hit sweep, five-position/three-hit ledger, raw → stored → playback checkpoints, A0/B/A1 test, failure codes, and release checklist are a FingerDrum editorial diagnostic framework.
- MIDI Association — MIDI 1.0 Control Change Messages (Data Bytes) (accessed September 5, 2026)
- Roland — TD-50X MIDI Implementation (accessed September 5, 2026)
- Alesis Drums — Why does the Hi Hat send the same MIDI note open/closed? (accessed September 5, 2026)
- Roland — VH-10 Owner's Manual (accessed September 5, 2026)
- inMusic Store — Using a MIDI Monitor to Test a MIDI Device (accessed September 5, 2026)