Bir toplantı kaydediyorsunuz, bir podcast dinliyorsunuz, röportaj yapıyorsunuz. Sonunda hep aynı soruna varıyorsunuz: bu sesi yazıya dökmek. Birkaç yıl öncesine kadar bunun için pahalı yazılımlar ya da saatler süren manuel çalışma gerekiyordu. OpenAI’ın 2022’de yayımladığı Whisper bu tabloyu önemli ölçüde değiştirdi.
Whisper, 680.000 saat internet ses verisiyle eğitilmiş, 99 dili destekleyen açık kaynak bir otomatik konuşma tanıma (ASR) modelidir. OpenAI API üzerinden kullanabilir ya da kendi sunucunuzda çalıştırabilirsiniz. Türkçe dahil pek çok dilde yüksek doğrulukla transkripsiyon üretir. Bu makale Whisper’ın nasıl çalıştığını, model boyutlarını, Türkçe performansını, kurulum seçeneklerini ve sınırlarını ele alıyor.
Neden Önemli?
Whisper Eylül 2022’de yayımlandı. OpenAI aynı anda kodu, ağırlıkları ve dokümantasyonu GitHub’a koydu; her şey herkesin kullanımına açıldı.
Öncesinde ASR pazarı kapalı sistemler üzerine kuruluydu: Google Cloud Speech-to-Text, Amazon Transcribe, Microsoft Azure Speech. Tamamı API bazlı, fiyatı dakika başına ölçülen platformlardı. Akademik tarafta farklı modeller mevcuttu, ancak bunlar genellikle tek dile ya da dar bir alana özgüydü.
Whisper’ı farklı kılan iki etken var. İlki eğitim verisi: 680.000 saatlik çok dilli internet sesi. Bu verinin büyük bölümü zayıf etiketli ya da gürültülüydü; modelin bunu çözümleyerek tutarlı transkripsiyona dönüştürmesi, ölçeğin ne kadar belirleyici olduğunu gösteriyor. İkincisi erişim: Apache 2.0 lisansıyla herkes kendi sunucusunda çalıştırabilir, değiştirebilir, ticari ürüne entegre edebilir.
Encoder-Decoder Mimarisi
Whisper’ın altında bir transformer mimarisi yatar: encoder-decoder çifti.

