Open specification · Draft 0.1

Open Lyric Alignment.

OLA is an open, target-neutral way to preserve lyrics, structure, timing, note anchors, corrections, and provenance—without making ordinary MIDI players understand any of it.

Model
Target-neutral lyric alignment
MIDI
Lossless JSON in FF 7F
Fallback
Standard lyrics in FF 05
Payload
Strict UTF-8 · up to 4 MiB
Status
Publishable draft · version 0.1
License
CC BY 4.0 · schema and fixtures CC0

The missing layer

A lyric event tells you when. OLA preserves what it means.

Standard MIDI Lyric events are excellent compatibility data: text appears at a tick. They do not describe multiple singers, translations, exact line boundaries, cue ranges, confidence, manual constraints, or whether a syllable is anchored to a particular note.

OLA adds those semantics as a separate document. The same lyric structure can be aligned independently to a MIDI score, an audio recording, or another future target. MIDI is one binding, not the definition of the model.

One ordinary .mid file

Open Lyric Alignment track FF 7F lossless OLA JSON chunks FF 05 primary lyric projection

Ordinary MIDI software

Reads useful lyrics.

It ignores the sequencer-specific OLA payload and displays the standard FF 05 stream.

OLA-aware software

Reads the full document.

It validates the payload and bindings, then gains Unicode, lanes, ranges, anchors, provenance, and edit detection.

Core model

Structure first. Timing second.

Text remains independent of any one timeline. An alignment set places one lane against one target, so the same words can carry distinct score and recording alignments.

01

Voices

Singers, characters, ensemble roles, languages, and performers.

02

Lanes

Ordered lyric streams such as lead, duet, translation, or phonetic text.

03

Lines & cues

Exact text and structure at the author’s chosen granularity—line, phrase, word, syllable, breath, or another fragment.

04

Targets

MIDI, recordings, or future media with explicit time units and binding evidence.

05

Placements

Resolved ranges, confidence, review state, shared note links, and advisory or hard anchors.

06

Mappings

Relationships between timelines, explicit line boundaries, provenance, and namespaced extensions.

Conformance

Four claims, kept separate.

An implementation may support any subset. It should claim only the layers it actually satisfies.

  1. 01
    OLA Core 0.1

    The document satisfies the target-neutral semantic model.

  2. 02
    OLA JSON 0.1

    The model uses the strict UTF-8 JSON representation and validation rules.

  3. 03
    OLA-SMF 0.1

    The complete document is embedded in MIDI with a primary standard-lyric projection.

  4. 04
    OLA RP-017 Portable 0.1

    The projection satisfies strict portable ASCII syllable conventions.

Designed for edits

Failure stays visible and recoverable.

OLA stores separate fingerprints for note topology, the tempo map, and the generated lyric projection. A reader can tell a tempo edit from moved notes or an external lyric edit instead of treating every mismatch as generic corruption.

  • Corrupt or unsupported payloadIgnore OLA authority and use standard lyrics.
  • Changed lyric projectionPreserve both versions and require reconciliation before overwrite.
  • Changed notesMark note links stale; retain resolved ranges and rebind conservatively.
  • Changed tempoKeep tick placements; recompute real-time views and mappings.

Implement OLA-SMF

Start with the reader and writer contract.

The implementation guide turns the normative requirements into ordered read and write procedures, an exact header map, CLI commands, C# examples, and a safe fallback checklist.