Форсированное выравнивание

Qwen3-ForcedAligner обеспечивает выравнивание временных меток на уровне слов для аудио. Выполняется неавторегрессивный прямой проход, чтобы выровнять каждое слово в транскрипте с его точной позицией в аудиоволне.

Как это работает

Выравнивание использует CTC (Connectionist Temporal Classification) с шагом коррекции монотонности LIS (Longest Increasing Subsequence). Это гарантирует, что временные метки всегда идут по порядку, даже если сырой вывод CTC содержит незначительные несоответствия.

СвойствоЗначение
Метод выравниванияCTC с коррекцией монотонности LIS
Разрешение временных меток80 мс
Выходных классов5000
Режим инференсаНеавторегрессивный (один прямой проход)

Использование CLI

Выровнять аудиофайл. Если транскрипт не предоставлен, аудио автоматически сначала транскрибируется через Qwen3-ASR:

.build/release/audio align recording.wav

Передайте известный транскрипт, чтобы пропустить автоматическую транскрипцию:

.build/release/audio align recording.wav --text "The quick brown fox jumps over the lazy dog"

Опции

# Указать текст транскрипта напрямую
.build/release/audio align recording.wav --text "known transcript"

# Выбрать ASR-модель для шага авто-транскрипции
.build/release/audio align recording.wav --model 1.7b

# Указать вариант модели выравнивания
.build/release/audio align recording.wav --aligner-model default

# Установить язык
.build/release/audio align recording.wav --language en

Варианты модели

Доступны несколько вариантов модели с компромиссом между размером и точностью:

ВариантModel IDРазмер
MLX 4-bit (по умолчанию)aufklarer/Qwen3-ForcedAligner-0.6B-4bit~979 МБ
MLX 8-bitaufklarer/Qwen3-ForcedAligner-0.6B-8bit~1.3 ГБ
MLX bf16aufklarer/Qwen3-ForcedAligner-0.6B-bf16~1.8 ГБ
CoreML INT4aufklarer/Qwen3-ForcedAligner-0.6B-CoreML-INT4~662 МБ
CoreML INT8aufklarer/Qwen3-ForcedAligner-0.6B-CoreML-INT8~1.1 ГБ

Выберите вариант через --aligner-model:

.build/release/audio align recording.wav --aligner-model aufklarer/Qwen3-ForcedAligner-0.6B-8bit

Формат вывода

Выравниватель выводит по одной строке на слово с временными метками начала и конца в секундах:

[0.24 - 0.48] The
[0.48 - 0.72] quick
[0.72 - 1.04] brown
[1.04 - 1.36] fox
[1.36 - 1.68] jumps
[1.68 - 1.92] over
[1.92 - 2.08] the
[2.08 - 2.40] lazy
[2.40 - 2.80] dog

Каждая пара временных меток указывает время начала и конца слова в аудио с разрешением 80 мс.

Важно

Если --text не предоставлен, выравниватель сначала запускает полный проход транскрипции Qwen3-ASR, затем выравнивает получившийся текст. Это означает, что при первом запуске загружаются и ASR-модель, и модель выравнивания. Передача --text пропускает шаг ASR и загружает только выравниватель.