You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
import speech_recognition as sr # recognise speech
import playsound # to play an audio file
from gtts import gTTS # google text to speech
import random
from time import ctime # get time details
import webbrowser # open browser
import yfinance as yf # to fetch financial data
import ssl
import certifi
import time
import os # to remove created audio files
class person:
name = ''
def setName(self, name):
self.name = name
def to listening 1
def there_exists(terms):
for term in terms:
if term in voice_data:
return True
def to listening 2
r = sr.Recognizer() # initialise a recogniser
listen for audio and convert it to text:
def record_audio(ask=False):
with sr.Microphone() as source: # microphone as source
if ask:
speak(ask)
audio = r.listen(source) # listen for the audio via source
voice_data = ''
try:
voice_data = r.recognize_google(audio) # convert audio to text
except sr.UnknownValueError: # error: recognizer does not understand
speak('Can you repeat')
except sr.RequestError:
speak('Sorry, the service is down') # error: recognizer is not connected
print(f">> {voice_data.lower()}") # print what user said
return voice_data.lower()
get string and make a audio file to be played and choose the lang
def speak(audio_string):
tts = gTTS(text=audio_string, lang='en') # text to speech(voice)
r = random.randint(1,20000000)
audio_file = 'audio' + str(r) + '.mp3'
tts.save(audio_file) # save as mp3
playsound.playsound(audio_file) # play the audio file
print(f"kiri: {audio_string}") # print what app said
os.remove(audio_file) # remove audio file
wake = ["welcome", "hey sara"]
respond for listening 1
def respond(voice_data):
# 1: greeting
if there_exists(['hey','hi','hello']):
greetings = [f"hey, how can I help you {person_obj.name}", f"hey, what's up? {person_obj.name}", f"I'm listening {person_obj.name}", f"how can I help you? {person_obj.name}", f"hello {person_obj.name}"]
greet = greetings[random.randint(0,len(greetings)-1)]
speak(greet)
# 2: name
if there_exists(["what is your name","what's your name","tell me your name"]):
if person_obj.name:
speak("my name is sara")
else:
speak("my name is sara. what's your name?")
if there_exists(["my name is"]):
person_name = voice_data.split("is")[-1].strip()
speak(f"okay, i will remember that {person_name}")
person_obj.setName(person_name) # remember name in person object
# 3: greeting
if there_exists(["how are you","how are you doing"]):
speak(f"I'm very well, thanks for asking {person_obj.name}")
# 4: time
if there_exists(["what's the time","tell me the time","what time is it"]):
time = ctime().split(" ")[3].split(":")[0:2]
if time[0] == "00":
hours = '12'
else:
hours = time[0]
minutes = time[1]
time = f'{hours} {minutes}'
speak(time)
# 5: search google
if there_exists(["search for"]) and 'youtube' not in voice_data:
search_term = voice_data.split("for")[-1]
url = f"https://google.com/search?q={search_term}"
webbrowser.get().open(url)
speak(f'Here is what I found for {search_term} on google')
# 6: search youtube
if there_exists(["youtube"]):
search_term = voice_data.split("for")[-1]
url = f"https://www.youtube.com/results?search_query={search_term}"
webbrowser.get().open(url)
speak(f'Here is what I found for {search_term} on youtube')
# 7: get stock price
if there_exists(["price of"]):
search_term = voice_data.lower().split(" of ")[-1].strip() #strip removes whitespace after/before a term in string
stocks = {
"apple":"AAPL",
"microsoft":"MSFT",
"facebook":"FB",
"tesla":"TSLA",
"bitcoin":"BTC-USD"
}
try:
stock = stocks[search_term]
stock = yf.Ticker(stock)
price = stock.info["regularMarketPrice"]
speak(f'price of {search_term} is {price} {stock.info["currency"]} {person_obj.name}')
except:
speak('oops, something went wrong')
# 8: to stop
if there_exists(["exit", "quit", "goodbye"]):
speak("going offline")
exit()
# 9: thank you responed
if there_exists(["thank you","thanks","you are the best"]):
speak(" welcome sir ")
time.sleep(0.5)
person_obj = person()
while(1):
voice_data = record_audio() # get the voice input
respond(voice_data) # respond
sorry I am new in githup
The text was updated successfully, but these errors were encountered:
How can I put the wake word I tried many time
The code:
import libers
import speech_recognition as sr # recognise speech
import playsound # to play an audio file
from gtts import gTTS # google text to speech
import random
from time import ctime # get time details
import webbrowser # open browser
import yfinance as yf # to fetch financial data
import ssl
import certifi
import time
import os # to remove created audio files
class person:
name = ''
def setName(self, name):
self.name = name
def to listening 1
def there_exists(terms):
for term in terms:
if term in voice_data:
return True
def to listening 2
r = sr.Recognizer() # initialise a recogniser
listen for audio and convert it to text:
def record_audio(ask=False):
with sr.Microphone() as source: # microphone as source
if ask:
speak(ask)
audio = r.listen(source) # listen for the audio via source
voice_data = ''
try:
voice_data = r.recognize_google(audio) # convert audio to text
except sr.UnknownValueError: # error: recognizer does not understand
speak('Can you repeat')
except sr.RequestError:
speak('Sorry, the service is down') # error: recognizer is not connected
print(f">> {voice_data.lower()}") # print what user said
return voice_data.lower()
get string and make a audio file to be played and choose the lang
def speak(audio_string):
tts = gTTS(text=audio_string, lang='en') # text to speech(voice)
r = random.randint(1,20000000)
audio_file = 'audio' + str(r) + '.mp3'
tts.save(audio_file) # save as mp3
playsound.playsound(audio_file) # play the audio file
print(f"kiri: {audio_string}") # print what app said
os.remove(audio_file) # remove audio file
wake = ["welcome", "hey sara"]
respond for listening 1
def respond(voice_data):
time.sleep(0.5)
person_obj = person()
while(1):
voice_data = record_audio() # get the voice input
respond(voice_data) # respond
sorry I am new in githup
The text was updated successfully, but these errors were encountered: