01Ses, zamana göre değişen bir sayı dizisidir#
Bir mikrofon, havadaki basınç değişimini her saniyede binlerce kez ölçer ve her ölçümü bir sayıya çevirir. Elde edilen şey bir dalga biçimidir: zamana karşı basınç. Konuşma tanıma modellerinin işlediği ham madde budur; ama bu hâliyle “merhaba” kelimesinin neye benzediğini görmek neredeyse imkânsızdır. Aynı sözcüğü iki farklı kişi söylediğinde dalga biçimleri bambaşka görünür.
İnsan kulağı ise sesi farklı bir biçimde çözümler: hangi frekansların ne kadar güçlü olduğuna bakar. Bir flütün ince sesi, bir davulun kalın sesinden bu yüzden ayrılır. Yapay zekâ tarafındaki ilk iş de buna benzer: dalgayı frekanslarına ayırmak.
02Fourier: bir sesi sinüslere ayır#
Her ses, farklı frekanslardaki sinüs dalgalarının toplamı olarak yazılabilir. Fourier dönüşümü, bir dalga biçiminin hangi frekanstan ne kadar içerdiğini hesaplar. Aşağıda üç sinüs dalgasını kendin kur; üstte toplanmış dalgayı, altta ise spektrumunu görürsün.
Aynı ses, iki görünüm
Üst grafik, zamana göre basınç (dalga biçimi). Alt grafik, her frekansın ne kadar güçlü olduğu (spektrum). Tonların frekansını ve gücünü değiştir.
250 Hz (0,80) · 750 Hz (0,50)Hesabı gör
Örnekleme hızı 8000 Hz, pencere 256 örnek (32 ms). k. çubuk, X[k] = Σ x[n]·e^(−2πikn/N) değerinin büyüklüğüdür; sinyal sinüs toplamı olduğundan, bir tonun gücü kendi çubuğunda aynen görünür.
İki tonun toplamı, dalga biçiminde karmaşık bir desen oluşturuyor; spektrumda ise hâlâ iki net çubuk var. Bu, dönüşümün asıl yararıdır: karışık görünen sinyal, ayrı ayrı okunabilen bileşenlere ayrılır. Gücü sıfıra çektiğin ton, spektrumdan da kayboluyor.
03Zaman ekle: spektrogram#
Konuşmada frekanslar zamanla değişir: her ünlü ve ünsüz farklı bir frekans dağılımı taşır. Tek bir spektrum, tüm kaydı tek bir ortalamaya sıkıştırır ve değişimi saklar. Çözüm, kaydı kısa pencerelere bölüp her pencerenin spektrumunu yan yana dizmektir. Sonuç, yatayda zaman, dikeyde frekans, renkte güç olan bir tablodur: spektrogram.
Spektrogram: zamanla değişen frekanslar
Yatay eksen zaman, dikey eksen frekans, koyuluk güç. Süpürme dalgasının nasıl bir çizgi çizdiğine, gürültünün ise her yere yayılan bir zemin oluşturduğuna bak.
Hesabı gör
Pencere 256 örnek, adım 128 örnek; her pencere Hann penceresiyle çarpılıp Fourier dönüşümünden geçer. Sonuç, kareler (zaman) × çubuklar (frekans) tablosudur. Konuşma tanıma modelleri genellikle bu tabloyu, frekansı insan işitmesine yaklaşan bir ölçeğe (mel) çevirerek girdi olarak kullanır.
Süpürme dalgasını aç ve kapat: yükselen frekans, spektrogramda yükselen bir çizgi olarak görünüyor. Gürültüyü artır: çizginin etrafına her yere yayılan bir zemin ekleniyor. Bir model, “sesin içindeki örüntüyü” çizgilere, şekillere ve dokulara bakarak tanır; yani bir tür görüntü olarak.
Pratikte frekans ekseni çoğunlukla mel ölçeğine çevrilir; bu ölçek, insanın perde algısına yaklaşır: alçak frekanslarda ince ayrımlar, yüksek frekanslarda kaba ayrımlar yapar. Yaygın bir formül mel = 2595 · log₁₀(1 + f/700)’dür.
| Frekans (Hz) | Mel |
|---|---|
| 100 | 150 |
| 500 | 607 |
| 1000 | 1000 |
| 2000 | 1521 |
| 4000 | 2146 |
Frekans iki katına çıktığında (2000 → 4000 Hz) mel değeri yalnızca yaklaşık %41 artıyor; yüksek frekanslar sıkıştırılıyor.
04Spektrogramdan kelimelere#
Elde edilen tablo bir vektör dizisi gibi okunabilir ve bir Transformer’a verilebilir: zaman adımları “token”, frekans değerleri ise vektör bileşenleridir. wav2vec 2.0, bu fikri etiketsiz ses üzerinde öğrenmeye taşıdı: konuşma önce bir evrişimli ağdan geçer, gizli temsillerin bazı bölümleri maskelenir ve model, maskelenen kısmı ayrık hedefler arasından seçmeyi öğrenir. Yazarlar, 53 bin saatlik etiketsiz sesle önceden eğitip yalnızca on dakikalık etiketli veriyle ince ayar yaptıklarında 4,8 / 8,2 kelime hata oranı (WER) bildirdi. wav2vec 2.0 ↗
Whisper ise başka bir yol izledi: internetten toplanmış 680.000 saatlik, çok dilli ve çok görevli, zayıf denetimli (gürültülü) transkriptlerle bir encoder–decoder Transformer eğitti. Model, ince ayar olmadan (zero-shot) birçok standart ölçütte, tam denetimli sistemlerle rekabet edebilir sonuçlar verdi; aynı model tanıma, çeviri, dil belirleme ve konuşma bölgesi tespiti gibi birkaç görevi yapar. Whisper ↗
İki yaklaşım da aynı soruya yanıt arar: elde yeterince temiz etiket yokken nasıl öğrenilir? wav2vec 2.0 etiketsiz sesi, Whisper ise çok büyük ama kusurlu etiketleri kullanır.
05Gerçek hayatta nerede zorlanır?#
| Zorluk | Neden | Not |
|---|---|---|
| Aksan ve lehçe | Eğitim verisinde az temsil edilen konuşma biçimlerinde hata artabilir | Bunu görmek için aksan ve konuşmacı grubuna göre ayrı ölçüm gerekir (veri yazısı) |
| Gürültü | Spektrogramdaki zemin, ince yapıyı örter | Yukarıdaki deneyde gürültüyü artırarak çizginin silikleşmesine bak |
| Konuşmacı değişimi, üst üste konuşma | Tanıma modeli tek bir akış bekler; “kim ne söyledi” ayrı bir işlemdir (konuşmacı ayrıştırma) | Toplantı kayıtlarında bu ikisi birlikte kullanılır |
| Özel adlar ve alan terimleri | Eğitimde nadir görülen sözcükler yanlış yazılabilir | Bağlama terim listesi vermek yardımcı olabilir |
Ses tanıma da başka modeller gibi akıcı ama yanlış bir çıktı üretebilir (halüsinasyon yazısına bak). Bir transkripti önemli bir karar için kullanırken, kayıt ve metni birlikte tutmak ve kritik kısımları dinleyerek doğrulamak sağlam bir alışkanlıktır.
Yönü tersine çevirelim: metinden sese. Yapay ses nasıl üretilir?
Bu yazıyı bitirdiğinde:
- Sesin zamana göre değişen bir sayı dizisi olduğunu ve Fourier dönüşümünün ne yaptığını anlatabilirsin.
- Spektrogramı okuyup sabit ton ile süpürme dalgasının nasıl göründüğünü söyleyebilirsin.
- Konuşma tanımanın spektrogramdan kelimelere nasıl gittiğini ve nerede zorlandığını özetleyebilirsin.
Cümlelerden birini kendi sözlerinle anlatamıyorsan, ilgili bölüme dön ve demoyu yeniden dene.
Yapay ses nasıl üretilir?
Orta · 8 dk okuma