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 | CoordinateField, ComputedField, and custom loader configuration |
| 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 the Vienna 4x22 Corpus | MatchfileLoader, 22 performances, AlignmentBundle |
| How to Encode Song Genesis (Hendrix) | MatchClaim, NOMATCH, synchronous vs conceptual, TiliaJsonLoader |
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.
In-depth Topics
- How to Encode Song Genesis (Hendrix) — MatchClaim (synchronous vs conceptual), NOMATCH sentinels, TiliaJsonLoader.