We describe the analysis system behind Transcription Pro, a macOS application that turns a mixed recording into an isolated, tempo-mapped, chord-labeled, form-segmented practice environment, and that measures a musician's own playing against the recording. The system is organized around three commitments: all evidence is drawn from the audio itself rather than from song databases; every downstream judgment inherits a performance-accurate temporal grid rather than a constant tempo; and uncertainty is surfaced rather than hidden. All computation runs on the user's machine. This paper states the problem each subsystem solves, the shape of its solution, and the evaluation discipline that gates releases. It intentionally omits implementation constants, feature inventories, and training details.
Musicians who learn from records face a chain of mechanical obstacles — hearing a part inside a dense mix, finding loop boundaries that match the band's actual time, and knowing afterward how their own attempt differed from the reference. Making a chart for a band stacks three difficulties into one task: transcribing the record, manually entering every symbol into notation software, and notating the rhythmic figures — the hits and lines — that a band actually reads. The entry step alone can dominate the work, and this system is built to remove most of it: the recording becomes an editable chart first, and hand-entry becomes correction rather than transcription. Each obstacle above is a solved-in-principle signal-processing problem, but existing tools solve them in isolation and against a metronomic model of time that real performances do not obey.
Transcription Pro's design premise is that the musical truth is in the recording: the system's job is to reveal structure that is present in the audio, never to substitute priors for evidence. Its companion premise is that improvement is driven by self-awareness — the system must be able to show a musician, event by event, how their playing differs from the reference they chose.
Figure 1 shows the pipeline. A recording is separated into instrument stems; the stems feed three parallel analyses — note transcription, lyric transcription, and temporal-grid estimation — whose outputs are fused by the harmony and form stages into an engraved, editable chart. The same grid and note representations power the practice loop: the user's recorded take is aligned against the reference and differenced at the event level.
Separation uses neural source-separation models executed natively on Apple Silicon, producing vocals, drums, bass, guitar, piano, and residual stems, with a second-stage decomposition of the drum stem into kick, snare, toms, hi-hat, ride, and crash. The port is parity-gated against its reference implementation: a release must reproduce the reference output above a fixed correlation threshold per stem before it ships. Separation quality is treated as a first-class dependency because every later stage listens to stems, not to the mix.
All musical judgments require knowing where beats and bars fall. Rather than a scalar tempo, the system estimates a monotone warp map B(t) from wall-clock time to beat index; musical time is its image, and instantaneous tempo is its derivative:
The map is anchored by percussive and harmonic onset evidence and is deliberately conservative: it bends where the performance demonstrably bends and stays smooth elsewhere. Global tempo is estimated to roughly 0.01 BPM resolution by refining a coarse periodicity estimate against the onset sequence; the residual drift that remains is exactly what the warp map absorbs (Figure 2). Loop boundaries, the metronome, slow-down, and every chart timestamp are expressed in beat coordinates, which is why loops land on musical bar lines even when the band breathes.
Meter is elected, not assumed. Onset energy is folded at competing bar and subdivision hypotheses (e.g., 4/4 with binary subdivision versus 12/8 with ternary subdivision), and the hypothesis that best explains the folded energy's structure wins. The distinction is musically material: a gospel shuffle notated against the wrong meter produces a chart whose every bar is a lie. The elected meter, including compound meters, propagates to the chart's time signature, the metronome's accent pattern, and the practice engine's beat targets.
Chord recognition operates on the separated stems rather than the mix, per segment of the temporal grid. Candidate readings (root, quality, bass) are scored against the evidence and then elected in context: rather than emitting each segment's best guess in isolation, the system chooses the sequence of readings that best explains the whole passage under an estimated key — including local key regions, so that modulations are followed and every symbol is spelled the way the key demands (C♭, not B, when function calls for it). The mechanisms and their weightings are the product's core intellectual property and are not described here.
Two properties matter more than the winning label. First, the ranked runners-up are kept and shown: clicking a chord in the chart reveals what else the system heard, and committing a correction is a one-click act whose result survives regeneration and export. Second, confidence is rendered, not merely computed — low-confidence readings appear ghosted, so the chart never claims more than the audio supports.
Section structure is estimated from several independent evidence streams in the audio and lyrics — among them harmonic repetition and stanza structure, with the recognition that a spoken introduction is not a verse — combined into boundary scores, segmented, and named. Sections are presented as proposals: the interface treats user confirmation as ground truth and locks it against future regeneration.
The practice loop closes the system: the user records a take against the reference; the take is transcribed with the same machinery; and the two event streams are aligned in beat coordinates. The difference is rendered event-by-event — early, late, missing, extra — plus an expressive layer (accents, ghost notes) computed relative to each stream's own dynamic context. A design rule governs the display: aggregates may summarize, but every judgment must remain traceable to an individual note the user can audition. The replay, not the score, is the product.
The system is developed against a corpus of paired recordings and reference charts — professionally published charts where obtainable, tiered by provenance so that community sources are trusted only for the claims they can support (roots, keys, form) and never gate releases alone. Chart output is scored functionally (does the elected reading serve the same harmonic function as the reference?) rather than by string equality, and every engine change runs a fixed regression suite spanning synthetic invariants, real-audio gates, and gold-chart comparisons; a change that improves one song at another's expense does not ship. The same discipline produced several of the system's design corrections, including the withdrawal of a theoretically attractive harmony change that a full-corpus evaluation falsified.
The system is honest about what it cannot yet do. Dense gospel harmonic rhythm — several chords per bar under one sung syllable — remains under-segmented relative to publisher charts; ambiguous relative-key passages can be labeled with the wrong mode even when spelling survives; and chart quality degrades gracefully but measurably on 4-stem separations, which is why chart generation now insists on the 6-stem path. These are open problems the evaluation corpus exists to measure, and the product's design ensures that when the system is unsure, the user can see it.