AI Programlama ve Teknoloji
AI ile ses tanıma ve metin dönüşümü nasıl yapılır?
ses tanıma için OpenAI Whisper veya Google Speech-to-Text gibi modeller kullanılır. AI, ses dosyalarını analiz edip yazılı metin hâline dönüştürür. Uygulama, podcast transkriptleri, toplantı özetleri veya dikte sistemlerinde kullanılabilir.
- Ortam Hazırlığı:
bash
# Gerekli kütüphanelerin kurulumu pip install openai-whisper torchaudio pip install pydub # Ses dosyası dönüşümleri için
2. Temel Kullanım (Whisper):
python
import whisper
# Model seçimi (tiny, base, small, medium, large)
model = whisper.load_model("medium")
# Ses dosyasını yükleme ve transkript
result = model.transcribe("toplanti_kaydi.mp3")
print(result["text"])
3. Türkçe için Optimizasyon:
python
# Türkçe özel prompt
result = model.transcribe("ses_dosyasi.wav", language="tr", initial_prompt="Bu kayıt Türkçe bir iş toplantısıdır.")
4. Gerçek Zamanlı İşleme:
python
import torchaudio
import numpy as np
# Mikrofondan anlık ses alımı
stream = torchaudio.io.StreamReader(src=":0") # Default mikrofon
stream.add_basic_audio_stream(frames_per_chunk=16000, sample_rate=16000)
for (chunk,) in stream.stream():
audio_np = chunk.numpy().flatten()
result = model.transcribe(audio_np)
print(result["text"])
5. Gelişmiş Özellikler:
python
# Zaman damgalı transkript
for segment in result["segments"]:
print(f"[{segment['start']:.2f}-{segment['end']:.2f}s] {segment['text']}")
# Konuşmacı ayrıştırma (PyAnnote entegrasyonu)
from pyannote.audio import Pipeline
diarization = Pipeline.from_pretrained("pyannote/speaker-diarization")(audio_file)
6. Özel Model Eğitimi:
python
from transformers import WhisperForConditionalGeneration, WhisperProcessor
# Önceden eğitilmiş model
model = WhisperForConditionalGeneration.from_pretrained("openai/whisper-medium")
processor = WhisperProcessor.from_pretrained("openai/whisper-medium")
# Türkçe fine-tuning
# Kendi veri setinizle eğitim kodu buraya gelecek
Karşılaşılabilecek Sorunlar ve Çözümleri:
- Arka Plan Gürültüsü:
noisereducekütüphanesiyle gürültü azaltma
- Düşük Kaliteli Kayıtlar:
- Sample rate dönüşümü:
- Terminoloji Hataları:
- Özel sözlük ekleme:
Üretim Ortamı İçin Öneriler:
- GPU hızlandırma (CUDA)
- Batch processing için queue sistemi
- Sonuçların veritabanına otomatik kaydı
Alternatif Çözümler:
python
# Google Speech-to-Text API
from google.cloud import speech_v1p1beta1 as speech
client = speech.SpeechClient()
config = speech.RecognitionConfig(
language_code="tr-TR",
enable_automatic_punctuation=True
)
response = client.recognize(config=config, audio=audio)
Performans İyileştirme:
python
# Quantized model (düşük kaynak kullanımı)
model = whisper.load_model("small.en", device="cpu")
Son Çıktı Formatlama:
python
# VTT formatında kaydetme
with open("transkript.vtt", "w") as f:
f.write("WEBVTT\n\n")
for seg in result["segments"]:
f.write(f"{seg['start']:.3f} --> {seg['end']:.3f}\n")
f.write(f"{seg['text']}\n\n")
Dikkat Edilmesi Gerekenler:
- Ses dosyalarının maksimum 25MB olması (Whisper için)
- Uzun kayıtlarda memory yönetimi
- Türkçe karakter desteği kontrolü
Örnek Kullanım Senaryoları:
- Müşteri hizmetleri çağrı kayıtlarının analizi
- Online derslerin otomatik transkripsiyonu
- Doktor hasta görüşmelerinin dokümantasyonu
Bu yöntemlerle %90+ doğruluk oranları elde edebilirsiniz, ancak kritik uygulamalarda mutlaka insan kontrolü öneririm.

aisor
19 Ağustos 2025 at 00:30
tüm detaylar açıklamada…Teşekkürler