Alignement forcé

Qwen3-ForcedAligner fournit un alignement d'horodatages au niveau du mot pour l'audio. Il effectue une unique passe avant non-autorégressive pour aligner chaque mot d'une transcription à sa position précise dans la forme d'onde audio.

Fonctionnement

L'aligneur utilise un alignement CTC (Connectionist Temporal Classification) avec une étape de correction de monotonie LIS (Longest Increasing Subsequence). Cela garantit que les horodatages sont toujours dans l'ordre, même lorsque la sortie CTC brute contient de légères incohérences.

PropriétéValeur
Méthode d'alignementCTC avec correction de monotonie LIS
Résolution des horodatages80 ms
Classes de sortie5000
Mode d'inférenceNon-autorégressif (une seule passe avant)

Utilisation en CLI

Aligner un fichier audio. Si aucune transcription n'est fournie, l'audio est automatiquement transcrit d'abord avec Qwen3-ASR :

.build/release/audio align recording.wav

Fournissez une transcription connue pour sauter la transcription automatique :

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

Options

# Spécifier directement le texte de la transcription
.build/release/audio align recording.wav --text "known transcript"

# Choisir le modèle ASR pour l'étape de transcription automatique
.build/release/audio align recording.wav --model 1.7b

# Spécifier la variante de modèle d'aligneur
.build/release/audio align recording.wav --aligner-model default

# Définir la langue
.build/release/audio align recording.wav --language en

Variantes du modèle

Plusieurs variantes de modèle sont disponibles, arbitrant entre taille et précision :

VarianteID de modèleTaille
MLX 4 bits (par défaut)aufklarer/Qwen3-ForcedAligner-0.6B-4bit~979 Mo
MLX 8 bitsaufklarer/Qwen3-ForcedAligner-0.6B-8bit~1,3 Go
MLX bf16aufklarer/Qwen3-ForcedAligner-0.6B-bf16~1,8 Go
CoreML INT4aufklarer/Qwen3-ForcedAligner-0.6B-CoreML-INT4~662 Mo
CoreML INT8aufklarer/Qwen3-ForcedAligner-0.6B-CoreML-INT8~1,1 Go

Sélectionnez une variante avec --aligner-model :

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

Format de sortie

L'aligneur produit une ligne par mot avec les horodatages de début et de fin en secondes :

[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

Chaque paire d'horodatages indique les temps de début et de fin du mot dans l'audio, à une résolution de 80 ms.

Important

Lorsqu'aucun --text n'est fourni, l'aligneur exécute d'abord une passe complète de transcription Qwen3-ASR, puis aligne le texte résultant. Cela signifie que la première exécution charge à la fois le modèle ASR et le modèle d'aligneur. Fournir --text saute l'étape ASR et ne charge que l'aligneur.