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.

Count windows, not impressions

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 windowDeclared rateProgrammed onset labelsTarget count
Beat 1: [1, 2)1/81 &2
Beat 2: [2, 3)1/162 e & a4
Beat 3: [3, 4)1/8T3 trip let3
Beat 4: [4, next 1)1/84 &2
Right edge: [next 1, next 2)Anchor onlynext 1Excluded
Test-bar total11
Window[1,2) | [2,3) | [3,4) | [4,next 1) || right edge
Rate1/8 | 1/16 | 1/8T | 1/8 || —
Onsets1 & | 2 e & a | 3 trip let | 4 & || next 1
Count2 | 4 | 3 | 2 || excluded

Why 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.

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.

ArtifactGesture and layoutExpected evidenceWhat it controls
T · programmed targetManual notes: 1/8 → 1/16 → 1/8T → 1/8, plus next-1 anchor2 → 4 → 3 → 2 = 11What “pass” means before performance
B0 · baseline beforeFour 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 beatFixed-rate density and gesture repeatability before C
C · continuous challengeHold the same pad through one bar; switch only on beats 2, 3, and 4; capture past next beat 1 before releasingFour windows match T; 11 test onsets; when target phase passes, the right-boundary anchor is present and excludedThe complete mid-hold rate-change gesture
B1 · baseline afterRepeat all four sustained fixed-rate blocks as a new captureSame scored counts and post-release onset observations as B0Fixed-rate regression or setup change after C
  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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?

Artifact1/8 window1/16 window1/8T windowfinal 1/8 windowRight-boundary check
T2432Present / excluded
B02432Post-release onset window checked separately
C________Present / missing
B12432Post-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.

LayerInspectCan mimicKeep out of the 11-onset verdict
Onset streamRecorder-parsed onset count and window ownershipA true missing or extra triggerThis is the primary verdict: 2 → 4 → 3 → 2
Gate / note lengthNote end and duration after each onsetA hit that sounds clipped, joined, or overlappingA long or short note is not automatically another onset
VelocityVelocity attached to each Note OnA present event that sounds missing because it is too quiet, or a level change mistaken for an onset problemDo not delete quiet events from the count
Audio tailSample envelope, Trigger/Gate mode, choke, effects, and voice overlapFlam-like smear, cutoff, ringing, or maskingAudio 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 evidenceCodeDefensible conclusionNext controlled check
B0 and B1 disagree on a scored fixed-rate window or post-release onset observationU · unstableThe before/after setup or gesture did not repeatStop; 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 releaseB · baselineThe sustained fixed-rate gesture did not meet this baselineResolve or document the fixed-rate behavior; do not score C yet
Both baselines pass, but C first differs from T in beat 1I · entryThe hold/start gesture differs before any mid-hold rate change occursRepeat 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 TD · dropA boundary-associated onset deficit occurred in this complete gestureRecord 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 TX · extraA boundary-associated onset surplus occurred in this complete gestureRecord 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 TP · phaseThe observed stream does not match the declared beat-phase targetPreserve 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 4E · edgeThe declared right-boundary target was not met or the window rule was applied incorrectlyRepeat only the final boundary with a fixed capture margin
All onset checks pass, but notes cut off or overlapG · gateOnset scheduling passed; note duration did not meet the musical targetCompare note ends on a duplicate without changing rate
Onset and gate checks pass, but one hit is much quieter or louderV · velocityOnset scheduling passed; dynamics differInspect velocity or pressure behavior separately
MIDI onset, gate, and velocity checks pass, but playback still smears, rings, or cuts offA · audioThe remaining symptom is downstream of MIDI onset generationFreeze 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.

  1. Ableton — Ableton Note Manual (accessed August 15, 2026)
  2. Ableton — Ableton Push 3 Manual: Recording with Repeat (accessed August 15, 2026)
  3. M-Audio — Oxygen Pro Series: Note Repeat Time Divisions (accessed August 15, 2026)
  4. Apple — Use Note Repeat in Logic Pro for Mac (accessed August 15, 2026)
  5. Berklee College of Music — Got Rhythm? (accessed August 15, 2026)