Forced alignment in one binary. The Montreal Forced Aligner recipe, on your GPU.
uv pip install viter
The wheel ships the viter command and the Python API. For the binary alone,
cargo binstall --git https://github.com/thewh1teagle/viter viter or the
releases page.
viter train corpus/ --dict dict.txt -o model.viter
viter align corpus/ model.viter -o out/
viter serve out/
corpus/ holds audio files with a same-named .txt transcript beside each one. Without a dictionary every token is a phoneme, so any language works. An existing MFA model loads with viter import.
Pretrained English models and dictionaries: models-v1.0.
import viter
model = viter.train("corpus/", dict="dict.txt")
alignment = model.align("audio.wav", "the quick brown fox")
alignment.to_textgrid("audio.TextGrid")Examples in crates/python/examples/.
docs/ — CLI flags, corpus format, the Python API, the training recipe, and how the numbers were measured.
MIT.