title: FALCON Forced Aligner
emoji: 🦅
colorFrom: indigo
colorTo: blue
sdk: gradio
sdk_version: 4.44.1
python_version: '3.8'
app_file: app.py
pinned: true
license: mit
short_description: Neural forced alignment via Soft Dynamic Programming
thumbnail: >-
https://huggingface.co/spaces/MLSpeech/FALCON/resolve/main/assets/app_screen.jpeg
FALCON — Forced Alignment through Contrastive Optimization Networks
Interactive demo of FALCON, a fully differentiable neural forced aligner that predicts precise phoneme- and word-level boundary timestamps from a waveform + transcript, using a Soft Dynamic Programming decoder.
Upload audio + a transcript (.phn / .wrd / .txt), choose the options, and get a boundary
table, a downloadable Praat .TextGrid, and a time-aligned visualization (waveform ·
spectrogram · phoneme posteriors · Soft-DP path · contrastive score).
- Paper: Fully Differentiable Neural Forced Alignment via Soft Dynamic Programming — arXiv:2606.25460
- Code: https://github.com/MLSpeech/FALCON
- Weights: https://huggingface.co/MLSpeech/FALCON-weights
Example inputs are in assets/ — the TIMIT sentence "Don't ask me to carry an oily rag like that."
in every supported format. The checkpoints are downloaded automatically from the weights repo on
first use (this runs on a free CPU Space, so the first alignment takes a moment to fetch a model).
Example alignments
The app's own output (waveform · spectrogram · phoneme posteriors · Soft-DP path ·
contrastive score) on real test utterances. Bundled inputs are in assets/examples/.
English — TIMIT (read speech, phoneme-level)
Dutch — IFA (zero-shot cross-lingual, phoneme-level)
German — PHONDAT (zero-shot; figure only — PHONDAT is licensed by BAS, not redistributed)
Hebrew (zero-shot, word-level, romanized transcript, no G2P model)
Example audio is for demonstration only and remains subject to each corpus's original
license — see assets/examples/NOTICE.



