alignment
Принудительное выравнивание — точное сопоставление слов транскрипции с временными позициями в аудио.
Что такое alignment в ASR
Alignment (выравнивание) — процесс точного сопоставления каждого слова или фонемы в известном тексте транскрипции с временной позицией в аудио. В отличие от обычного ASR, который сам определяет текст, при alignment текст уже известен, задача — найти точные временные метки.
Forced alignment vs. Whisper timestamps
Whisper выдаёт word timestamps в процессе транскрипции, но они могут иметь погрешность ±100–300 мс. Forced alignment даёт более точные метки ±30–50 мс.
Инструменты для alignment
stable-ts: библиотека, улучшающая word timestamps Whisper через дополнительный alignment:
pip install stable-ts
import stable_whisper
model = stable_whisper.load_model("large-v3")
result = model.transcribe("audio.mp3", language="ru")
# Улучшенные word timestamps
result.to_srt_vtt("subtitles.srt", word_level=True)
ctc-forced-aligner: использует CTC-decoder для точного выравнивания. Поддерживает многие языки:
# Принудительное выравнивание готовой транскрипции
from ctc_forced_aligner import generate_emissions, get_alignments
# alignment строится на базе CTC-forward pass
Montreal Forced Aligner (MFA): классический tool для фонемного alignment, используется в фонетических исследованиях и создании TTS датасетов.
Где нужен alignment
- Создание датасетов для обучения TTS: нужны точные фонемные метки
- Синхронизация профессиональных субтитров
- Фонетические исследования
- Коррекция word timestamps в recording с точными временными требованиями
Связанные термины
- word timestamps — приближённые метки, уточняемые alignment
- транскрипция — входной текст для forced alignment
- Whisper — часто используется совместно с alignment
- TTS — использует alignment при создании датасетов
Готовы запустить GPU-задачу?
Запустить GPU-сервер