Description:
Add dedicated
Sustain Pedal (CC64)
tools in the MIDI editor: a visual lane with pedal-down regions, smart functions to
extend/merge notes under pedal
,
split at lifts
,
quantize/humanize pedal on/off
, and support for
half-pedaling
. Include companion lanes for
Sostenuto (CC66)
and
Soft (CC67)
, plus one-click “bake/unbake” between pedal data and note lengths.
Problem:
Pedaled performances (piano, EP) record as short notes + CC64 holds. Editing or quantizing them is tedious: notes look staccato, pedal lifts get misplaced, and repedaling/half-pedal nuance gets lost. Fixing stuck notes, aligning lifts to the grid/groove, or converting pedal gestures into clean legato lengths currently requires time-consuming manual work.
Proposed Solution:
  • CC Lanes & Visualization
- CC64 lane with
pedal-down shading
; threshold & hysteresis to define “down” (e.g., ≥64 by default).
-
Half-pedal curve
(map 0–127 to sustain amount), optional per-instrument response.
- Optional lanes for
CC66 (Sostenuto)
and
CC67 (Soft)
with distinct shading.
  • Smart Edit Operations
-
Pedal → Extend Notes:
lengthen note-offs to the next pedal lift (legato merge across pedal).
-
Lift-Aware Split:
cut sustained notes exactly at pedal lifts (with optional gap ms).
-
Render Sustain to Note Lengths / Extract Sustain from Overlaps
(bake/unbake).
-
Quantize Pedal On/Off
to grid or
groove
with feel %, and
Humanize
(±ticks) for natural lifts.
-
Repedaling handling:
treat short lifts below N ms as continuous sustain.
-
Half-Pedal Scaling:
compress/expand sustain amount by curve; clamp min hold.
-
Re-articulate after Lift:
insert short release gaps or staccatissimo per setting.
-
Fix Stuck Notes:
detect mismatched offs masked by pedal; generate/correct note-offs.
  • Editing UX
- Pencil/erase for pedal envelopes; box-edit multiple lifts; nudge on/off by ticks/beats.
- Readouts while dragging:
On @ 33.3.2 • Off @ 34.1.1 (Δ 0.6 beat)
.
-
Chase state
when starting playback mid-clip (reconstruct held notes from current pedal value).
  • Actions & Variables
- Actions:
Extend Notes Under Sustain
,
Split at Pedal Lifts
,
Quantize Pedal On/Off
,
Bake Sustain to Lengths
,
Extract Sustain
,
Toggle Half-Pedal
,
Fix Stuck Notes
.
- Vars:
cc64.down
(bool),
cc64.value
,
cc64.threshold
,
pedal.liftCount
,
pedal.halfAmount
.
  • Safety & Integration
- Works with tempo/quantize changes and groove templates; fully undoable.
- Per-track defaults for thresholds, repedal window, and half-pedal curve.
Benefits:
  • Clean, legible MIDI that reflects
    how pedaling actually sustains notes
    .
  • Faster editing and musically correct quantization of pedal gestures.
  • Preserves nuance (repedals, half-pedal) while fixing timing and stuck notes.
  • Flexible workflows: keep CC64 live or bake into note lengths for export.
Examples:
  • Convert a recorded piano take:
    Bake Sustain to Lengths
    , quantize lifts to
    1/4-groove
    , then
    Unbake
    to restore CC64 if needed.
  • After a tempo change,
    Quantize Pedal On/Off
    and
    Repedal window = 80 ms
    to maintain natural legato.
  • Use
    Lift-Aware Split
    to create re-articulations at each pedal up; add a
    10 ms
    gap for clarity.
  • Enable
    Half-Pedal
    with a gentle curve so values 50–90 produce partial sustain instead of binary holds.
This summary was automatically generated by GPT-5 Thinking on 2025-10-14.
Original Post:
Midi editor: process sustain pedal messages
Hi, I record piano into midi clip, the clip then has visible dots that mark places where I press and release the sustain pedal. However, I do not see the marks in the midi editor and hence cannot edit them. So loopy records midi messages for pressing and releasing the pedal, but doesn’t allow to process it.