728x90
반응형
SMALL

1. https://chat.openai.com/ 접속

2. Sign up 클릭

3. Email address 에 자신이 가입하고자 하는 메일 주소 입력(4.1에 설명) 또는 아래에 원하는 Continue with Google, Continue with Microsoft Account, Continue with Apple 중 선택(4.2에 설명)

 

4.1 만약 Email address 에 직접 email을 입력하면 패스워드 설정화면으로 이동됨

4.2 구글, MS, 애플 계정 선택시 각 계정의 로그인 화면으로 넘어감. 원하는 계정 선택

5. 로그인 후 아래에 Send a message에 원하는 질문을 입력

728x90
반응형
LIST
728x90
반응형
SMALL
import speech_recognition as sr
import pyttsx3
import openai

openai.api_key = "openai key"

# Initialize the recognizer
r = sr.Recognizer()

# Initialize the voice engine
voice_engine = pyttsx3.init()

#스피치 목소리 타입 0: K, 1: female, 2: male
voices = voice_engine.getProperty('voices') 
voice_engine.setProperty('voice', voices[0].id)
voice_engine.setProperty('rate', 170)
		

# Function to convert text to speech
def SpeakText(user_text,command):
	
	#음성 파일 저장
	voice_engine.save_to_file(command, '/answer.mp3')

	#TTS 실행
	voice_engine.say(command)

	voice_engine.runAndWait()
	
	

def main():

	# 무한 
	with sr.Microphone() as source:
		r.adjust_for_ambient_noise(source, duration=0.2)

		while True:
	
			try:
				print('listen...')

				#listens for the user's input
				user_audio = r.listen(source)
				
				# Using google to recognize audio
				user_text = r.recognize_google(user_audio)
				user_text = user_text.lower()

				print("Did you say: ",user_text)
			
				completion = openai.ChatCompletion.create(
					model="gpt-3.5-turbo",
					messages=[
					{"role": "user", "content": user_text}
					]
				)

				#chatgpt 결과 출력
				print(completion.choices[0].message.content)

				SpeakText(user_text,completion.choices[0].message.content)

			
			except sr.RequestError as e:
				print("Could not request results; {0}".format(e))
		
			except sr.UnknownValueError:
				print("unknown error occurred")

if __name__ == "__main__":
    main()
728x90
반응형
LIST

+ Recent posts