Glossary
Alphabetical reference of TimeToAlign! model terminology
This page collects all terms introduced in the Conceptual Model. Hover over any -highlighted term elsewhere on this site to see its definition.
For the full context in which each term is introduced, follow the cross-references to the relevant section of the conceptual model.
A
- AlignmentAnchor
- A coordinate pair associating one coordinate on timeline A with one on timeline B; a neutral record with no claim semantics—provenance is carried by the enclosing . Only synchronous MatchClaims produce AlignmentAnchors. From a of s, one derives a StartAnchor and an EndAnchor. See Alignment.
- AlignmentBundle
- A collection of s with inter-group connections; provides coordinate transfer via offset arithmetic, interpolation, and s. See Alignment.
- AlignmentMatrix
- An audio-to-audio alignment in which several recordings of one work are each warped onto a single shared, equidistant reference grid. Per recording, a parallel onset-time array gives that recording’s clock-time at each grid column; because every array indexes the same grid they are equal length, so together they form a dense matrix of shape (recordings × grid columns). A single such file encodes an entire directly — every pair of recordings is related at every grid column — rather than only one score-to-performance correspondence. The complete pairwise claim set is held in a . See Alignment.
B
- Break
- A that voids at its . TimeIntervals cannot span a Break, and Breaks cannot be inserted into existing TimeIntervals. See Flow control.
C
- ChainMap
- A that applies multiple s in sequence, creating a conversion path from a source unit to a target unit. See Conversion maps.
- Child
- A nested within a parent, sharing its measuring unit but defining its own origin. Children are locked upon insertion to prevent side effects from modifications. See Nested timelines.
- ClaimType
- The semantic kind of a , derived from its structure rather than stored — read from whether the claim is explicit, whether it is synchronous, and how many of its two sides name an event. Six members: event_match (synchronous, both sides name an event; the case that yields s), projection (synchronous, exactly one side names an event, the other a bare coordinate), anchor (synchronous, neither side names an event — two anonymous coordinates), nomatch (non-synchronous, exactly one side names an event whose counterpart is absent; see ), conceptual (non-synchronous, neither or both sides name an event — a structural correspondence with no temporal commitment), and implicit (inferred by graph extension; overrides all the above). See Alignment.
- CombinationMap
- A yielding outputs from multiple s simultaneously (e.g., (x, y) coordinate pairs). See Conversion maps.
- Commensurability
- Two timelines are commensurable if connected by a chain of s, membership in the same , or cross-group s, enabling coordinate translation between them. See Alignment.
- Commensurable
- See .
- ConcatenationMap
- A combining bounded s such that each coordinate region is handled by a specific map. See Conversion maps.
- Contiguity
- A is contiguous if it monotonically spans all coordinates between its start and end. An is contiguous with a TimeInterval if it is synchronous with its . See Flow control.
- ControlEvent
- An event affecting flow control: either a (voiding contiguity) or a (creating new contiguity). See Flow control.
- ConversionMap
- A typed function attached to a that maps each coordinate to exactly one value (coordinate, label, or filename); also permits inverse conversion back to the timeline’s own unit. Also called C-map. See Conversion maps.
- Coordinate
- A position on a , expressed as the distance from the origin in the timeline’s measuring unit. Combines a numeric value with a TimeUnit. See Foundations.
D
- DictStore
-
A generic
EventStoresubclass holding adict[str, EventData]with arbitrary keys. Used internally by AlignmentLoaders to store oneEventDatatable per timeline-to-be (e.g.,"score:clt1","perf:Chopin_op10_no3_p01:cpt1"). Maintains the uniformEventStoreinterface. See the API reference. - Discrete
- A timeline is discrete when coordinates exist only at discrete points (e.g., pixels, samples, ticks). Contrast with Continuous timelines where coordinates can take any real value (e.g., seconds, quarters). See Foundations.
- Domain
- One of three temporal categories: Graphical (visual/spatial), Logical (symbolic/musical), or Physical (audio/sound). Each domain has both discrete and continuous timeline variants. See Foundations.
E
- EndInstant
- An marking the end of a . Its coordinate must be greater than or equal to the corresponding ’s coordinate. See Foundations.
- Event
- Anything associated with a via s. An has zero duration; a has duration defined by start and end coordinates. See Foundations.
F
- FlowMap
-
A path through a score’s control structure (repeats, jumps), expressed as an ordered sequence of s; not itself a . Used for unfolding a score into performance order. A FlowMap is built from one uniform argument — a single interval-like value (a , a coordinate pair, a , or an interval event) or an iterable of them, which concatenate in performance order — or from a score’s computed flow of s and s.
Timeline.create_flow_map(intervals)resolves region names against the timeline’s own s, attaches the FlowMap, and returns it. See Derivative timelines.
G
- GroupTimestamp
-
A cross-section through a at a given coordinate. Contains one coordinate per timeline in the group plus (optionally) C-map conversion values. A is the union of GroupTimestamps from each participating group. Produced by
TimelineGroup.get_timestamp_at(). Exported from the package root astimetoalign.GroupTimestamp. See Alignment.
I
- Instant
- Associates a (a “time-point”) with a signification such as “start of event e”. Instants sharing a coordinate are synchronous. See Foundations.
- InstantEvent
- An defined by a single , having zero duration. See Foundations.
- InverseMap
- The reverse transformation of a bijective . See Conversion maps.
J
- Jump
- A with JumpFrom and JumpTo s. When active, makes events at JumpTo contiguous with those ending at JumpFrom (e.g., repeats, dal segno). See Flow control.
L
- Length
- The distance between a ’s origin and its last . See Foundations.
- Locked
- A timeline state that fixes its coordinate axis: no s may be added after the last time-point, so its length cannot change. Locking governs the coordinate axis only — non-structural annotations such as s may still be added to a locked timeline. timelines are automatically locked when embedded in a parent. See Nested timelines.
M
- Match
- See .
- MatchfileLoader
-
Loader for Vienna Match (
.match) alignment files. Uses the standard two-phaseload()→create_*()pattern. A single instance processes all.matchfiles that share the same score, building a shared score timeline on the first file and verifying subsequent files against it. Returns an directly viacreate_bundle(). Score goes into its own group; performances are standalone timelines; s connect score to performances. See the API reference. - MatchClaim
-
A claim of equivalence between events on different timelines, with provenance metadata (the authoring agent and a certainty). May be synchronous (producing s) or conceptual (structural equivalence without temporal commitment). Always knows which pair of timelines it connects. Four cases: (a) event-to-event,
- projection, (c) , (d) implicit (from group extension). Held individually, or columnar at scale in a . See Alignment.
- MatchClaimField
-
A columnar, PyArrow-backed store holding a whole set of synchronous-instant pairwise s as Arrow columns (the two timeline ids dictionary-encoded, the two coordinates as
float64) rather than as one frozen MatchClaim object per claim. Individual MatchClaims are materialised on demand when a row is indexed or iterated. Built vectorized viafrom_columns(), it is the scalable backing for dense alignments, where the complete pairwise topology of a whole work runs to roughly a million claims. Shared provenance is held once at field level, never per row. See Alignment. - MatchGraph
- An auxiliary structure formed by extending s through shared coordinates; may be viewed as a hyperedge connecting multiple coordinates from different timelines. Connected components yield s. Each Match box M1–M15 in the Hendrix figure is a MatchGraph. See Alignment.
- MatchLine
- An ordered sequence of s derived from s, sorted by coordinate on a source timeline; input for generation. See Alignment.
- MatchPath
- A path traversal connecting matched events across multiple timelines (e.g., A -> B -> C), enabling indirect alignment. See Alignment.
- MatchStamp
-
The union of s from groups synchronously connected by a . Contains one coordinate per participating timeline and, with
conversion_maps=True, C-map conversion values. Unlike , where C-Maps are visible by default,conversion_mapson a MatchStamp getter (bundle.get_matchstamp_at(),get_matchstamps(),get_matchstamp_table(),MatchClaim.get_matchstamp()) is opt-in and defaults toFalse. This is a per-context default value for a shared parameter, not a structural difference: MatchStamp implements the sameStampinterface as every other stamp type —get()returns a raw coordinate,get_coordinate()returns a unit-bearing ,present_timelineslists available timelines, andis_interpolatedidentifies interpolation fallback. A stamp from any source keeps the identical structure, methods, and behaviour theStampcontract guarantees; only the caller-visible default for one keyword argument varies by producing context. See Alignment. - MetricMap
-
A table-based from a quarter position to its measure count, built from explicit measure-boundary anchors rather than a uniform measure length. Correctly handles anacrusis (an incomplete first measure), irregular measures, varying time signatures, and repeat structure. Built directly from a Verovio timemap via
MetricMap.from_verovio_timemap(). Not invertible — many quarters map to the same measure. See Conversion maps. - MetricalPositionMap
-
A pairing a with a beat-in-measure map to return a metrical position
{mc, beat}from a quarter coordinate. Adds a reverse lookupquarters_at(mc, beat)(metrical position to quarters) andmn_at(quarters)(quarters to measure-number label). See Conversion maps. - MpmLoader
-
Loader for an MPM-Toolbox project: a sibling
.msmscore,.mpmmodelled performance, and.mprproject file (carrying an observed audio-to-score alignment) for one work. Uses the standard two-phaseload()→create_*()pattern. Builds a shared logical"score"group holding the notes in two units — a ticks (also carrying every MPM markup event:Tempo,Dynamics,Articulation, …) and a quarters — with aTicksToQuartersmap and a modelled quarters→secondsTableMapintegrated from the performance’s tempo markup; and a physical"perf"group of observed onsets in seconds and samples. Emits one synchronous cross-group per score note (the MSMxml:id↔︎ MPRrefjoin is a bijection). Reads the modelled performance and the observed alignment; never runs an aligner. Returns an viacreate_bundle(). - MultiMap
- An umbrella term for composed s: (sequential), (parallel outputs), and (regional). See Conversion maps.
N
- NOMATCH
-
A sentinel value in a explicitly encoding the absence of a corresponding event on the other timeline. The MatchClaim records both timeline IDs but has no s;
is_synchronousis alwaysFalse. See Alignment.
O
- Origin
- The zero coordinate of a , from which all positions are measured. See Foundations.
P
- Parent
- A that contains one or more timelines. The parent and all its children must share the same measuring unit. See Nested timelines.
- PerformancePrecisionLoader
-
Loader for audio-to-score alignment specimens: a directory bundling a
.soloscore, a Verovio timemap, and per-performer alignment files at the note, bar, and beat granularities. Uses the standard two-phaseload()→create_*()pattern. Resolves every"<measure>+<offset>"label to absolute quarters via a , builds one logical score (quarters) and one physical performance per recording (seconds), and emits a per alignment row — synchronous for located onsets, for the dangling ones. Returns an viacreate_bundle(). See the API reference. - ParangonadaLoader
-
Loader for a parangonar parangonada export: per-performance CSV triples (score notes, performed notes, note-level correspondences) for one work. Uses the standard two-phase
load()→create_*()pattern. Parses the shared score once into two logical s (quarters and division-grid ticks, linked by a divs→quartersLinearMap), builds one performance group per recording with two physical s (seconds and samples, linked by aSamplesToSecondsmap), and emits one cross-group per correspondence — synchronous for a matched note, for a score-only or performance-only note. Reads the existing alignment; never runs an aligner. Returns an viacreate_bundle().
R
- raw_quarters
-
The conventional name for the (specifically a
ShiftMap) attached to a score timeline. The timeline stores normalised (non-negative) coordinates — shifted so the minimum onset is0.0— and this map converts them back to the raw quarter values of the source. Its offset equalsmin(raw_onsets). Added by andPartituraLoaderso downstream code can detect and apply the same shift when comparing coordinates across loaders. - Region
- A named part of a defined by a (e.g., “Chorus”, “Verse”). Regions are not timelines and cannot hold events or maps directly. See Regions.
- Root
- The top-level in a hierarchy of nested timelines. Only the root timeline can be extended; all descendants are locked. See Nested timelines.
- RotationMap
- A periodic that wraps coordinates cyclically (e.g., an ostinato part that repeats while the main timeline advances). See Conversion maps.
S
- Segment
- A timeline that is contiguous with its siblings. Segments enable concatenation of local coordinate systems. See Nested timelines.
- SegmentLine
- A parent containing only contiguous s. Enables cumulative coordinate conversion across all segments. See Nested timelines.
- StartInstant
- An marking the start of a . See Foundations.
- SupportPolicy
-
How a cross-timeline treats a timeline whose transferred coordinate falls outside alignment support — the entering coordinate lies beyond the transferring ’s anchor hull, or the produced coordinate would fall outside the target timeline’s
[0, length]span.omit(the default) drops that timeline;clampreports the nearest in-support boundary coordinate;extrapolatekeeps the linear extrapolation clipped to[0, length]. No policy ever yields a negative coordinate, and the queried timeline’s own coordinate is never altered. Set per call onAlignmentBundle.get_matchstamp_at(..., support_policy=...)or persistently viaAlignmentBundle.support_policy. See Alignment. - Synchrony
- Strict synchrony: s sharing identical coordinates. Pragmatic synchrony: Instants binned together based on a threshold (e.g., for quantisation). See Foundations.
T
- TimeInterval
- Defined by a and ; left-inclusive and right-exclusive [s, e). The EndInstant’s coordinate must be >= the StartInstant’s. See Foundations.
- TimeIntervalEvent
- An with duration, defined by a . Contrast with . See Foundations.
- TimeIntervalStamp
- Combination of a start and an end TimeStamp, representing a cross-section of an interval through the timeline hierarchy. See Nested timelines.
- Timeline
- A positive coordinate axis defined by an origin and a measuring unit; continuous (real) or discrete (integer). Accommodates events and potentially timelines. See Foundations.
- TimelineGroup
- A container for timelines claimed to be commensurable; placing timelines in a group asserts regardless of underlying units. Coordinates transfer via interpolation. See Alignment.
- TimeStamp
-
A cross-section through a timeline or group at a given coordinate, capturing positions in all connected systems plus values converted by all attached s. TimeStamp implements the shared
Stampinterface used by and , including rawget(), unit-bearingget_coordinate(),present_timelines, andis_interpolatedaccess. See Nested timelines.
W
- WarpMap
- An interpolation-based coordinate mapping derived from a ; enables non-linear coordinate transfer between s. See Alignment.