ChatGPT와 음성인식 연결 python
Study/Coding_Python2023. 3. 16. 14:27
728x90
반응형
ChatGPT의 4.0 버전이 출시되고 다시한번 놀라게 된다.
오늘은 ChatGPT와 음성인식을 연결해보았는데 소스 몇십줄로 간단한 구현이 되는 걸 보고 정말 깜짝 놀랐다.
Interface까지 만들어달라했는데 기본적인 인터페이스는 만들어 주나보다..
정말 지난 뉴스에서 기자님이 게임을 만들었다고 들었는데 그게 사실일 수도 있겠다....
소스를 공유해본다.
import tkinter as tk
import speech_recognition as sr
import openai
from gtts import gTTS
import os
from playsound import playsound
openai.api_key = "자신의 ChatGPT api Key를 입력해야 해요. "
def send_message():
user_message = user_input.get()
response = openai.Completion.create(
engine="text-davinci-002",
prompt=user_message,
temperature=0.5,
max_tokens=60
)
bot_message = response.choices[0].text
bot_response.config(text=bot_message)
tts = gTTS(text=bot_message, lang='ko')
tts.save("output.mp3")
playsound("output.mp3")
os.remove("output.mp3")
def voice_input():
r = sr.Recognizer()
with sr.Microphone() as source:
user_voice_input.config(text="Listening...")
audio = r.listen(source)
try:
text = r.recognize_google(audio, language='ko-KR')
user_input.delete(0, tk.END)
user_input.insert(0, text)
send_message()
user_voice_input.config(text="")
except sr.UnknownValueError:
user_voice_input.config(text="Google Speech Recognition could not understand audio")
except sr.RequestError as e:
user_voice_input.config(text="Could not request results from Google Speech Recognition service; {0}".format(e))
root = tk.Tk()
root.geometry("400x400")
root.title("ChatGPT Voice Chatbot")
# User input
user_input = tk.Entry(root, width=50)
user_input.pack(pady=20)
# Send button
send_button = tk.Button(root, text="Send", command=send_message)
send_button.pack()
# Bot response
bot_response = tk.Label(root, text="")
bot_response.pack(pady=20)
# Voice input button
voice_input_button = tk.Button(root, text="Voice Input", command=voice_input)
voice_input_button.pack()
# Voice input status
user_voice_input = tk.Label(root, text="")
user_voice_input.pack(pady=20)
root.mainloop()
이걸 업그레이드 하면 대화할 수 있는 심심이 같은 프로그램을 만들 수 있지 않을까 싶은데?
위에 소스 만드는데 10초 걸린거 같아요.. ㅠㅠ
728x90
반응형
'Study > Coding_Python' 카테고리의 다른 글
AttributeError: module 'tensorflow' has no attribute 'variable' (1) | 2019.09.04 |
---|---|
please first open a folder in order to do advanced debug configuration - VScode (0) | 2019.08.28 |
Python 개발시작 2일차 (0) | 2019.06.20 |
Python 개발 공부 1일차 (0) | 2019.06.19 |
개발을 처음 시작하려고 합니다. (0) | 2019.06.18 |
댓글()