Forced Alignment
Qwen3-ForcedAligner bietet wortgenaue Zeitstempel-Zuordnung für Audio. Er führt einen nicht-autoregressiven Single-Forward-Pass aus, um jedes Wort in einem Transkript seiner exakten Position in der Audio-Wellenform zuzuordnen.
Funktionsweise
Der Aligner verwendet CTC-Alignment (Connectionist Temporal Classification) mit einem LIS-Monotonie-Korrekturschritt (Longest Increasing Subsequence). Dadurch sind die Zeitstempel immer in korrekter Reihenfolge, selbst wenn die Roh-CTC-Ausgabe kleinere Inkonsistenzen enthält.
| Eigenschaft | Wert |
|---|---|
| Alignment-Methode | CTC mit LIS-Monotonie-Korrektur |
| Zeitstempel-Auflösung | 80 ms |
| Ausgabeklassen | 5000 |
| Inferenzmodus | Nicht-autoregressiv (Single-Forward-Pass) |
CLI-Verwendung
Richte eine Audiodatei aus. Wird kein Transkript angegeben, wird das Audio zunächst automatisch mit Qwen3-ASR transkribiert:
.build/release/audio align recording.wav
Gib ein bekanntes Transkript an, um die automatische Transkription zu überspringen:
.build/release/audio align recording.wav --text "The quick brown fox jumps over the lazy dog"
Optionen
# Transkripttext direkt angeben
.build/release/audio align recording.wav --text "known transcript"
# ASR-Modell für den Auto-Transkriptionsschritt wählen
.build/release/audio align recording.wav --model 1.7b
# Aligner-Modellvariante angeben
.build/release/audio align recording.wav --aligner-model default
# Sprache setzen
.build/release/audio align recording.wav --language en
Modellvarianten
Mehrere Modellvarianten sind verfügbar, die Größe gegen Genauigkeit abwägen:
| Variante | Modell-ID | Größe |
|---|---|---|
| MLX 4-Bit (Standard) | 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 |
Wähle eine Variante mit --aligner-model:
.build/release/audio align recording.wav --aligner-model aufklarer/Qwen3-ForcedAligner-0.6B-8bit
Ausgabeformat
Der Aligner gibt eine Zeile pro Wort mit Start- und Endzeitstempel in Sekunden aus:
[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
Jedes Zeitstempelpaar gibt die Start- und Endzeit des Wortes im Audio an, mit einer Auflösung von 80 ms.
Wird kein --text angegeben, führt der Aligner zunächst einen vollständigen Qwen3-ASR-Transkriptionsdurchlauf aus und richtet dann den resultierenden Text aus. Das bedeutet, dass der erste Lauf sowohl das ASR-Modell als auch das Aligner-Modell lädt. Mit --text wird der ASR-Schritt übersprungen und nur der Aligner geladen.