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ü:noisereduce kütüphanesiyle gürültü azaltmapythonimport noisereduce as nr audio_clean = nr.reduce_noise(y=audio_data, sr=sample_rate) Düşük Kaliteli Kayıtlar:Sample rate dönüşümü:pythonimport librosa audio, sr = librosa.load("kayit.wav", sr=16000) # Whisper için ideal Terminoloji Hataları:Özel sözlük ekleme:pythonresult = model.transcribe(audio, vocabulary=["TeknikTerim1", "Özelİsim"]) Ü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.