Skip to content
Snippets Groups Projects
Commit 03ac5cb5 authored by Jun Seo Hong's avatar Jun Seo Hong
Browse files

add code

parent f08efac0
No related branches found
No related tags found
No related merge requests found
import pyttsx3
import speech_recognition as sr
import openai
import threading
import time
openai.api_key = "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"
# engine = pyttsx3.init()
# voices = engine.getProperty('voices')
# engine.setProperty('voice', voices[14].id)
# engine.setProperty('rate', 175)
recognizer = sr.Recognizer()
mic = sr.Microphone()
user_name = "moongmoong"
gpt_name = "FOSS bot"
def listen(engine):
with mic as source:
print("Listening...")
audio = recognizer.listen(source)
try:
print("Recognizing...")
text = recognizer.recognize_google(audio)
print(user_name + text)
return text
except sr.UnknownValueError:
speak(engine, "Sorry, I couldn't understand.")
print("speak return")
return ""
except sr.RequestError:
speak(engine, "Sorry, I couldn't reach the speech recognition service.")
return ""
def generate_response(prompt):
response = openai.Completion.create(
engine="text-davinci-003",
prompt=prompt,
max_tokens=50,
temperature=0.7,
n=1,
stop=None,
frequency_penalty=0.0,
presence_penalty=0.0
)
return response.choices[0].text.strip()
def speak(engine, text):
engine.say(text)
engine.runAndWait()
def main(engine):
user_input = listen(engine)
if user_input:
prompt = user_name + ": " + user_input + "\n" + gpt_name + ": "
response = generate_response(prompt)
print(gpt_name + response)
speak(engine, response)
else:
speak(engine, "I'm Sorry. Please say again.")
while True:
engine = pyttsx3.init()
engine._inLoop = False
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[14].id)
engine.setProperty('rate', 175)
t = threading.Thread(target=main, args=(engine,))
t.start()
t.join()
time.sleep(3)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment