强制对齐

Qwen3-ForcedAligner 为音频提供词级时间戳对齐。它通过非自回归的单次前向传播,将转写文本中的每个词对齐到其在音频波形中的精确位置。

工作原理

对齐器采用 CTC(Connectionist Temporal Classification)对齐,并引入 LIS(Longest Increasing Subsequence)单调性修正步骤。即使原始 CTC 输出中存在轻微的不一致,这也能确保时间戳始终保持有序。

属性
对齐方法带 LIS 单调性修正的 CTC
时间戳分辨率80 ms
输出类别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

模型变体

可选择多种模型变体,在大小和精度之间权衡:

变体模型 ID大小
MLX 4-bit(默认)aufklarer/Qwen3-ForcedAligner-0.6B-4bit~979 MB
MLX 8-bitaufklarer/Qwen3-ForcedAligner-0.6B-8bit~1.3 GB
MLX bf16aufklarer/Qwen3-ForcedAligner-0.6B-bf16~1.8 GB
CoreML INT4aufklarer/Qwen3-ForcedAligner-0.6B-CoreML-INT4~662 MB
CoreML INT8aufklarer/Qwen3-ForcedAligner-0.6B-CoreML-INT8~1.1 GB

使用 --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 ms。

重要

当没有提供 --text 时,对齐器会先运行一次完整的 Qwen3-ASR 转写,然后再对生成的文本进行对齐。这意味着首次运行会同时加载 ASR 模型和对齐器模型。提供 --text 可跳过 ASR 步骤,只加载对齐器。