Notebook: Staccato Listening Demo
This is a compact listening guide for three MIDI staccato candidates: an IOI-relative model, a fixed absolute-duration model, and a bounded hybrid model. It uses the isolated row00004 target line from MidiCaps/Lakh and renders the same musical material across a small set of instruments and tempi.
This demo assumes the selected target is a mostly monophonic line. For chordal or strongly polyphonic tracks, the next-onset safety rule may over-shorten simultaneous notes.
Part A - What the three models do
All three models preserve note onset and velocity. They only move the note offset (note_off). The safety rule is the same for every model: edited notes must keep a positive duration and must not cross the next onset in the selected line.
The inter-onset interval (IOI) is the time from one note attack to the next:
IOI_i = onset_{i+1} - onset_i
Models A and C use IOI so articulation can depend on attack spacing, not only on how long the note was originally held. The last note has no next onset, so the implementation uses the previous IOI for model calculations and marks that note separately in metrics.
| Model | Duration rule | Intuition | Expected listening behavior |
|---|---|---|---|
| A - IOI ratio | d'_i = 0.4 * IOI_i | Makes articulation relative to the next attack. | Tempo/context aware; can become very short or long when IOIs are extreme. |
| B - Absolute duration | d'_i = 120 ms | Tests a fixed short duration independent of tempo. | Can feel punchy, but may become too long at fast tempi or too short at slow tempi. |
| C - Hybrid limited | d'_i = max(40 ms, min(0.4 * IOI_i, 120 ms)) | Combines IOI awareness with a perceptual 40-120 ms window. | Expected to be the most balanced starting hypothesis. |
Part B - Listening grid
Each instrument block uses the same isolated row00004 target line. The audio order is always: unedited reference, Model A, Model B, Model C. The tempo groups are original tempo, 60 BPM, and 180 BPM.