Alinhamento forcado
Qwen3-ForcedAligner fornece alinhamento de timestamps por palavra para audio. Ele executa um unico forward pass nao autoregressivo para alinhar cada palavra de uma transcricao a sua posicao precisa na forma de onda do audio.
Como funciona
O aligner usa alinhamento CTC (Connectionist Temporal Classification) com uma etapa de correcao de monotonicidade LIS (Longest Increasing Subsequence). Isso garante que os timestamps estejam sempre em ordem, mesmo quando a saida CTC bruta contem pequenas inconsistencias.
| Propriedade | Valor |
|---|---|
| Metodo de alinhamento | CTC com correcao de monotonicidade LIS |
| Resolucao de timestamp | 80 ms |
| Classes de saida | 5000 |
| Modo de inferencia | Nao autoregressivo (unico forward pass) |
Uso do CLI
Alinhe um arquivo de audio. Se nao for fornecida uma transcricao, o audio e transcrito automaticamente primeiro usando Qwen3-ASR:
.build/release/audio align recording.wav
Forneca uma transcricao conhecida para pular a transcricao automatica:
.build/release/audio align recording.wav --text "The quick brown fox jumps over the lazy dog"
Opcoes
# Specify transcript text directly
.build/release/audio align recording.wav --text "known transcript"
# Choose ASR model for auto-transcription step
.build/release/audio align recording.wav --model 1.7b
# Specify aligner model variant
.build/release/audio align recording.wav --aligner-model default
# Set language
.build/release/audio align recording.wav --language en
Variantes do modelo
Varias variantes de modelo estao disponiveis, trocando tamanho por precisao:
| Variante | ID do modelo | Tamanho |
|---|---|---|
| MLX 4-bit (padrao) | aufklarer/Qwen3-ForcedAligner-0.6B-4bit | ~979 MB |
| MLX 8-bit | aufklarer/Qwen3-ForcedAligner-0.6B-8bit | ~1.3 GB |
| MLX bf16 | aufklarer/Qwen3-ForcedAligner-0.6B-bf16 | ~1.8 GB |
| CoreML INT4 | aufklarer/Qwen3-ForcedAligner-0.6B-CoreML-INT4 | ~662 MB |
| CoreML INT8 | aufklarer/Qwen3-ForcedAligner-0.6B-CoreML-INT8 | ~1.1 GB |
Selecione uma variante com --aligner-model:
.build/release/audio align recording.wav --aligner-model aufklarer/Qwen3-ForcedAligner-0.6B-8bit
Formato de saida
O aligner emite uma linha por palavra com timestamps de inicio e fim em 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 timestamp indica o tempo de inicio e fim da palavra no audio, a uma resolucao de 80 ms.
Quando nao e fornecido --text, o aligner primeiro executa um pass completo de transcricao Qwen3-ASR, depois alinha o texto resultante. Isso significa que a primeira execucao carrega tanto o modelo ASR quanto o modelo aligner. Fornecer --text pula a etapa de ASR e carrega apenas o aligner.