Swing timing · MIDI transfer · DAW and drum machine · two-note audit
Can You Copy a Swing Setting Between a DAW and a Drum Machine? A Timing Audit
A value marked 58, 60, or +12 is not a portable groove recipe by itself. Preserve the straight source, expose the rendered note positions, and transfer one measured timing relationship before judging sound or feel.
Scope: this is a device-neutral audit for a DAW, sequencer, or drum machine that can show, commit, export, record, or otherwise expose note-start positions. The named external-product controls are comparison examples; FingerDrum’s current Swing scope is stated separately in the FAQ. The exercise uses paired sixteenth notes in 4/4, but the same measurement can be declared for another paired base. It does not prescribe one ideal swing amount, reduce an entire groove to timing, or promise that two products with matched note positions will sound identical. Product scales, grids, strength, event scope, randomization, velocity treatment, playback state, and rounding can differ. The S0/SX/E/T0/T1 copies, A–B–C coordinate, eight-pair ledger, two transfer paths, seam check, decision table, and stopping rule are an original FingerDrum synthesis of the official sources below.
Keep an untouched straight copy S0. In SX, change only the source product’s swing control, then make an inspection copy E whose actual note starts can be read. For each pair, record the musical positions of its first onset A, shifted second onset B, and next pair start C, plus the span C − A. Calculate p = (B − A) / (C − A) × 100, but treat p as relative shape, not proof of absolute timing. An exact match requires A and C on the declared grid positions, the same pair span, and the same p. Either import the committed positions with target groove processing off, or rebuild from a straight target copy. Never bake swing into notes and then add the target’s swing again without labeling that as a new effect.
The control label does not define a cross-product conversion
Official manuals already show why a bare number is incomplete. Logic documents six 1/16 Swing quantize choices—50, 54, 58, 62, 66, and 71 percent—and says every second grid point is delayed. MPC 3.9 exposes Swing from 50 to 75 alongside separate Time Division, Shift Timing, Window, Strength, and event-scope controls. Yamaha SEQTRAK instead describes the timing of even steps as −58 to +58 ticks, with one step equal to 120 ticks. Roland P-6 uses a −90 to 90 Shuffle range and calls 0 no shuffle. Ableton Groove Pool separates Base, straight Quantize, Timing, Random, Velocity, and Global Amount.
| Product example | Documented control | What must travel with your session note | Unsafe shortcut |
|---|---|---|---|
| Logic Pro | 1/16 Swing A–F maps to 50/54/58/62/66/71%; every second grid point is delayed | Quantize value, swing choice, and whether playback is still non-destructive | “Swing C” has the same meaning in another sequencer |
| MPC 3.9 | Swing 50–75 inside Timing Correct | Time Division, Strength, Window, Shift Timing, and Events scope | Copy the Swing field while ignoring which events were eligible |
| SEQTRAK | Even-step offset from −58 to +58 ticks; one step is 120 ticks | Step/base context, sign, actual offsets, and Launch Quantize context | Read a tick value as a percentage |
| P-6 | Shuffle −90 to 90; 0 means no shuffle | Pattern, affected upbeat interpretation, and actual resulting positions | Apply its suggested local range to a different product |
| Ableton Live | Base, Quantize, Timing, Random, Velocity, and Global Amount are distinct | Groove file, Base, every amount, and whether the groove was committed | Treat Timing, Random, and Velocity as one “feel” knob |
These manuals do not prove that two identically named percentages must differ. They prove a narrower point: the display alone is insufficient evidence of equivalence. Measure the actual events under declared conditions.
Build a straight probe before turning Swing on
Create a new one-bar 4/4 clip plus the first onset of the next bar. Use one short sound, one note number, one fixed velocity, one fixed note length, and the same tempo in source and target. Place sixteen notes exactly on a sixteenth-note grid. Disable groove, swing, random/humanize, velocity transformation, note chance, delay, arpeggiation, and live input. Save this untouched version as S0.
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 | 17A B A B A B A B A B A B A B A B | Cx x x x x x x x x x x x x x x x | x1----- 2----- 3----- 4----- 5----- 6----- 7----- 8----- | seamHere each A–B–C unit spans two sixteenths, so A and C are neighboring eighth-note grid points and B begins halfway between them in S0. If you test eighth-note swing instead, declare an eighth-note base and let each pair span one quarter note. Never compare a source’s sixteenth swing with a target’s eighth swing merely because both panels show the same number.
- Freeze the source: duplicate
S0toSX; record product/version, tempo, meter, grid or Base, Swing/Shuffle value, strength or amount, window/range, event scope, track/clip scope, and global amount. - Remove unrelated motion: set Random/Humanize and velocity-groove influence to zero for the timing audit. Keep one sound and a stable monitoring path.
- Make playback timing inspectable: on a duplicate, use a documented event-preserving Commit or destructive apply, MIDI export, MIDI recording, or equivalent route that still exposes MIDI note starts. Name the result
E. PreserveS0andSX; Logic documents Region Quantize as non-destructive, while Ableton documents that Commit moves MIDI notes. An audio render needs a separately declared transient-measurement method and is outside this MIDI-event audit. - Verify the control: compare
S0andE. If no intended second onset moves, stop. The effect may be off, aimed at another resolution/scope, excluded by a window, or still hidden in playback state.
Use A–B–C as a neutral coordinate, not a new vendor standard
For each pair, read the event editor’s musical position or the finest documented timing display available. Subtract within the same unit:
p = (B − A) / (C − A) × 100
A is the pair start, B is its second onset, and C is the next pair start. Straight placement gives p = 50%; p < 50% places B earlier than the midpoint, while p > 50% places it later. A second onset at two thirds of the pair gives approximately 66.7%, the mathematical 2:1 long–short triplet landmark. These are coordinates, not quality scores or claims about what any vendor’s displayed value must mean.
The normalization makes different tick resolutions comparable without pretending that their knobs share a scale. It is deliberately incomplete: translating A/B/C together or scaling the whole A–C span leaves p unchanged. Convert all three events to one musical coordinate first, then compare the absolute A and C positions and C − A as well as p. If a global phase offset is intentionally allowed, declare it before the test, subtract that one offset from every target position, and report phase transfer separately.
Declare the target’s smallest event increment and the direction used for an exact half-increment tie before transfer. Define signed error as target − desired source position in the converted target unit: positive is later, negative is earlier. Classify the result as exact only when A/B/C all match; as a nearest-representable approximation when A and C plus the span match and each B is the nearest target position with an absolute error no greater than half that increment; otherwise classify it as failed. Record every signed error, and never call an approximation exact. Example: if A = 0 ticks, C = 24 ticks, and the converted source B = 15.6 ticks, source p = 65%. A whole-tick target places B at 16, so target p = 66.7% with a +0.4-tick error—an approximation, not an exact transfer.
Measure every pair, not only the first. A groove template can vary from pair to pair. A window can exclude some events. Ableton documents that Random can offset every voice differently; that behavior must remain off during a deterministic timing transfer, then be tested later as its own version if desired.
Choose one of two transfer paths—do not stack them accidentally
| Path | Target setup | Pass condition | Common failure |
|---|---|---|---|
| Committed event transfer | Import E as T0; turn target swing, groove, quantize, random, and velocity processing off | Exact only when every A/B/C position matches; otherwise label a qualifying nearest-position result as an approximation | The target applies another timing process, or import rounds to a coarser grid |
| Control-recipe transfer | Start from a straight copy in the target; name it T1; change one documented target timing control at a time | Exact: A/C positions, every C − A span, and the p sequence match E. Approximation: A/C and spans match, and every B—including pair 8—passes the declared nearest-position/half-increment rule | The same displayed number is copied while Base, Strength, Window, scope, or Global Amount differs |
Committed event transfer asks whether explicit note positions survive the handoff. Recipe transfer asks whether the target can generate the same timing relationship from a straight grid. If E already contains shifted second notes, applying target swing to T0 begins a second processing stage. Depending on the target’s Base, quantize behavior, strength, and eligibility rules, positions may stay put, snap elsewhere, replace the prior offset, or move again. Test and label that stage separately; it cannot diagnose the one-stage import.
After A/C positions, pair spans, and p values match, create a separate musical comparison. Restore the intended samples and velocities without changing note starts. That combination reproduces the measured onset relationship; it does not reproduce sample envelopes, accents, bus processing, playback latency, or every changing detail of a groove template.
Audit all eight pairs, simultaneous hits, and the loop seam
Copy this ledger before auditioning. Use exact displayed positions or normalized values; do not fill it with estimated listening impressions.
| Pair | Source A/B/C | Source p | Target A/B/C | Target p | Resolution / signed error / note |
|---|---|---|---|---|---|
| 1 | ___ / ___ / ___ | ___ | ___ / ___ / ___ | ___ | ___ |
| 2 | ___ / ___ / ___ | ___ | ___ / ___ / ___ | ___ | ___ |
| 3 | ___ / ___ / ___ | ___ | ___ / ___ / ___ | ___ | ___ |
| 4 | ___ / ___ / ___ | ___ | ___ / ___ / ___ | ___ | ___ |
| 5 | ___ / ___ / ___ | ___ | ___ / ___ / ___ | ___ | ___ |
| 6 | ___ / ___ / ___ | ___ | ___ / ___ / ___ | ___ | ___ |
| 7 | ___ / ___ / ___ | ___ | ___ / ___ / ___ | ___ | ___ |
| 8 + seam | ___ / ___ / bar 2 A | ___ | ___ / ___ / bar 2 A | ___ | ___ |
Then add one kick exactly on an A and one snare exactly with a B, on a duplicate only. Repeat the transfer. The kick tests whether an intended anchor stays fixed; the snare tests whether simultaneous voices remain simultaneous. If target randomization separates two events that shared one onset, you have changed inter-voice alignment as well as timing. Finally, loop at least four passes and inspect pair 8 into bar 2: record C as the unwrapped bar-2 A (step 17), even if a loop display wraps it to zero. An export boundary, clip crop, or target loop setting must not erase the final B or move that C.
Let the first repeatable mismatch choose the next move
| Evidence | Supported interpretation | Next move |
|---|---|---|
S0 and E have the same B positions | The inspection copy does not make the intended source timing effect visible | Check enable state, Base/Time Division, scope, Window/Range, Strength/Amount, and the documented commit/export route |
T0 differs from E while target processing is off | The explicit-event handoff, resolution, or import interpretation changed | Compare the file/event list before adjusting any target Swing control |
| Only some B events move | Eligibility varies by range, window, selected events, groove pattern, or clip boundary | Audit one scope control at a time; do not average the passing and failing pairs |
| A anchors move as well as B events | Straight quantize, global shift, another groove component, or the wrong Base may be active | Restore the frozen source and isolate the first control that moves an A |
| Source and target show the same panel number but different p values | The displayed values are not sufficient as a cross-product recipe under these settings | Match A/C positions, pair spans, and p, then save the complete target state |
| p changes on repeated playback | A random, humanized, or otherwise time-varying component remains active | Set it to zero for the static audit; evaluate variation later in a separate labeled pass |
| p values match, but A/C positions or pair spans differ | The relative shape matches; absolute timing does not | Restore the declared A/C grid positions and pair span before evaluating B |
| All A/C positions, pair spans, and p values match, but the groove still sounds different | This measured onset relation transferred; another audible variable differs | Compare velocity, sound/envelope, effects, latency, and arrangement separately |
| Pair 8 fails while pairs 1–7 pass | The loop/export boundary is involved | Include bar 2 A in the export and inspect end boundary, crop, and loop length |
| A reopened target copy no longer matches | The recipe, processing state, or committed notes were not preserved | Save a new named state and rerun the ledger before using it in a song |
Swing-setting transfer questions
Is 66.7% the “correct” Swing amount?
No. In this audit it is only the location of B at two thirds of an A–C unit—the 2:1 long–short triplet landmark. Music can use straighter, earlier, later, changing, voice-specific, or performance-derived timing. The source material and musical goal decide; the formula only documents one relationship.
Can I copy 60% from one device to another?
You can try it as a starting hypothesis, but the shared display value does not prove shared output. Keep the same musical subdivision and eligible event set; record and freeze each product’s local Strength/Amount, Window/Range, and scope independently without assuming equal display values. Then inspect every A/C position, pair span, p value, and the unwrapped seam.
Should I import swung notes or recreate Swing on the target?
Choose based on what must remain editable. Importing committed events preserves explicit positions if the handoff passes. Rebuilding from a straight copy keeps a target-native recipe. Keep those paths separate, and never interpret a double-processed clip as a failed one-stage transfer.
Why not judge only by ear?
Listening is the final musical gate, but it cannot identify whether a difference came from note position, velocity, sample envelope, effect, or latency. The ledger first isolates the timing component; the later listening pass judges the complete result.
Does matching one hat pattern reproduce a whole groove?
No. It verifies the tested pair positions under frozen conditions. A full groove may move different voices differently and may include velocity, note length, random variation, or multi-bar structure. Add those one at a time after the timing baseline passes.
Which of these timing controls does FingerDrum provide?
FingerDrum has its own project-level Swing amount from 0–75% with a 1/16 or 1/8 grid. It shifts eligible sequenced drum and melody events. Changing Swing does not move recorded layers by itself; post-record quantize can align a recorded layer to the current swing grid. This does not claim that FingerDrum implements Ableton’s Groove Pool or MPC’s Timing Correct controls.
S0 remains untouched; SX records the complete source state; E makes the source’s resulting note positions inspectable; exactly one transfer path is active; all eight absolute A/B/C positions, every C − A span, and the unwrapped bar-2 anchor are logged; target resolution and every signed error are explicit; anchors and simultaneous hits behave as intended; four loop passes keep the seam intact; unrelated random and velocity processing remain off; and a reopened target copy reproduces the ledger. Report exact, nearest-representable approximation, or failed by the declared rule—never collapse a nonzero rounding error into “exact.” The conclusion must follow the state: exact means the recorded timing relation was reproduced exactly; approximation means only the logged nearest-representable result was reproduced; failed means it was not reproduced. Add sound, dynamics, or time variation only as separately named tests.
Sources and access date
Apple documents its Swing A–F mapping, every-second-grid-point behavior, and non-destructive Region Quantize; Akai separates MPC Swing from Time Division, Shift Timing, Window, Strength, and event scope; Yamaha documents SEQTRAK’s even-step tick range and step resolution; Roland documents the P-6 Shuffle range and zero state; Ableton separates Base, Quantize, Timing, Random, Velocity, and Global Amount and explains MIDI Commit. None of these sources defines the S0/SX/E/T0/T1 copies, A–B–C normalization, eight-pair ledger, two-path gate, simultaneous-hit probe, seam check, decision table, or stopping rule.
- Apple Logic Pro User Guide — Quantize Parameter Values (accessed October 24, 2026)
- Akai Professional — MPC Standalone OS v3.9 User Guide (accessed October 24, 2026)
- Yamaha — SEQTRAK User Guide, OS v2.00 (accessed October 24, 2026)
- Roland P-6 — Shifting the Timing of the Upbeat (Shuffle) (accessed October 24, 2026)
- Ableton Live 12 Reference Manual — Using Grooves (accessed October 24, 2026)