sampler polyphony · voice stealing · tail-cutoff diagnosis
Why Do Drum Sample Tails Cut Off in Busy Beats? A Voice-Stealing Test
A crash, 808, room layer, or long percussion sample plays fully alone but loses its decay inside a dense beat. Preserve one MIDI source and one dry sampler, then derive sparse, same-pad, cross-pad, and real-passage windows under declared controls. The first window that fails tells you more than raising every voice limit.
Scope: this is a device-neutral diagnostic for a sampler or drum instrument whose MIDI events can be inspected. Product terms and allocation rules differ; documented behavior in one sampler does not prove another uses the same victim-selection rule. This page does not claim that FingerDrum exposes external sampler controls, measures plug-in voices, or repairs third-party instruments. The four-window test, voice-budget ledger, classification gates, and A0/B/A1 proof are the FingerDrum Editorial Team's original synthesis from the cited sources.
If every intended positive-velocity Note On is present, the onset was not necessarily lost: the receiver may have started the new hit while ending an older voice. A tail that always stops when a particular pad arrives suggests an exclusive or choke relationship; one that stops on every same-note retrigger suggests a mono, retrigger, or per-pad rule; an endpoint that follows Note Off or note length suggests gate or envelope behavior. Voice stealing becomes the stronger explanation only when overlap consumes the documented voice budget and a controlled voice-limit change moves the failure. Clicks, gaps, or warnings that track CPU or disk load belong to a separate load branch.
A tail in a rest is not a new MIDI hit
MIDI and sampler audio are different evidence layers. The MIDI Association describes Note On and Note Off as separate events. A Note On can start a crash whose audio continues for several beats; the continuing decay does not create another Note On in each empty step. Conversely, a complete set of expected MIDI starts does not guarantee that every sample voice will remain active until its file ends.
Mark the intended starts before listening for tails. Count positive-velocity Note On events in the unedited clip and record note number, channel, position, velocity, and length. Do not count a release event as a new hit. Expected and captured start counts must agree before a missing decay can be called a playback problem.
| Evidence | What it can establish | What it cannot establish alone |
|---|---|---|
| MIDI Note On list | Whether each intended onset reached the recorded clip | How many sample layers started or how long they sounded |
| Dry sampler render | Which attacks and tails reached the sampler output | Which internal allocation rule made a voice stop |
| Voice/polyphony display | A product-specific reading of active samples or voices | A universal count that can be compared across instruments |
| CPU or disk meter | Whether a documented overload indicator coincides with the fault | That every clean cutoff is caused by system load |
One MIDI note does not always consume one sample voice
Polyphony is a limit on simultaneous playback, but the unit displayed by a product matters. Ableton documents a Voices control in Simpler and says that, when more voices are required than allocated, older voices are dropped for newer ones. Native Instruments documents a similar maximum for a Maschine Sampler Sound. Those are concrete product behaviors, not a promise about another sampler's choice of victim.
A single MIDI onset may also launch more than one underlying sample. Groove Agent notes that its pad polyphony counts notes while layered samples can produce a much higher number of actual sample voices. Logic's Sampler guide gives the same practical warning from another direction: the voices used by one played note increase with the number of layered sample zones. Therefore, a clip with eight visible notes is not automatically an eight-voice workload. Velocity layers that select one zone, layers that play together, round robins, stereo handling, releases, and product-specific architecture must be read from the instrument's own manual and meters.
More polyphony is not automatically better. It can preserve overlap while increasing processing or streaming demand and creating a denser result. Steinberg's toolbar documentation connects more playing voices with higher processor load and provides CPU, disk, memory, and active-sample displays. Target the lowest documented setting that passes the intended passage—not the largest menu value.
Freeze the clip, kit, and dry path before testing
- Duplicate the project or preset: preserve the working version. Record the sampler, kit, patch, and exposed per-pad and global voice settings.
- Keep one MIDI source: preserve an unedited A0 clip, then derive four test windows from it. Mute or remove only the declared competing events needed for each window; for every retained event, keep its position, velocity, channel, and length unchanged. Disable probability, random note generation, Note Repeat, live input, and duplicate routes that could alter onset count.
- Make the output dry: bypass nonessential insert, send, bus, and master processing. Keep the sample, playback mode, pitch, envelope, retrigger, and streaming settings unchanged. Reverb can outlive a stopped source voice; a limiter can reshape overlap.
- Write the intended behavior: identify where the target tail should remain audible. Full-file playback is not universal: a closed hat or new 808 may intentionally replace an earlier tail.
- Capture A0: render or record the dry sampler output, save the unedited MIDI event list, and note any voice, CPU, disk, or overload displays. Use the same start point and let playback continue past the final event so the last intended tail can finish.
Run sparse → same-pad → cross-pad → busy
Each window asks one narrower question. Use material from the actual passage rather than an arbitrary stress test; the goal is to explain a musical failure, not to discover the theoretical maximum of the computer.
| Window | Keep | Question | First useful observation |
|---|---|---|---|
S · sparse | Solo one existing hit from each relevant pad in turn; let playback run beyond it so the intended decay can finish | Can each source produce its baseline tail without overlap? | A cutoff here precedes any busy-beat voice-budget claim |
R · same-pad overlap | Retain the problem pad at the shortest interval already used in the source passage; mute the other pads | Does a new instance of the same note stop its predecessor? | Every repeat cuts at the next onset, even with other pads absent |
X · cross-pad overlap | Start from the long-tail hit, then unmute one additional real pad at a time; record any layers it launches automatically | Does a specific partner or accumulated overlap end the tail? | One pair always cuts, or the failure first appears at a repeatable overlap state |
B · busy passage | The exact failing groove, fill, and bar-line continuation | Does the isolated explanation survive the real arrangement? | The same tail fails at the same event without a changed MIDI start count |
Do not shorten tails or spread MIDI notes apart to make B pass. If S fails, inspect the sample region, playback mode, Note Off response, and envelope. If R fails, inspect same-note retrigger, mono mode, or per-pad polyphony. If one cross-pad pair always fails, inspect choke membership before a global limit. Only an overlap-dependent failure that survives those gates earns the voice-budget test.
If documented or metered layers become a candidate, test them outside the four-window density sequence. Duplicate the preset, preserve the target layer and the exact same MIDI, then disable or bypass only one documented non-target layer in the copy if the instrument supports that operation. Compare original → copy → restored original as its own reversible A/B; do not silently turn a layer edit into an X-window density change.
Use a voice-budget ledger instead of guessing from the waveform
Pause on the onset immediately before the first repeatable cutoff and write one row. “Active before” may be a documented meter value, an audible list of tails, or unknown; do not invent precision when the instrument exposes none. For layered pads, record the documented or observed layers separately from the visible MIDI note count.
| Window / onset | Expected / captured starts | Active before | New pad and possible layers | Exclusive or retrigger rule | First tail stopped | Load warning |
|---|---|---|---|---|---|---|
S / ____ | ____ / ____ | ____ | ____ | ____ | ____ | none / ____ |
R / ____ | ____ / ____ | ____ | same pad: ____ | ____ | ____ | none / ____ |
X / ____ | ____ / ____ | ____ | pad/layers: ____ | ____ | ____ | none / ____ |
B / ____ | ____ / ____ | ____ | pad/layers: ____ | ____ | ____ | none / ____ |
The ledger's strongest pattern is causal order: all expected starts exist; the earlier voice is still active; a new onset increases demand; the same earlier tail stops; and the instrument's documented voice behavior or meter changes at that boundary. Hearing an old tail during a rest is not an extra event, while seeing a new MIDI event does not reveal how many sample voices it requests.
Name the first failing layer before changing a setting
| Repeatable evidence | Classification to test next | Do not call it yet |
|---|---|---|
| An intended positive-velocity Note On is absent or duplicated | EVENT: capture, trigger, routing, or generation | Voice stealing; the input evidence already differs |
| The sparse endpoint changes when note length is the only changed variable | END: Note Off, gate, envelope, or release response | A density-dependent allocation failure |
The same pad always cuts its previous tail, even in R | RETRIG: same-note retrigger, mono mode, or per-pad voice rule | A global kit shortage |
| One named pad always silences another, including at low density | EXCL: exclusive/choke group or mute relationship | Random voice theft |
| All starts exist; failure begins at repeatable overlap and follows a documented limit or voice meter | VOICE: polyphony or allocation candidate | A universal algorithm or required voice count |
| Cutoffs, clicks, gaps, or stutter vary and coincide with CPU/disk overload | LOAD: processing or sample-streaming stability | A clean musical choke or proven voice-limit rule |
| Tails remain but the combined hit distorts, pumps, or collapses | LEVEL: gain staging or dynamics | A missing sampler voice |
Some products expose pad, Sound, group, kit, and plug-in-wide limits. Test the first documented boundary implicated by the ledger. A global maximum may not override per-pad mono or exclusive-group rules. If allocation and load interact, retain both meter records rather than forcing one label.
Use A0 → B → A1 for one documented parameter
Choose a change only after classification. For a VOICE candidate, raise the relevant documented voice or polyphony setting by one available step. For EXCL, correct only the unintended membership according to that instrument's manual. For RETRIG or END, use the dedicated documented mode; do not also edit the sample and envelope. If the instrument does not expose the suspected control, record that limit instead of substituting a similarly named setting.
- A0 — preserve the failure: render all four windows with the original setting and keep the ledger, MIDI, and meter evidence.
- B — change one value: move only the implicated control one supported step. Render the same windows from the same start point.
- A1 — reverse the test: restore the exact original value. The original cutoff should return at the same ledger boundary; otherwise the first improvement may have been load variation or another uncontrolled change.
- B2 — reapply and save: restore the candidate value, rerun once, save under a new preset or project version, reopen it, and confirm that the setting and result persist.
A higher voice setting fails if it trades the cutoff for clicks, disk starvation, overload warnings, excessive buildup, or peak collisions. Groove Agent's CPU and disk meters expose that tradeoff; other instruments provide different evidence. Never copy its controls to another product. Without a documented meter, use repeatable renders and honest not observable entries.
Regression-test fast repeats and the real groove
First play or sequence the fastest intentional same-pad repetition in the song. Every intended onset must remain clear, and the overlap must match the role: a closed hat can stay tight, a crash can retain the desired wash, and repeated 808s must hand off without an accidental hole or uncontrolled pileup. Tail completeness is not automatically better music.
Then restore the exact busy passage, including simultaneous accents, the fill before it, and the next bar. Check the unchanged MIDI start count, the target tail, CPU/disk stability, and output headroom. More surviving voices can raise the summed peak, so a voice test does not replace the separate simultaneous-hit headroom audit. Finally, reload the saved project and repeat both windows.
Stop when one documented change passes the target tail in B, preserves intentional choke and retrigger behavior, survives the fast-repeat and real-groove regressions, produces no new CPU/disk instability or level failure, and remains correct after reload. A1 must bring the original failure back and B2 must remove it again. If those reversals do not occur, report the result as unresolved rather than calling it voice stealing.
Voice-stealing questions for drum samplers
Does a complete MIDI clip prove that no drum hit was lost?
It proves only that the inspected note starts exist at that point in the route. A sampler can accept a new onset and stop an older sounding voice to stay within its allocation rule. Compare the event list, dry output, and product-specific voice evidence.
Why do I still hear sound in an empty step?
A sample or effect tail started by an earlier event can continue through later rests. That continuing audio is not a new MIDI onset. Mark attacks and tails separately before counting errors.
Should I simply set polyphony to the maximum?
No. More available voices can increase processing or streaming demand and can preserve overlaps the arrangement did not want. Find the lowest setting that passes the declared musical behavior and all load, level, repeat, and reload checks.
How can one pad use several voices?
The receiving instrument may play multiple sample layers for one note. Both Groove Agent and Logic documentation warn that layered samples or zones can make actual voice use exceed the visible note count. Inspect that specific patch rather than multiplying by a guessed constant.
How do I separate Note Off from voice stealing?
Start with sparse copies whose only difference is documented note length. If the endpoint follows the release event without overlap, remain in the gate/envelope branch. If lengths and MIDI remain fixed and the tail disappears only when new voices accumulate, allocation becomes a better candidate.
Sources and access dates
These official sources support MIDI onset/release semantics and product-specific examples of sampler polyphony, oldest-voice replacement, layered voice use, exclusive groups, and CPU/disk/voice displays. They do not prescribe a universal allocation algorithm, voice count, CPU threshold, four-window sequence, ledger, classification codes, or stopping rule; those are FingerDrum's original diagnostic synthesis.
- The MIDI Association — About MIDI, Part 3: MIDI Messages (accessed October 16, 2026)
- Ableton — Live 12 Manual: Live Instrument Reference (Simpler) (accessed October 16, 2026)
- Native Instruments — Maschine Software Manual: Working with Plug-ins (accessed October 16, 2026)
- Steinberg — Groove Agent 6: Main Tab (accessed October 16, 2026)
- Steinberg — Groove Agent 6: Groove Agent Toolbar (accessed October 16, 2026)
- Apple — Logic Pro User Guide: Sampler Unison, Mode, and Polyphony (accessed October 16, 2026)