Alineación forzada

Qwen3-ForcedAligner proporciona alineación de marcas temporales a nivel de palabra para audio. Realiza un único forward pass no autoregresivo para alinear cada palabra de una transcripción con su posición precisa en la forma de onda del audio.

Cómo funciona

El aligner usa alineación CTC (Connectionist Temporal Classification) con un paso de corrección de monotonía LIS (Longest Increasing Subsequence). Esto garantiza que las marcas temporales siempre estén en orden, incluso cuando la salida CTC bruta contiene inconsistencias menores.

PropiedadValor
Método de alineaciónCTC con corrección de monotonía LIS
Resolución de marcas temporales80 ms
Clases de salida5000
Modo de inferenciaNo autoregresivo (un solo forward pass)

Uso de la CLI

Alinea un archivo de audio. Si no se proporciona transcripción, el audio se transcribe automáticamente primero usando Qwen3-ASR:

.build/release/audio align recording.wav

Proporciona una transcripción conocida para omitir la transcripción automática:

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

Opciones

# Especifica el texto de la transcripción directamente
.build/release/audio align recording.wav --text "known transcript"

# Elige el modelo ASR para el paso de transcripción automática
.build/release/audio align recording.wav --model 1.7b

# Especifica la variante del modelo aligner
.build/release/audio align recording.wav --aligner-model default

# Establece el idioma
.build/release/audio align recording.wav --language en

Variantes del modelo

Hay varias variantes del modelo disponibles, intercambiando tamaño por precisión:

VarianteID del modeloTamaño
MLX 4-bit (por defecto)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

Selecciona una variante con --aligner-model:

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

Formato de salida

El aligner genera una línea por palabra con las marcas temporales de inicio y fin en segundos:

[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

Cada par de marcas temporales indica la hora de inicio y de fin de la palabra en el audio, con una resolución de 80 ms.

Importante

Cuando no se proporciona --text, el aligner ejecuta primero un pase completo de transcripción con Qwen3-ASR y luego alinea el texto resultante. Esto significa que la primera ejecución carga tanto el modelo ASR como el modelo aligner. Proporcionar --text omite el paso del ASR y carga solo el aligner.