Voice input, AI answers in voice
unknown
plain_text
a year ago
1.7 kB
20
Indexable
import speech_recognition as sr
import openai
import pyttsx3
import pyaudio
# Initialize the speech recognition
recognizer = sr.Recognizer()
# Initialize the text-to-speech engine
engine = pyttsx3.init()
# OpenAI API key (make sure to replace 'your-api-key' with your actual OpenAI API key)
openai.api_key = "sk-proj-UqE7VqIAdhwtxC9R4Sc9T3BlbkFJHeaKoV88KA3J4YAkv0ZH"
def get_speech_input():
with sr.Microphone() as source:
print("Speak now...")
recognizer.adjust_for_ambient_noise(source)
audio = recognizer.listen(source)
try:
text = recognizer.recognize_google(audio)
print(f"You said: {text}")
return text
except sr.UnknownValueError:
print("Sorry, I did not understand that.")
return None
except sr.RequestError:
print("Could not request results; check your network connection.")
return None
def get_chatgpt_response(prompt):
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": prompt}
],
max_tokens=150
)
response_text = response.choices[0].message['content'].strip()
print(f"ChatGPT says: {response_text}")
return response_text
def speak_text(text):
engine.say(text)
engine.runAndWait()
def rap_battle():
while True:
# Get user input via speech
user_input = get_speech_input()
if user_input:
# Get response from ChatGPT
chatgpt_response = get_chatgpt_response(user_input)
# Speak the response
speak_text(chatgpt_response)
if __name__ == "__main__":
rap_battle()
Editor is loading...
Leave a Comment