Ses sentezi, metinden konuşma (TTS) teknolojisi olarak da bilinir ve robotların insanlarla doğal bir şekilde iletişim kurmasını sağlayan önemli bir yetenektir. Bu rehber, ses sentezi robotik projelerine başlamak için gereken temel adımları ve bilgileri sunmaktadır.
Python ile çalışıyorsanız, öncelikle gerekli ses sentezi kütüphanelerini kurmanız gerekmektedir. Örneğin, gTTS (Google Text-to-Speech) kütüphanesini kurmak için aşağıdaki komutu kullanabilirsiniz:
pip install gTTS
Alternatif olarak, pyttsx3 kütüphanesini de kullanabilirsiniz:
pip install pyttsx3
Aşağıdaki örnek kod, gTTS kütüphanesini kullanarak basit bir metni konuşmaya dönüştürme işlemini göstermektedir:
python from gtts import gTTS import os text = "Merhaba, ben bir robotum!" tts = gTTS(text=text, lang='tr') tts.save("robot_sesi.mp3") os.system("mpg321 robot_sesi.mp3") # Linux için # os.system("start robot_sesi.mp3") # Windows içinBu kod, belirtilen metni Türkçe olarak sentezler ve "robot_sesi.mp3" adında bir ses dosyası oluşturur. Ardından, bu dosyayı oynatır.
Ses sentezi yeteneğini robotunuza entegre etmek için, mikrodenetleyici üzerinde çalışan bir program yazmanız gerekmektedir. Örneğin, Raspberry Pi kullanıyorsanız, yukarıdaki Python kodunu kullanarak robotunuzun belirli olaylara tepki vermesini sağlayabilirsiniz.
python import RPi.GPIO as GPIO import time from gtts import gTTS import os # GPIO pin tanımlamaları BUTTON_PIN = 17 LED_PIN = 18 # GPIO ayarları GPIO.setmode(GPIO.BCM) GPIO.setup(BUTTON_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(LED_PIN, GPIO.OUT) def konus(text): tts = gTTS(text=text, lang='tr') tts.save("robot_sesi.mp3") os.system("mpg321 robot_sesi.mp3") try: while True: if GPIO.input(BUTTON_PIN) == GPIO.LOW: print("Butona basıldı!") GPIO.output(LED_PIN, GPIO.HIGH) konus("Butona basıldı!") time.sleep(0.5) GPIO.output(LED_PIN, GPIO.LOW) time.sleep(0.1) except KeyboardInterrupt: GPIO.cleanup()Bu örnek kod, bir butona basıldığında bir LED'i yakar ve "Butona basıldı!" şeklinde bir sesli mesaj verir.
Bu rehber, ses sentezi robotik projelerine başlamanız için temel bir çerçeve sunmaktadır. Kendi yaratıcılığınızı kullanarak, bu bilgileri daha da geliştirebilir ve benzersiz projeler ortaya çıkarabilirsiniz.