← Back home
Accuracy & methodology

How BeatTiming verifies every calculation.

Formulas are published beside their calculators, assumptions are stated, and each release must pass repeatable automated checks before it is published.

Version 20 verification9,717,735deterministic assertions
Test coverage1,667,709calculation scenarios

Last verified September 2, 2026. The fixed test seed is 0x18acc0de, so the randomized matrix can be reproduced exactly.

What those numbers mean

The audit count is not a claim of millions of independent human reviews. It is the number of automated conditions checked across a fixed, reproducible set of scenarios. The suite compares results with mathematical invariants, reciprocal calculations, independently constructed integer references and known boundary values. A failed condition stops the release.

Calculator formulas and verification

BeatTiming calculator formulas and automated verification methods
Calculator groupCore relationshipHow it is checked
Tap tempoBPM = 60,000 ÷ estimated tap interval in millisecondsExact-tempo sweeps from 15–500 BPM, jitter trials at both endpoints, outlier handling and reset boundaries.
Note, delay, reverb and LFO timingnote ms = 60,000 ÷ BPM × division; Hz = 1,000 ÷ duration msReciprocal timing and frequency invariants across straight, dotted, triplet and extended note values.
Bars and loop BPMquarter-note equivalents = bars × numerator × 4 ÷ denominatorIndependent checks across 2/4 through 12/8, including compound meters, half-time, double-time and target-duration results.
Pitch, varispeed and beatmatchingspeed ratio = 2^(semitones ÷ 12); deck change = target ÷ source − 1Forward/reverse round trips, microscopic nonzero changes, deck-range boundaries and pitch-change direction.
Sample frames and PCM sizeframes = duration × sample rate; bytes = frames × channels × stored bytesInteger results are checked against decimal-rational BigInt references, including exact half-frame rounding and maximum inputs.
DJ set planningset time = tracks × play time − (tracks − 1) × overlapThe selected whole-track count must cover the set while one fewer track must fall short; spare tracks always round upward.
Harmonic mixingsame, relative and adjacent-circle relationships across 24 major/minor keysEvery key pair is checked in both directions, and each conservative shortlist must contain exactly four defined choices.

Documented formulas for every calculator

Precision and rounding policy

BeatTiming does not describe every floating-point result as mathematically exact. Continuous tempo, pitch and frequency calculations use JavaScript’s IEEE 754 double-precision arithmetic. Tests allow only very small relative tolerances near machine precision. The display adds decimal places when ordinary rounding would hide a real nonzero change or make an out-of-range value appear to be inside a boundary.

Whole sample-frame counts, PCM payload sizes, clock milliseconds and selected count-based results receive stricter treatment. Decimal inputs are converted to integer fractions with BigInt arithmetic where exact rounding matters. Half-frame ties round upward, and unsafe integer results are rejected rather than silently approximated.

Four layers of release testing

  1. Known answers.Musically familiar examples such as 120 BPM, octave shifts and common sample rates must produce the expected values.
  2. Boundaries.Minimums, maximums, invalid inputs, half-frame ties, deck limits, signed zero and adjacent floating-point values are tested directly.
  3. Stress invariants.A fixed-seed matrix covers note, bar, pitch, beatmatch, sample, loop, set-planning, tap-tempo and harmonic relationships.
  4. Published output.Rendered pages are checked for their default answers, formulas, metadata, canonical URLs, links, schema and non-indexable 404 behavior.

Important limitations

Corrections and release policy

Calculator equations are changed only with matching tests and updated assumptions. Content-only releases still run the complete calculation suite. If an error is found, BeatTiming will correct the formula or description, add a regression test and update this verification record before publication.

Open the calculator directory