MIDI Note Repeat · rate switching · beat boundaries · event diagnosis
Why Does Note Repeat Drop or Double a Hit When You Switch Subdivisions? A Four-Beat MIDI Boundary Test
A roll can be correct at 1/8, 1/16, or 1/8-triplet in a fixed-rate block yet lose or add an onset when the rate changes under one held pad. Replace the guesswork with four artifacts: a manually programmed target T; a sustained fixed-rate baseline B0; one continuous-hold challenge C that switches only on numbered beats; and a fresh baseline B1. The target is 2 → 4 → 3 → 2 onsets across four half-open beat windows—11 in the bar—followed by a next-beat-1 right-boundary anchor that is visible but not counted.
Scope: this is a device-neutral test for an external hardware or software system that offers selectable Note Repeat rates and can record or display the generated MIDI events. Ableton Note and Push, M-Audio Oxygen Pro, and Logic Pro are cited only for their own documented behavior. This article attributes those behaviors only to the cited external products; it makes no claim that FingerDrum implements Note Repeat. The four-rate sequence is a test target, not a universal device specification: the cited manuals do not collectively promise that a rate change during one hold will restart or re-phase the generator at that beat. Use a tempo and control method you can operate reliably; this guide specifies no universal BPM, millisecond tolerance, pad layout, or fingering. T/B0/C/B1, the half-open windows, 11-onset checkpoint, layer split, result codes, and stopping rule are FingerDrum’s original editorial synthesis.
Define each beat as [beat, next beat). Target T contains 2 onsets at 1/8 in beat 1, 4 at 1/16 in beat 2, 3 at 1/8T in beat 3, and 2 at 1/8 in beat 4. That is 11 onsets. The onset on the following beat 1 is the right-boundary anchor: it proves you inspected past the scored bar, but it belongs to the next window and never becomes onset 12. If B0 and B1 pass while C does not, the difference is associated with the complete rate-change gesture under the tested conditions; it does not by itself identify the performer, controller, transport, or repeat engine as the cause.
The manuals support rate changes, but not one universal re-phase rule
Ableton’s Note manual says a held pad can repeat at a selected beat division and that the performer can switch divisions to make rhythmic variations. Ableton’s Push manual separately documents holding a pad to play or record an even stream at a selected Repeat interval, with finger pressure affecting the repeated notes’ volume. M-Audio lists 1/8, 1/8T, and 1/16 among the editable Oxygen Pro Note Repeat divisions. Apple describes Logic Pro Note Repeat as transforming a held incoming MIDI note and exposes rate, velocity, and gate as distinct controls.
Those are useful facts, but none is a cross-product timing contract for this exact gesture. In particular, the cited documentation does not establish a universal answer to: “When the rate changes on beat 2 while the pad remains held, must the next repeated onset be newly anchored to beat 2?” A system might re-anchor, preserve an earlier phase, defer the change, or behave differently with internal versus external clock. Firmware, app version, transport state, latch state, and the input method can also define separate conditions. Therefore T is a declared target to test, not a specification that every device is obliged to meet.
Berklee’s rhythm lesson distinguishes eighth-note, triplet, and sixteenth-note pulses, encourages moving between rhythmic units, and stresses knowing where beat 1 is. That musical framing explains why the bar-line anchor matters. It does not specify how any MIDI repeat engine must schedule a boundary.
Program target T before touching the rate control
Create T manually in a MIDI editor with Note Repeat, arpeggiation, swing, randomization, and quantization disabled. Use one MIDI note and one short, easy-to-distinguish sound. Place the onsets shown below, then add the right-boundary anchor on the next beat 1. T is the listening and counting reference; it is not a processed copy of C.
| Half-open window | Declared rate | Programmed onset labels | Target count |
|---|---|---|---|
Beat 1: [1, 2) | 1/8 | 1 & | 2 |
Beat 2: [2, 3) | 1/16 | 2 e & a | 4 |
Beat 3: [3, 4) | 1/8T | 3 trip let | 3 |
Beat 4: [4, next 1) | 1/8 | 4 & | 2 |
Right edge: [next 1, next 2) | Anchor only | next 1 | Excluded |
| Test-bar total | 11 | ||
[1,2) | [2,3) | [3,4) | [4,next 1) || right edge1/8 | 1/16 | 1/8T | 1/8 || —1 & | 2 e & a | 3 trip let | 4 & || next 12 | 4 | 3 | 2 || excludedWhy half-open? A boundary onset has exactly one owner. Beat 2 belongs to [2, 3), never to beat 1’s window; the following beat 1 belongs to the next window, never to beat 4. This prevents one marker from being counted twice and makes “drop” or “double” testable.
- Pitch invariant: every test onset uses the same MIDI note and channel.
- Clock invariant: clock source, transport state, meter, and tempo stay unchanged through T/B0/C/B1.
- Generation invariant: no arpeggiator, second repeat engine, echo, MIDI feedback path, or probability process adds events.
- Reference invariant: T remains untouched after programming; the raw captures remain unedited.
B0 → C → B1 checks fixed-rate repeatability around the switching take
B0 checks each fixed rate in a sustained block before the switching take. C asks the boundary question during one uninterrupted hold. B1 repeats the fixed-rate blocks afterward. This sequence can reveal a setup that does not repeat before and after C, but it cannot rule out a one-off clock, route, control, or performance disturbance inside C. If the system cannot record the rate-change control events, the conclusion covers the complete gesture rather than the repeat engine alone.
| Artifact | Gesture and layout | Expected evidence | What it controls |
|---|---|---|---|
| T · programmed target | Manual notes: 1/8 → 1/16 → 1/8T → 1/8, plus next-1 anchor | 2 → 4 → 3 → 2 = 11 | What “pass” means before performance |
| B0 · baseline before | Four separate fixed-rate blocks. Hold for at least three complete beats, score only the middle beat, use an unscored fourth beat for release, then observe a fifth beat. | Middle-window counts 2, 4, 3, 2; no new onsets in the post-release observation beat | Fixed-rate density and gesture repeatability before C |
| C · continuous challenge | Hold the same pad through one bar; switch only on beats 2, 3, and 4; capture past next beat 1 before releasing | Four windows match T; 11 test onsets; when target phase passes, the right-boundary anchor is present and excluded | The complete mid-hold rate-change gesture |
| B1 · baseline after | Repeat all four sustained fixed-rate blocks as a new capture | Same scored counts and post-release onset observations as B0 | Fixed-rate regression or setup change after C |
- Record the condition: identify the external product and version, clock source, transport running or stopped, rate-control method, and recording destination. Use momentary or non-latched operation so the physical hold defines C; if the system cannot do that, this exact test does not fit it. Record each rate-change control event and its musical position if the system exposes it; otherwise label the result as a test of the complete gesture.
- Choose an operable tempo: use a tempo at which you can change the control on the numbered beat without anticipation or panic. Keep that tempo for every artifact. The number is a session condition, not a recommended BPM for everyone.
- Capture B0: make one separate block for 1/8, 1/16, 1/8T, and 1/8. In every block, start the hold before an unscored full beat, score the next complete beat, and keep holding through one further complete beat. Use a fourth, unscored beat to release away from the scored boundary; require no new onset events only in the following full observation beat. Confirm the four middle-window counts before proceeding.
- Capture C: begin at 1/8, maintain one physical hold, and change only the rate at beats 2, 3, and 4. Do not release and re-strike to make the target pass. Continue recording past the following beat 1 for at least one full current-rate interval, then release; never use the appearance of a next-1 event as the release cue.
- Capture B1: repeat every sustained B0 block without correcting C or changing settings. Compare B0 and B1 before interpreting C.
If the product cannot select one of these rates, cannot change rate during a hold, or cannot expose its generated MIDI output, this exact test does not fit that system. Record the limitation instead of silently substituting another division or using audio alone.
Preserve raw MIDI and assign every Note On to one window
Keep T, B0, C, and B1 on separately named clips or lanes. Preserve the original MIDI capture: do not quantize, nudge, trim, consolidate, or replace notes before the audit. If you later need a corrected musical clip, duplicate the raw take and label the edit. This boundary test needs event identity more than cosmetic alignment.
In the unedited capture, count the repeated voice’s onset events as parsed by the recorder. In a MIDI 1.0 view, do not count a velocity-zero Note On used as a release encoding as another onset. Use the ruler and beat lines to assign ownership. You do not need to convert offsets into ticks or milliseconds, and this guide supplies no universal “close enough” threshold. First answer the categorical questions: How many onsets are in the window? Do their beat phases match T? Does the capture continue past the following beat 1, and—only if the target counts and phase already pass—is the right-boundary anchor present and excluded?
| Artifact | 1/8 window | 1/16 window | 1/8T window | final 1/8 window | Right-boundary check |
|---|---|---|---|---|---|
| T | 2 | 4 | 3 | 2 | Present / excluded |
| B0 | 2 | 4 | 3 | 2 | Post-release onset window checked separately |
| C | __ | __ | __ | __ | Present / missing |
| B1 | 2 | 4 | 3 | 2 | Post-release onset window checked separately |
Audit C from left to right and stop at the first repeatable mismatch. A later extra onset can be a consequence of an earlier phase decision; diagnosing everything at once obscures the first boundary that changed the stream.
A MIDI onset is not a gate length, velocity, or sample tail
Apple’s Logic Pro documentation exposes repetition rate, velocity, and gate length separately. Ableton’s Push manual says finger pressure can change the volume of repeated notes. Ableton Note distinguishes Trigger playback, which can continue regardless of note end, from Gate playback, which stops with note release. These product-specific examples point to one general diagnostic rule: do not use one layer’s symptom as proof about another layer.
| Layer | Inspect | Can mimic | Keep out of the 11-onset verdict |
|---|---|---|---|
| Onset stream | Recorder-parsed onset count and window ownership | A true missing or extra trigger | This is the primary verdict: 2 → 4 → 3 → 2 |
| Gate / note length | Note end and duration after each onset | A hit that sounds clipped, joined, or overlapping | A long or short note is not automatically another onset |
| Velocity | Velocity attached to each Note On | A present event that sounds missing because it is too quiet, or a level change mistaken for an onset problem | Do not delete quiet events from the count |
| Audio tail | Sample envelope, Trigger/Gate mode, choke, effects, and voice overlap | Flam-like smear, cutoff, ringing, or masking | Audio cannot prove the MIDI event count by itself |
Start with the repeated MIDI voice soloed and keep downstream effects bypassed or unchanged if possible; the event list remains the counting evidence. After the 11-onset checkpoint passes, compare gate lengths, then velocities, then audio. Change only one of those variables on a duplicate. A “double” heard in the speakers with one captured Note On belongs downstream of the repeat-onset question.
The first failed check determines one result code
Read this table from top to bottom and stop at the first matching row. That precedence makes the codes mutually exclusive: U outranks B, baseline checks outrank C, C counts outrank phase, and phase outranks the right-boundary anchor. For D or X, report the first differing window and its signed count difference; do not assign both codes to later consequences.
| First repeatable evidence | Code | Defensible conclusion | Next controlled check |
|---|---|---|---|
| B0 and B1 disagree on a scored fixed-rate window or post-release onset observation | U · unstable | The before/after setup or gesture did not repeat | Stop; restore one repeatable fixed-rate baseline before interpreting C |
| B0 and B1 agree with each other, but both miss a declared fixed-rate count or contain a new onset in the full observation beat after release | B · baseline | The sustained fixed-rate gesture did not meet this baseline | Resolve or document the fixed-rate behavior; do not score C yet |
| Both baselines pass, but C first differs from T in beat 1 | I · entry | The hold/start gesture differs before any mid-hold rate change occurs | Repeat the entry alone and record pad-down, transport, and first-onset order |
| Both baselines pass; the first differing C window is beat 2, 3, or 4 and contains fewer onsets than T | D · drop | A boundary-associated onset deficit occurred in this complete gesture | Record the negative delta and repeat only the preceding boundary under the same condition |
| Both baselines pass; the first differing C window is beat 2, 3, or 4 and contains more onsets than T | X · extra | A boundary-associated onset surplus occurred in this complete gesture | Record the positive delta, check duplicate routes, then repeat the same boundary |
| All four C counts match T, but one or more onsets fall at a different beat phase from T | P · phase | The observed stream does not match the declared beat-phase target | Preserve the pattern and consult product-specific documentation or support |
| Counts and beat phase match T, the capture extends past next beat 1, but the target right-boundary anchor is missing or counted inside beat 4 | E · edge | The declared right-boundary target was not met or the window rule was applied incorrectly | Repeat only the final boundary with a fixed capture margin |
| All onset checks pass, but notes cut off or overlap | G · gate | Onset scheduling passed; note duration did not meet the musical target | Compare note ends on a duplicate without changing rate |
| Onset and gate checks pass, but one hit is much quieter or louder | V · velocity | Onset scheduling passed; dynamics differ | Inspect velocity or pressure behavior separately |
| MIDI onset, gate, and velocity checks pass, but playback still smears, rings, or cuts off | A · audio | The remaining symptom is downstream of MIDI onset generation | Freeze MIDI and test envelope, Trigger/Gate, choke, and effects one at a time |
Use “drop” and “extra” as descriptions of the captured event stream, not as claims about engineering intent. A C result that differs from T may be a documented or undocumented phase policy rather than a fault. The evidence can still be useful: it tells you whether this exact mid-hold gesture is dependable in the recorded condition.
Repeat the full arc before changing the musical phrase
Run a fresh B0 → C → B1 capture once more with the same condition sheet. The boundary target passes only when both sustained fixed-rate baselines show 2, 4, 3, 2 in their scored middle windows and no new onset in the full observation beat after the release-sacrifice beat, C contains the same 11 onsets at the intended beat phases, the capture extends past next beat 1 with its target anchor visible and excluded, and no raw event was manually repaired. If the two runs disagree, report both rather than averaging them into a clean story.
Only after the test is repeatable should you transfer the gesture to a beat. Change one dimension—sound, tempo, clock source, latch state, controller, or rate sequence—and treat that as a new condition with a new B0/C/B1 arc. If the external system does not meet T, workable musical alternatives may include programming the target, using a product-supported automation path, or releasing and re-triggering at the boundary. Test the chosen alternative; do not assume it preserves phase.
Does a C failure prove that the device is broken?
No. It proves only that the captured mid-hold stream did not match the declared target under the recorded conditions. Compare product-specific documentation, version notes, and support guidance before calling the behavior a defect.
Should I quantize C before counting?
No. Quantization can move boundary-adjacent events into another window or hide the phase behavior you meant to observe. Preserve raw MIDI; edit a labeled duplicate only after the audit.
Why is the following beat 1 not onset 12?
The test total covers exactly one bar: [beat 1, next beat 1). The following downbeat is the right-boundary anchor and belongs to the next half-open window. When the target phase otherwise matches, showing it proves that beat 4 was not judged by a cropped ending; it does not test what happens after release.
Can I run the test from audio if MIDI output is unavailable?
You can make an audio observation, but overlapping tails, velocity, choke, and gate behavior can hide or imitate triggers. Label the result audio-only; do not report an 11-onset MIDI pass or fail without MIDI event evidence.
Sources and access dates
Ableton documents holding a pad at a selected Repeat beat division in Note, as well as using its MIDI editor to inspect captured notes. Its Push manual separately documents selecting Repeat intervals, holding a pad to play or record an even note stream, and changing repeated-note volume with finger pressure. M-Audio lists the exact 1/8, 1/8T, and 1/16 divisions used here for Oxygen Pro. Apple separates Note Repeat rate, velocity, and gate length in Logic Pro. Berklee supplies the musical distinction among eighth, triplet, and sixteenth pulses and the need to retain beat-one awareness when moving between rhythmic units. None of these sources specifies the T/B0/C/B1 arc, half-open window ownership, 11-onset target, right-boundary anchor, layer audit, result codes, or stopping rule; those are FingerDrum’s original synthesis.
- Ableton — Ableton Note Manual (accessed August 15, 2026)
- Ableton — Ableton Push 3 Manual: Recording with Repeat (accessed August 15, 2026)
- M-Audio — Oxygen Pro Series: Note Repeat Time Divisions (accessed August 15, 2026)
- Apple — Use Note Repeat in Logic Pro for Mac (accessed August 15, 2026)
- Berklee College of Music — Got Rhythm? (accessed August 15, 2026)