Gerçek Zamanlı Ses ve Duygu Analizi: Whisper + NLP ile Neler Yaptım?
Projeye Neden Başladım?
Yapay zeka alanında çalışırken hep sesle ilgili projelere ilgi duydum. Ses verisinin içindeki duyguyu tespit etmek, insan-bilgisayar etkileşimini daha doğal kılabilir. Bu motivasyonla gerçek zamanlı ses transkripsiyonu ve duygu analizi sistemi geliştirdim.
Kullandığım Teknolojiler
- OpenAI Whisper — Ses tanıma (ASR) için güçlü, açık kaynaklı model
- HuggingFace Transformers — Duygu sınıflandırması için önceden eğitilmiş NLP modeli
- Flask + WebSocket — Gerçek zamanlı web arayüzü
- PyTorch — Model inference
Sistem Mimarisi
Sistem üç ana bileşenden oluşuyor:
- Frontend: Tarayıcıdan mikrofon sesini WebSocket üzerinden backend'e gönderir
- ASR Modülü: Whisper ile ses → metin dönüşümü
- NLP Modülü: Metni alıp duygu etiketini çıkarır (positive, negative, neutral)
import whisper
from transformers import pipeline
asr_model = whisper.load_model("base")
sentiment_pipeline = pipeline("sentiment-analysis")
def analyze(audio_bytes):
result = asr_model.transcribe(audio_bytes)
text = result["text"]
sentiment = sentiment_pipeline(text)[0]
return {"text": text, "sentiment": sentiment}
Öğrendiklerim
Whisper, kısa ses parçaları için bile oldukça doğru sonuçlar veriyor. Türkçe dil desteği de fena değil. Duygu analizi için cardiffnlp/twitter-roberta-base-sentiment modelini kullandım; genel metinlerde iyi performans sergiliyor.
WebSocket mimarisi, gerçek zamanlı veri akışını yönetmek için mükemmel bir tercih oldu. flask-socketio kütüphanesi bu entegrasyonu oldukça kolaylaştırdı.
Sonuç
Bu proje, multimodal yapay zeka sistemleri konusundaki ilgimi daha da artırdı. Ses + metin + görüntü birleştiren sistemler, gelecekte çok daha önemli hale gelecek. GitHub'da projeyi inceleyebilirsiniz.