Ses dosyası alındığında ilk iş bir dönüşüm: ham dalga biçimi 80 frekanslı log-mel spektrograma çevrilir. Spektrogram sesin görsel bir temsilidir; yatay eksen zaman, dikey eksen frekans, renk yoğunluğu güç düzeyi. Bu görseli encoder okur.
Encoder, iki katlı CNN bloğundan geçen ses verisini transformer katmanlarına iletir. Her katman kendi içindeki attention mekanizmasıyla çalışır; hangi ses parçasının hangi özelliği taşıdığını öğrenir, kompakt bir vektör uzayına sıkıştırır. Decoder bu vektörü alır, metni token token oluşturur. Cross-attention katmanları her adımda encoder çıktısına bakarak bağlamı tarar.
Modelin özel tokenları var. <|transcribe|> doğrudan transkripsiyon isterken, <|translate|> çıktıyı İngilizceye çevirir. <|lang_id|> dil kimliğini belirtir. Aynı ağırlıklarla transkripsiyon, çeviri ve dil tespiti yapılabiliyor; tek model, birden fazla görev.
Whisper’ın bu yapısını daha iyi anlamak için vLLM ve açık kaynak model çıkarım motoru yazımıza bakabilirsiniz; transformer tabanlı çıkarım prensipleri burada da geçerli.
Model Boyutları
OpenAI, farklı donanım ve hız gereksinimlerine göre birkaç Whisper boyutu sunuyor:
| Model | Parametreler | Yaklaşık VRAM | Hız (gerçek zamana göre) |
|---|---|---|---|
| tiny | 39M | ~1 GB | ~32× |
| base | 74M | ~1 GB | ~16× |
| small | 244M | ~2 GB | ~6× |
| medium | 769M | ~5 GB | ~2× |
| large-v2 | 1.5B | ~10 GB | ~1× |
| large-v3 | 1.5B | ~10 GB | ~1× |
| turbo | 809M | ~6 GB | ~8× |
Hız öncelikliyse turbo ya da small iyi bir denge noktası. Kalite kritikse large-v3. CPU’da çalışacaksanız tiny veya base da makul sonuçlar veriyor; GPU olmadan da çalışır, sadece yavaş.
Knowledge distillation alanındaki gelişmeler küçük Whisper modellerini daha da güçlü kılıyor: large-v3’ten damıtılmış versiyonlar hem boyut hem performans açısından ilgi çekici seçenekler sunuyor.
Türkçe Desteği
Whisper 99 dili destekliyor. Büyük model sürümleriyle Türkçe Kelime Hata Oranı (WER) yüzde 8-10 civarında seyrediyor; genel konuşma transkripsiyonu için kabul edilebilir bir değer.
En kritik parametre language="tr" olarak belirtmek. Atladığınızda model dili kendi tahmin eder ve zaman zaman yanılır; bu da çıktı kalitesini doğrudan etkiler.
Teknik terimler ve özel isimler hata oranını yükseltiyor. Marka adları, kişi isimleri, domain jargonu bu kategoriye giriyor. initial_prompt parametresiyle kısmen kontrol edebilirsiniz: modele kısa bir bağlam metni vererek tahmini yönlendirebilirsiniz.
result = model.transcribe(
"toplanti.mp3",
language="tr",
initial_prompt="Bu kayıt bir teknoloji şirketinin ürün toplantısından alınmıştır."
)
Gürültülü ortam ve aksanlı konuşma performansı large-v3’te küçük modellere kıyasla belirgin biçimde daha iyi. Telefon görüşmesi veya dış mekan kaydı gibi düşük kaliteli seslerde bu fark hissedilir hale geliyor.
API ve Yerel Kurulum
İki yol var: OpenAI API veya kendi ortamınızda yerel kurulum.
API yolu basit. Dakika başına 0.006 dolar fiyatlandırmayla küçük hacimli işler için makul, büyük ölçekte maliyet hızla büyüyor.
from openai import OpenAI
client = OpenAI()
with open("kayit.mp3", "rb") as audio_file:
transcript = client.audio.transcriptions.create(
model="whisper-1",
file=audio_file,
language="tr"
)
print(transcript.text)
Yerel kurulum hem maliyet hem gizlilik açısından farklı bir konumda. Veriler sunucunuzdan çıkmıyor, dakika başına ödeme yok.
pip install openai-whisper
import whisper
model = whisper.load_model("large-v3")
result = model.transcribe("kayit.mp3", language="tr")
print(result["text"])
Faster-Whisper, orijinal Python uygulamasına kıyasla 4 kat hız ve yüzde 70 daha az bellek kullanıyor. CTranslate2 çıkarım motoru üzerine kurulu; üretim ortamlarında genellikle tercih edilen bu.
pip install faster-whisper
from faster_whisper import WhisperModel
model = WhisperModel("large-v3", device="cuda", compute_type="float16")
segments, info = model.transcribe("kayit.mp3", language="tr")
for segment in segments:
print(f"[{segment.start:.2f}s - {segment.end:.2f}s] {segment.text}")
WhisperX kelime düzeyinde zaman damgası ve konuşmacı ayrımı (diarization) ekliyor. Birden fazla kişinin konuştuğu kayıtlarda kimin ne dediğini ayırt etmek istiyorsanız WhisperX bu boşluğu dolduruyor.
Kullanım Alanları

