MahmoudAshraf97/ctc-forced-aligner

Text to speech alignment using CTC forced alignment

View on GitHub ↗Jump to charts ↓Open shareable report →

MahmoudAshraf97/ctc-forced-aligner has 550+ stars and 90+ forks on GitHub, is written in Python, and was last pushed on Sep 7, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 44 minutes ago
Added to GitGenius on October 13th, 2026
Created on May 5th, 2024
Open Issues & Pull Requests: 20 (+0)
GitHub issues: Enabled
Number of forks: 96
Total Stargazers: 570 (+0)
Total Subscribers: 8 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 1.3 hours
Mean response time: 2.1 days
90th percentile: 2.5 days
Tracked items: 46

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 13
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 357 days
Stale 30+ days: 13
Stale 90+ days: 12

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

CTC Forced Aligner is a forced alignment tool that synchronizes text with audio using Hugging Face's pretrained speech models.

The tool solves the problem of aligning transcribed text to audio timestamps, which is essential for creating annotated speech datasets. It uses Connectionist Temporal Classification models from Hugging Face—specifically Wav2Vec2, HuBERT, and MMS—to determine where each word or character occurs in an audio file. The approach leverages pretrained models rather than requiring model training, making alignment accessible without specialized expertise.

Developers building speech corpora, training text-to-speech systems, or creating datasets for speech research should consider this tool. It supports over 1100 languages through the MMS model family, and offers flexible alignment granularity at sentence, word, or character level. The implementation is optimized for memory efficiency, using substantially less memory than the TorchAudio forced alignment API. Users can customize alignment behavior through parameters controlling token insertion frequency and segment merging thresholds. The tool outputs results in JSON format for straightforward integration into downstream pipelines and supports GPU acceleration for faster processing. FFMPEG is required as a prerequisite dependency.

The project maintains active test coverage through continuous integration workflows. Development activity shows responsiveness to issues raised by users. The codebase is written in Python and structured for straightforward installation and command-line usage.