How-To Guides
Task-oriented recipes for common workflows
How-to guides are practical, goal-oriented recipes. Unlike tutorials (which teach concepts in a fixed order), each how-to guide solves a specific problem and can be read independently.
Prerequisites: Familiarity with the core concepts from the Tutorials is recommended but not strictly required.
How-To Notebooks
| Title | Description |
|---|---|
| How to Use Advanced Conversion Maps | ChainMap, PiecewiseMap, TableMap, vectorised operations |
| How to Query Timestamps | TimeStamp, TimeIntervalStamp, boundary tables, PyArrow |
| How to Build Beat Grids | BeatGrid, FloorMap, RotationMap, and measure/beat queries |
| How to Do Coordinate Math | Domains, TimeUnits, NumberType, Coordinate arithmetic |
| How to Work with Graphical Timelines | TimeAxisPath, image-based timelines, and pixel-to-time conversion |
| How to Load Data | Format-agnostic data ingestion with Loaders and EventStores |
| How to Construct Timelines Manually | Events via dict, parent/child hierarchies, serialisation |
| How to Load Tabular Data | Custom TsvLoader/CsvLoader, column_specs typed fields, nested-JSON Field access, group_by child timelines |
| How to Transfer Annotations Between Graphical Analyses | SegmentLine, ConstantMap, MatchClaim.from_projection, y-coordinate transfer |
| How to Align a Piano Roll (SUPRA) | End-to-end alignment: IIIF images, ATON, MIDI, Audio, and Score |
| How to Align Multimodal Data (Beethoven) | AlignmentBundle, FlowMap, OMR, 16+ timelines across 3 domains |
| How to Create a Note Alignment | MatchClaims, AlignmentBundle, MatchLines, cross-group MatchStamps |
| How to Load an IEEE 1599 Document | IEEE 1599 multi-layer XML: spine/VTU hub relating score, page pixels, and audio as one multimodal AlignmentBundle |
| How to Load an Audio-to-Audio Alignment (Listen Here!) | ListenHereLoader, dense audio-to-audio alignment matrix, columnar MatchClaimField, complete pairwise topology, get_matchstamp_at across all recordings |
| How to Load the Vienna 4x22 Corpus | MatchfileLoader, 22 performances, AlignmentBundle |
| How to Load an MPM-Toolbox Project (Score, Modelled Performance, Observed Alignment) | MpmLoader, score in ticks and quarters, MPM markup as events, modelled quarters/seconds TableMap, observed alignment MatchClaims |
| How to Load a parangonada Note Alignment Across Several Performances | ParangonadaLoader, multimodal AlignmentBundle, divs/quarters and samples/seconds C-Maps, synchronous and NOMATCH MatchClaims |
| How to Load an Audio-to-Score Alignment Corpus and Compare Performances | PerformancePrecisionLoader, MetricMap, granularity-tagged MatchClaims, tempo comparison |
| How to Encode Song Genesis (Hendrix) | MatchClaim, NOMATCH, synchronous vs conceptual, TiliaJsonLoader |
| How to Load CSV/TSV with column_specs and field_specs | DataField blueprints, the Step-1 resolution chain, CompositeFieldParser, and a from-scratch .solo loader |
No matching items
Topics at a Glance
The guides are grouped into the same four topics used throughout the documentation:
Timelines, Events & Maps
- How to Do Coordinate Math — Domains, TimeUnits, NumberType, and Coordinate arithmetic.
- How to Use Advanced Conversion Maps — ChainMap, PiecewiseMap, TableMap, and vectorised operations.
- How to Query Timestamps — TimeStamp, TimeIntervalStamp, boundary tables, and PyArrow.
- How to Construct Timelines Manually — Events via dict, parent/child hierarchies, and serialisation.
- How to Load Data — Format-agnostic data ingestion with Loaders and EventStores.
- How to Load Tabular Data — CoordinateField, ComputedField, and custom loader configuration.
- How to Work with Graphical Timelines — TimeAxisPath, image-based timelines, and pixel-to-time conversion.
- How to Transfer Annotations Between Graphical Analyses — SegmentLine, ConstantMap, MatchClaim.from_projection, y-coordinate transfer.
- How to Build Beat Grids — BeatGrid, FloorMap, RotationMap, and measure/beat queries.
TimelineGroups
- How to Align a Piano Roll (SUPRA) — End-to-end alignment: IIIF images, ATON, MIDI, Audio, and Score.
AlignmentBundles
- How to Create a Note Alignment — MatchClaims, AlignmentBundle, MatchLines, and cross-group MatchStamps.
- How to Align Multimodal Data (Beethoven) — AlignmentBundle, FlowMap, OMR, 16+ timelines across 3 domains.
- How to Load the Vienna 4x22 Corpus — MatchfileLoader, 22 performances, AlignmentBundle.
- How to Load an Audio-to-Score Alignment Corpus and Compare Performances — PerformancePrecisionLoader, MetricMap from a Verovio timemap, granularity-tagged MatchClaims, cross-performer tempo comparison.
- How to Load a parangonada Note Alignment Across Several Performances — ParangonadaLoader, one multimodal AlignmentBundle across five performances, divs/quarters and samples/seconds C-Maps, synchronous and NOMATCH MatchClaims.
- How to Load an MPM-Toolbox Project (Score, Modelled Performance, Observed Alignment) — MpmLoader, the score in ticks and quarters with MPM markup carried as events, a modelled quarters/seconds TableMap, and the observed alignment as MatchClaims.
- How to Load an Audio-to-Audio Alignment (Listen Here!) — ListenHereLoader, a dense audio-to-audio alignment matrix, the columnar MatchClaimField holding the complete pairwise topology, and a single point placed across every recording at once.
- How to Load an IEEE 1599 Document — IEEE 1599 spine/VTU hub relating score, page images, and audio as one multimodal AlignmentBundle.
In-depth Topics
- How to Encode Song Genesis (Hendrix) — MatchClaim (synchronous vs conceptual), NOMATCH sentinels, TiliaJsonLoader.
- How to Load CSV/TSV with column_specs and field_specs — DataField blueprints, the Step-1 resolution chain, CompositeFieldParser, and a from-scratch
.sololoader.