Logo Lanfrica

MahtaFetrat/Mana-Forced-Aligner

Domaine:

natural language processing

Type de record:

software
Créateur:
Mah
Hôte:
A robust forced alignment tool for low-resource languages using multiple ASR models and CER-based matching. Built for noisy data and imperfect transcripts. # Mana Forced Aligner: Robust Forced Alignment for Low-Resource Languages **Want to create a speech dataset, but current forced alignment tools don’t work for your setup?** **Mana Forced Aligner** is a robust, language-agnostic forced alignment module designed specifically for **low-resource languages** and imperfect audio-text matches. Unlike traditional tools like Aeneas, our method **does not require a perfect match between audio and text**. It tolerates skipped words, repetitions, or inconsistencies, using **multiple ASR models** and **character-level text similarity** with predefined thresholds. ## Why Use Mana Forced Aligner? 🧠 **ASR-Agnostic and Scalable**: Use *one or more automatic speech recognition (ASR) models*, regardless of their quality. The aligner is designed to work even with imperfect ASRs. However, **the more ASR models you provide, the more robust and accurate the alignment becomes**, thanks to majority-voting and fallback mechanisms. 🧩 **Mismatch-Tolerant**: Handles skipped or added phrases, word reorderings, and slight transcription errors. 🧪 **Flexible Scoring**: Matches based on character error rate (CER), with configurable thresholds. 🔓 **Open and Extendable**: Built in Python, licensed under MIT, and ready to adapt to your language and ASR tools. 🌍 **Proven in Practice**: Successfully used to generate **102+ hours** of aligned speech-text data for the Persian ManaTTS corpus. --- ## How It Works The alignment process consists of two key components: ### 1. Transcription Module * Runs multiple ASR models on each audio chunk * Discards unreliable transcripts (e.g., truncated outputs) * Sorts by reliability and returns top transcripts Figure: Architecture of the transcription module, showing multiple ASRs and reliability filtering. ### 2. Forced Alignment * Splits audio into 2–12 second segments based on silence * Uses the transcription module to hypothesize possible texts * Finds best-matching substrings in the reference tex …