Zorunlu Hizalama
Qwen3-ForcedAligner ses için kelime düzeyinde zaman damgası hizalaması sağlar. Bir transkriptteki her kelimeyi ses dalga formundaki tam konumuyla hizalamak için otoregresif olmayan tek bir ileri geçiş gerçekleştirir.
Nasıl Çalışır
Aligner, CTC (Connectionist Temporal Classification) hizalamasını LIS (Longest Increasing Subsequence) monotonluk düzeltme adımıyla birlikte kullanır. Bu, ham CTC çıktısı küçük tutarsızlıklar içerse bile zaman damgalarının her zaman sıralı olmasını sağlar.
| Özellik | Değer |
|---|---|
| Hizalama yöntemi | LIS monotonluk düzeltmeli CTC |
| Zaman damgası çözünürlüğü | 80 ms |
| Çıkış sınıfları | 5000 |
| Çıkarım modu | Otoregresif olmayan (tek ileri geçiş) |
CLI Kullanımı
Bir ses dosyasını hizalayın. Transkript sağlanmazsa, ses önce Qwen3-ASR kullanılarak otomatik olarak transkripte edilir:
.build/release/speech align recording.wav
Otomatik transkripsiyonu atlamak için bilinen bir transkript sağlayın:
.build/release/speech align recording.wav --text "The quick brown fox jumps over the lazy dog"
Seçenekler
# Transkript metnini doğrudan belirt
.build/release/speech align recording.wav --text "known transcript"
# Otomatik transkripsiyon adımı için ASR modeli seç
.build/release/speech align recording.wav --model 1.7b
# Aligner model varyantını belirt
.build/release/speech align recording.wav --aligner-model default
# Dili ayarla
.build/release/speech align recording.wav --language en
Dil Desteği
Sesin diline karşılık gelen --language değerini geçirin. Model resmi olarak 11 dilde eğitilmiştir (en, zh, ja, ko, es, fr, de, ru, it, pt, ar); ön işlemci ayrıca Japonca morfemleri, Korece kelimeleri, Çince karakter bazında ve Tay / Lao / Khmer / Birmanca / Tibetçeyi Apple'ın NLTokenizer'ı aracılığıyla doğal olarak segmentlere ayırır. Birleşik işaretler (Devanagari matraları, Tay sesli harfleri vb.) korunur, böylece नमस्ते ve สวัสดี gibi kelimeler bütün halinde kalır.
Model Varyantları
Boyutu doğruluğa karşı takas eden birden çok model varyantı mevcuttur:
| Varyant | Model ID | Boyut |
|---|---|---|
| MLX 4-bit (varsayılan) | 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 |
--aligner-model ile bir varyant seçin:
.build/release/speech align recording.wav --aligner-model aufklarer/Qwen3-ForcedAligner-0.6B-8bit
Çıkış Formatı
Aligner her kelime için saniye cinsinden başlangıç ve bitiş zaman damgalarıyla bir satır çıkarır:
[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
Her zaman damgası çifti, kelimenin sesteki başlangıç ve bitiş zamanını 80 ms çözünürlükle gösterir.
Uzun ses işleme
Sınıflandırma kafası prensip olarak 400 saniyeye kadar adresleyebilir (5000 sınıf × 80 ms), ancak sunulan Qwen3-ForcedAligner-0.6B üzerinde model güvenilir şekilde yaklaşık 270 saniyeye kadar eğitilmiştir. Bu noktadan sonra model gürültülü zaman damgası indeksleri üretir ve LIS son işleme her sonlu kelimeyi aynı zaman damgasında çöktürür.
CLI bunu otomatik olarak işler: uzun ses, doygunluk noktasında parçalara ayrılır ve yeniden hizalanır. Parçalama devreye girdiğinde tek satırlık bir mesaj görürsünüz:
Audio 306.2s saturated after word 690 (272.6s); chunking remaining 33.6s (pass 2)
Hizalanmamış çıktıları araştırırken ham ve düzeltilmiş zaman damgası indekslerini dökmek için ALIGN_DEBUG=1 ayarlayın.
Bilinen sınırlama: baştaki konuşma dışı kısım
Ses konuşma dışı bir bölümle (müzik girişi, uzun sessizlik) başladığında, sınıflandırıcının "konuşma henüz başlamadı" kavramı olmadığından model genellikle ilk kelimeyi 0 saniyeye yakın damgalar. Geçici çözüm: hizalamadan önce baştaki konuşma dışı kısmı kırpın veya gerçek konuşma başlangıcını bulmak için Silero ile bir VAD ön geçişi çalıştırın.
--text sağlanmadığında, aligner önce tam bir Qwen3-ASR transkripsiyon geçişi çalıştırır ve ardından elde edilen metni hizalar. Bu, ilk çalıştırmanın hem ASR modelini hem de aligner modelini yüklediği anlamına gelir. --text sağlamak ASR adımını atlar ve yalnızca aligner'ı yükler.