Toplantı ve podcast transkripsiyonu en yaygın kullanım senaryoları arasında. Bir saatlik kaydı metne dönüştürüp LLM’le özetlemek ya da belirli konuları aramak için kullanmak, iş akışlarını ciddi ölçüde etkiliyor. Ses girdisi → Whisper transkripsiyonu → GPT/Claude analizi şeklinde kurulan multimodal AI pipeline’ları bu modelin güçlü yönünü tam ortaya koyuyor.
YouTube altyazısı da öne çıkıyor. İçerik üreticileri Whisper çıktısını SRT dosyasına dönüştürerek doğrudan yükleyebilir. Türkçe içerik için ticari araçlara kıyasla daha iyi sonuç veriyor.
Çağrı merkezi analizinde kayıtların transkripsiyonu, keyword extraction ve duygu analizi için kullanılabiliyor. İşitme engelli kullanıcılar için gerçek zamanlı altyazı oluşturma da mümkün; Faster-Whisper ile gecikme oldukça düşük seviyelere çekilebiliyor.
Araştırmacılar ve gazeteciler de modeli iş akışlarına entegre etti. Röportaj kayıtları, ders notları, sesli günlükler doğrudan metin olarak arşivlenebiliyor.
Fine-Tuning ile Özelleştirme
Genel amaçlı Whisper pek çok senaryo için yeterli. Tıp, hukuk veya finans gibi domain jargonu yoğun alanlarda ya da belirgin aksanlarla çalışıyorsanız fine-tuning devreye giriyor.
Hugging Face üzerinde openai/whisper-large-v3 modelini temel alarak PEFT ve LoRA teknikleriyle fine-tuning yapılabiliyor. Fine-tuning ve RAG arasındaki strateji farkları için ayrı bir yazımız var; Whisper fine-tuning da temelde aynı kararları gerektiriyor: ne zaman ağırlık güncellemek, ne zaman prompt yönlendirmesiyle yetinmek?
Veri gereksinimi genellikle düşük: domain başına 1-10 saat etiketli ses, gözle görülür iyileşme için çoğunlukla yeterli. Hukuk belgelerini transkribe eden bir sistemde 5 saatlik etiketli kayıt, genel modele kıyasla yüzde 30-40 daha düşük hata oranı verebiliyor.
Fine-tuning için temel gereksinimler: bir GPU (T4 veya A100 öneriliyor), Hugging Face Transformers ve Datasets kütüphaneleri, ses verisinin uzunluk ve format açısından ön işlemden geçirilmesi.
Whisper’ın Sınırları
Gerçek zamanlı çalışmıyor. Whisper bir batch ASR modeli: dosyayı alıyor, işliyor, sonucu döndürüyor. Canlı transkripsiyon için WhisperLive gibi bir akış katmanı gerekiyor; bu katman ses parçalarını sıralı biçimde işleyerek gecikmeyi azaltıyor, ancak doğruluk kayıpları da oluşabiliyor.
Sessiz veya aşırı gürültülü bölümlerde model bazen var olmayan sözcükler üretiyor. Kısa, düşük kaliteli kayıtlarda bu daha belirgin. Kritik bir sistemde kullanmadan önce doğrulama adımı gerekiyor.
Bellek açısından large-v3 yaklaşık 10 GB GPU istiyor. Orta sınıf donanımda quantization ya da Faster-Whisper’ın float16 desteği bu sorunu çözüyor.
Kişi adları, şirket isimleri ve marka adlarında hata oranı genel konuşmaya kıyasla yüksek. initial_prompt ile kısmen kontrol altına alınabiliyor, ancak tamamen çözülmüş bir sorun değil.
Konuşmacı ayrımı yerleşik olarak yok. Toplantı transkriptinde farklı sesleri ayırt etmek istiyorsanız WhisperX veya pyannote-audio eklenmiş bir pipeline kurmak gerekiyor.
Ekosistem ve Alternatifler
Whisper etrafında aktif bir açık kaynak ekosistemi oluştu. Faster-Whisper ve WhisperX dışında OpenAI’ın kendi API’si de güncelleniyor; Whisper Large V3 Turbo 2024 sonunda geldi ve hız-kalite dengesini belirgin biçimde iyileştirdi.
Alternatifler arasında Meta’nın MMS modeli (1.000’den fazla dil desteğiyle), AssemblyAI, Deepgram ve NVIDIA NeMo sayılabilir. Türkçe desteği ve açık kaynak gereksinimi birlikte değerlendirildiğinde Whisper hâlâ ön sıralarda.
Prompt engineering bilgisi, Whisper çıktısını LLM ile işleyerek daha iyi sonuçlar elde etmek için doğrudan uygulanabilir; initial_prompt parametresi de benzer bir mantıkla çalışıyor.
Başlarken
Yerel Python ortamında başlamak en pratik yol. Küçük bir modelle deneyin, donanımınıza ve kalite beklentinize göre büyütün.
pip install openai-whisper
import whisper
model = whisper.load_model("base") # küçük başla, gerekirse büyüt
result = model.transcribe("ses_dosyasi.mp3", language="tr")
print(result["text"])
Whisper tek başına işlevsel bir araç, ama asıl değeri pipeline’larda görünüyor: ses girişi → Whisper transkripsiyonu → LLM analizi. Bu akışın her adımında ne olduğunu anlamak, multimodal AI sistemleri konusundaki temel kavrayışla başlıyor.



