Merhaba arkadaşlar, bugün yazıları kendi yazdığımız programla nasıl sese dönüştürürüz ve bu işlemin tam tersini nasıl gerçekleştiririz onu inceleyeceğiz. İlk olarak belirtmekte fayda görüyorum ki programımız Python 2x sürümleri ile birlikte çalışabilir durumundadır. Ayrıca programımız İngilizce kelimeleri yakalayabiliyor.
Öncelikle Python 2x sürümlerinden birini aşagıdaki bağlantıdan indirelim ve kuralım.
https://www.python.org/downloads/
Şimdi gerekli modülleri yükleyelim. Windows Komut Penceresini veya PowerShell Penceresini açıp şunları yazalım:
pip install speech_recognition
pip install pyttsx
Artık programımızı kısım kısım yazabiliriz.
import speech_recognition
import pyttsx
speech_engine = pyttsx.init('sapi5')
speech_engine.setProperty('rate', 150)
1. Kısım: Gerekli modüller programa dahil ediliyor ve gerekli başlangıç değerleri belirleniyor.
def speak(text):
speech_engine.say(text)
speech_engine.runAndWait()
2. Kısım: Bu kısımda konuşma fonksiyonunu yazıyoruz. Bu fonksiyon kendisine gönderilen İngilizce kelimeleri sese dönüştürüyor. Kendisine parametre olarak string yolluyoruz.
recognizer = speech_recognition.Recognizer()
def listen():
with speech_recognition.Microphone() as source:
recognizer.adjust_for_ambient_noise(source)
audio = recognizer.listen(source)
try:
return recognizer.recognize_google(audio)
except speech_recognition.UnknownValueError:
print("Ses anlasilamadi")
except speech_recognition.RequestError as e:
print("Recog Error; {0}".format(e))
3. Kısım: Bu kısımda dinleme fonksiyonunu oluşturuyoruz. bilgisayarımızda bulunan mikrofon program tarafından kullanılabilir hale getiriliyor, daha sonra mikrofonla ortam dinleme yapılıp çevresel sesler belirleniyor. Çevresel seslerin belirlenmesi, programın dinlemeyi bırakmasına ve dolayısıyla çeviriyi yapmasına olanak sağlıyor.
speak("You can say something")
dinlenen = listen()
speak(dinlenen)
4. Kısım: Bu kısımda fonksiyonlarımızı çağırıyoruz.
Tekrar görüşmek üzere; sevgiler, saygılar sunarım.
Yine pyttsx modulünü kullanarak nasıl Türkçe sesi yapabilirim?
with ‘in içine tekrar recognizer i tanıtın yoksa çalısmicak