İlk olarak bir klasör oluşturarak başlayalım:
Gerekli modüller:
Speechrecognition.
Gtts.
Wikipedia.
Playsound==1.2.2
Speechrecognition: Kull3anıcının sesini tanıyıp metne çevirir.
Pyttsx3: Asistanın sesli yanıt vermesini sağlar.
Wikipedia: Asistanın Wikipedia'dan bilgi çekmesini sağlar.
Ben Visual code Studio kullanacağım siz atom veya diğer programları kullanabilirsiniz.
Boş bir Python dosyası oluşturalım ismi size kalmış.
Ardından terminali açıp şunları yazalımm.
Pip install speechrecognition Wikipedia playsound==1.2.2 gtts.
Ve ilk kodumuz.
Komutlar:
Wikipedia ara: İsmini verdiğiniz kişiyi Wikipedia'da araştırır ve bilgileri sesli sunar.
renk algılama komutu ekleyelim
2. kodumuz.
Yeni moduller.
Pip install OpenCV-Python numpy.
Kod:
İmport CV2.
İmport numpy as np.
İmport speech_recognition as sr.
From gtts import gtts.
İmport OS.
İmport playsound.
İmport Wikipedia.
# Sesli cevap fonksiyonu.
Def sesli_cevap(metin):
TTS = gtts(text = metin, lang='TR')
Dosya_adi = "cevap. MP3"
TTS. Save(dosya_adi)
Playsound. Playsound(dosya_adi)
OS. Remove(dosya_adi)
# Kullanıcının sesini dinleyen ve komutu metne çeviren fonksiyon.
Def ses_dinle():
R = sr.Recognizer()
With sr.Microphone() as source:
Print("dinliyorum...")
R. Adjust_for_ambient_noise(Source)
Audio = r. Listen(Source)
Try:
Komut = r. Recognize_google(Audio, language="TR-TR")
Print(F"siz: {komut}")
Return komut.lower()
Except sr. Unknownvalueerror:
Print("anlayamadım, tekrar edin.")
Return ""
Except sr. Requesterror:
Print("ses tanıma servisi çalışmıyor.")
Return ""
# Renk algılama fonksiyonu.
Def renk_algila():
Renkler = {
"Kırmızı": ([0, 100, 100], [10, 255, 255]),
"Yeşil": ([40, 100, 100], [80, 255, 255]),
"Mavi": ([100, 100, 100], [140, 255, 255]),
"Sarı": ([20, 100, 100], [30, 255, 255]),
"Beyaz": ([0, 0, 200], [180, 30, 255]),
"Siyah": ([0, 0, 0], [180, 255, 30]),
}
Cap = CV2.videocapture(0)
While true:
Ret, frame = cap.read()
İf not ret:
Print("kamera açılamadı.")
Break.
Hsv = CV2.cvtcolor(frame, CV2.color_bgr2hsv)
# Her renk için maske oluştur.
For renk, (alt_hudut, ust_hudut) in renkler.items():
Mask = CV2.inrange(hsv, np. Array(alt_hudut), np. Array(ust_hudut))
İf np. Sum(mask) > 0: # renk algılandıysa.
Sesli_cevap(F"{renk} rengi algılandı!")
CV2.imshow("renk algılama", frame)
CV2.waitkey(3000) # 3 saniye görüntüle.
Break # ilk bulunan rengi bulduktan sonra döngüden çık.
Else:
# Algılanan hiçbir renk yoksa.
Sesli_cevap("hiçbir renk algılanamadı.")
# 'Q' tuşuna basıldığında çık.
İf CV2.waitkey(1) & 0xFF == ord('Q'):
Break.
cap.release()
cv2.destroyAllWindows()
# Ana asistan döngüsü.
Def asistan():
Sesli_cevap("merhaba, size nasıl yardımcı olabilirim?")
While true:
Komut = ses_dinle()
İf 'renk algıla'in komut:
renk_algila()
Elif 'çıkış'in komut or 'kapat'in komut:
Sesli_cevap("görüşmek üzere!")
Break.
# Asistanı başlatıyoruz.
asistan()
Bu kodda sorunsuz çalıştı.
Bugünlük bu kadardı eğer konuyu beğenirseniz devam edeceğim
Görüşürüz.
Gerekli modüller:
Speechrecognition.
Gtts.
Wikipedia.
Playsound==1.2.2
Speechrecognition: Kull3anıcının sesini tanıyıp metne çevirir.
Pyttsx3: Asistanın sesli yanıt vermesini sağlar.
Wikipedia: Asistanın Wikipedia'dan bilgi çekmesini sağlar.
Ben Visual code Studio kullanacağım siz atom veya diğer programları kullanabilirsiniz.
Boş bir Python dosyası oluşturalım ismi size kalmış.
Ardından terminali açıp şunları yazalımm.
Pip install speechrecognition Wikipedia playsound==1.2.2 gtts.
Ve ilk kodumuz.
Python:
import speech_recognition as sr.
from gtts import gTTS.
import os.
import playsound.
# Sesli cevap fonksiyonu (Google TTS kullanarak)
def sesli_cevap(metin):
tts = gTTS(text=metin, lang='tr') # Türkçe dilini seçiyoruz.
dosya_adi = "cevap.mp3"
tts.save(dosya_adi)
playsound.playsound(dosya_adi)
os.remove(dosya_adi) # Dosyayı silerek sonraki cevaba yer açıyoruz.
# Kullanıcının sesini dinleyen ve komutu metne çeviren fonksiyon.
def ses_dinle():
r = sr.Recognizer()
with sr.Microphone() as source:
print("Dinliyorum...")
r.adjust_for_ambient_noise(source) # Ortam sesine göre ayar yapar.
audio = r.listen(source)
try:
komut = r.recognize_google(audio, language="tr-TR") # Türkçe dilinde ses tanıma.
print(f"Siz: {komut}")
return komut.lower()
except sr.UnknownValueError:
print("Anlayamadım,l tekrar edin.")
return ""
except sr.RequestError:
print("Ses tanıma servisi çalışmıyor.")
return ""
# Wikipedia'da arama yapan fonksiyon.
def wiki_ara(konu):
import wikipedia.
wikipedia.set_lang("tr")
try:
sonuc = wikipedia.summary(konu, sentences=2) # Sadece ilk 2 cümleyi alır.
print(sonuc)
sesli_cevap(sonuc)
except wikipedia.exceptions.DisambiguationError:
sesli_cevap("Bu konu çok belirsiz, daha spesifik bir şey söyleyin.")
except wikipedia.exceptions.PageError:
sesli_cevap("Böyle bir sayfa bulunamadı.")
# Ana asistan döngüsü.
def asistan():
sesli_cevap("Merhaba, size nasıl yardımcı olabilirim?")
while True:
komut = ses_dinle()
if 'merhaba' in komut:
sesli_cevap("Merhaba! Size nasıl yardımcı olabilirim?")
elif 'wikipedia ara' in komut:
sesli_cevap("Hangi konuda bilgi arıyorsunuz?")
konu = ses_dinle()
if konu:
wiki_ara(konu)
elif 'çıkış' in komut or 'kapat' in komut:
sesli_cevap("Görüşmek üzere!")
break.
# Asistanı başlatıyoruz.
asistan()
Komutlar:
Wikipedia ara: İsmini verdiğiniz kişiyi Wikipedia'da araştırır ve bilgileri sesli sunar.
renk algılama komutu ekleyelim
2. kodumuz.
Yeni moduller.
Pip install OpenCV-Python numpy.
Kod:
İmport CV2.
İmport numpy as np.
İmport speech_recognition as sr.
From gtts import gtts.
İmport OS.
İmport playsound.
İmport Wikipedia.
# Sesli cevap fonksiyonu.
Def sesli_cevap(metin):
TTS = gtts(text = metin, lang='TR')
Dosya_adi = "cevap. MP3"
TTS. Save(dosya_adi)
Playsound. Playsound(dosya_adi)
OS. Remove(dosya_adi)
# Kullanıcının sesini dinleyen ve komutu metne çeviren fonksiyon.
Def ses_dinle():
R = sr.Recognizer()
With sr.Microphone() as source:
Print("dinliyorum...")
R. Adjust_for_ambient_noise(Source)
Audio = r. Listen(Source)
Try:
Komut = r. Recognize_google(Audio, language="TR-TR")
Print(F"siz: {komut}")
Return komut.lower()
Except sr. Unknownvalueerror:
Print("anlayamadım, tekrar edin.")
Return ""
Except sr. Requesterror:
Print("ses tanıma servisi çalışmıyor.")
Return ""
# Renk algılama fonksiyonu.
Def renk_algila():
Renkler = {
"Kırmızı": ([0, 100, 100], [10, 255, 255]),
"Yeşil": ([40, 100, 100], [80, 255, 255]),
"Mavi": ([100, 100, 100], [140, 255, 255]),
"Sarı": ([20, 100, 100], [30, 255, 255]),
"Beyaz": ([0, 0, 200], [180, 30, 255]),
"Siyah": ([0, 0, 0], [180, 255, 30]),
}
Cap = CV2.videocapture(0)
While true:
Ret, frame = cap.read()
İf not ret:
Print("kamera açılamadı.")
Break.
Hsv = CV2.cvtcolor(frame, CV2.color_bgr2hsv)
# Her renk için maske oluştur.
For renk, (alt_hudut, ust_hudut) in renkler.items():
Mask = CV2.inrange(hsv, np. Array(alt_hudut), np. Array(ust_hudut))
İf np. Sum(mask) > 0: # renk algılandıysa.
Sesli_cevap(F"{renk} rengi algılandı!")
CV2.imshow("renk algılama", frame)
CV2.waitkey(3000) # 3 saniye görüntüle.
Break # ilk bulunan rengi bulduktan sonra döngüden çık.
Else:
# Algılanan hiçbir renk yoksa.
Sesli_cevap("hiçbir renk algılanamadı.")
# 'Q' tuşuna basıldığında çık.
İf CV2.waitkey(1) & 0xFF == ord('Q'):
Break.
cap.release()
cv2.destroyAllWindows()
# Ana asistan döngüsü.
Def asistan():
Sesli_cevap("merhaba, size nasıl yardımcı olabilirim?")
While true:
Komut = ses_dinle()
İf 'renk algıla'in komut:
renk_algila()
Elif 'çıkış'in komut or 'kapat'in komut:
Sesli_cevap("görüşmek üzere!")
Break.
# Asistanı başlatıyoruz.
asistan()
Bu kodda sorunsuz çalıştı.
Bugünlük bu kadardı eğer konuyu beğenirseniz devam edeceğim
Görüşürüz.