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'alignement | CTC avec correction de monotonie LIS |
| Résolution des horodatages | 80 ms |
| Classes de sortie | 5000 |
| Mode d'inférence | Non-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 :
| Variante | ID de modèle | Taille |
|---|---|---|
| MLX 4 bits (par défaut) | aufklarer/Qwen3-ForcedAligner-0.6B-4bit | ~979 Mo |
| MLX 8 bits | aufklarer/Qwen3-ForcedAligner-0.6B-8bit | ~1,3 Go |
| MLX bf16 | aufklarer/Qwen3-ForcedAligner-0.6B-bf16 | ~1,8 Go |
| CoreML INT4 | aufklarer/Qwen3-ForcedAligner-0.6B-CoreML-INT4 | ~662 Mo |
| CoreML INT8 | aufklarer/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.
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.