Not: Bazı şirketler telefonla arayan müşterilere otomatik olarak ne istediklerini sorup ona göre yönlendiriyorlar. Aslında bir kaç saatlik basit bir iş. İnternetteki bilgileri kullanarak kolayca yaptım bunu.
# -*-
coding: utf-8 -*-
"""
Created on
Fri Jan 19 15:43:41 2024
pip install
speechRecognition
pip install
gTTS
pip install
pyaudio
@author: ars
"""
import
speech_recognition as sr
from gtts
import gTTS
import os
import
datetime
import numpy
as np
import time
# Beginning
of the AI
class
ChatBot():
def __init__(self, name):
print("----- starting up",
name, "-----")
self.name = name
self.text = "" # Initialize text attribute
def speech_to_text(self):
recognizer = sr.Recognizer()
with sr.Microphone() as mic:
print("dinliyorum...")
audio = recognizer.listen(mic)
try:
self.text =
recognizer.recognize_google(audio, language="tr-TR")
print("me --> ",
self.text)
if "dur" in
self.text.lower(): return False
except:
print("me --> ERROR")
def wake_up(self, text):
return True if self.name in
text.lower() else False
@staticmethod
def text_to_speech(text):
print("AI --> ", text)
speaker = gTTS(text=text,
lang="tr", slow=False)
speaker.save("res.mp3")
mp3_path = os.path.join(os.getcwd(),
"res.mp3")
print(mp3_path)
statbuf = os.stat("res.mp3")
mbytes = statbuf.st_size / 1024
duration = mbytes / 200
os.system("start
res.mp3") #if you have a
macbook->afplay or for windows use->start
#os.remove("res.mp3")
time.sleep(int(50*duration))
os.remove("res.mp3")
@staticmethod
def action_time():
return
datetime.datetime.now().time().strftime('%H:%M')
#and run the script after adding the above
function to the AI class
# Execute
the AI
if __name__
== "__main__":
ai = ChatBot(name="başla")
# Execute
the AI
if __name__
== "__main__":
ai = ChatBot(name="başla")
while True:
if ai.speech_to_text() == False:
break
# Default response
res = "Anlayamadım. Tekrarlar
mısınız?"
## wake up
if ai.wake_up(ai.text) is True:
res = "Merhaba ben suni zeka,
sizin için ne yapabilirim?"
ai.text = "xxx"
## do any action
elif "saat" in ai.text:
res = ai.action_time()
## respond politely
elif any(i in ai.text for i in
["teşekkür","sağolun"]):
res = np.random.choice(
["estağfurullah!","her zaman!",
"sorun
değil!","güzel!",
"İhtiyacınız olursa ben
buradayım!","önemli değil!"])
ai.text_to_speech(res)