| --- |
| license: apache-2.0 |
| library_name: onnxruntime |
| tags: [forced-alignment, ctc, phoneme, lipsync, omote] |
| --- |
| |
| # omote-ai/ctc-aligner |
|
|
| ~2.4 MB conv-CTC forced-alignment student. Input `mfcc` `[1,T,39]` |
| (16 kHz Rust-parity MFCC: 13 cepstra + Ξ + ΞΞ) β output `logits` `[1,T,40]` |
| (39 ARPABET phones + blank). Consumed by the Omote runtime's phoneme-timing |
| tier; staggered Viterbi decoding happens in the runtime. |
|
|
| **Files:** `ctc_aligner.onnx` uses ONNX external data β **`ctc_aligner.onnx.data` |
| is required** alongside it, plus `ctc_aligner.meta.json` (phone table). |
| |
| Distilled from `facebook/wav2vec2-lv-60-espeak-cv-ft` (Apache-2.0, offline |
| teacher β never ships) via frame-level cross-entropy on a mixed |
| synthetic (Supertonic + Kokoro) + natural (LibriSpeech train-clean-100, |
| CC-BY 4.0) corpus. |
| |
| ## Evaluation (held-out, vs teacher alignments) |
| |
| | Metric | Value | |
| |---|---| |
| | Median phone-onset abs error (ms) | **7** | |
| | Mean / p90 onset error (ms) | 17 / 16 | |
| | Onsets within 20 ms | 94 % | |
| | Onsets within 50 ms | 99 % | |
| | Onsets within 100 ms | 99 % | |
| | Degenerate-span rate (>600 ms), raw | 1.8 % (177/9,650) | |
| | β of which teacher-pause artifacts | 173 | |
| | β real student errors | **4 (0.04 %)** | |
|
|
| **Evaluation-set provenance (read before comparing numbers):** the original |
| held-out set from the training run was lost (data-custody RCA, 2026-07-22, in |
| the Omote repo). These figures come from a **regenerated** held-out set, |
| synthesized 2026-07-22: 150 committed evaluation sentences |
| (`scripts/train-ctc-aligner/eval_texts_v2.txt` in the source repo) rendered |
| through both TTS engines β 300 utterances / 9,650 phone onsets, none of which |
| the student ever saw. They are therefore a genuine unseen-data measurement, |
| but they are **not numerically comparable to development-time figures**. The |
| real-degenerate rate (0.04 %) independently reproduces the rate recorded |
| during original development. |
|
|
| Full provenance: `provenance.json` in this repo. |
|
|