반응형
✅ 들어가며
"OK ChatGPT, 오늘 날씨 알려줘!"
이런 식으로 음성을 텍스트로 바꾸고, GPT가 답을 해주는 시스템.
이걸 파이썬 + 음성 인식 + GPT로 직접 만들 수 있어!
🎯 목표
- 마이크로 사용자의 음성 입력 받기
- SpeechRecognition으로 텍스트 변환
- ChatGPT로 대답 받기
- TTS로 다시 음성으로 말해주기 (선택)
🔧 사전 준비
📦 필요한 라이브러리 설치
pip install speechrecognition pyaudio openai gtts playsound python-dotenv
⚠️ pyaudio는 설치가 까다로울 수 있어서 OS별 가이드를 따르자
🛠️ 핵심 코드
1. 음성 인식 → GPT 응답 → 음성 출력
import speech_recognition as sr
import openai
import os
from gtts import gTTS
from playsound import playsound
from dotenv import load_dotenv
load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")
def recognize_speech():
recognizer = sr.Recognizer()
mic = sr.Microphone()
with mic as source:
print("🎤 말하세요...")
recognizer.adjust_for_ambient_noise(source)
audio = recognizer.listen(source)
try:
text = recognizer.recognize_google(audio, language="ko-KR")
print(f"🗣️ 인식된 말: {text}")
return text
except sr.UnknownValueError:
return "음성을 인식하지 못했어요."
except sr.RequestError:
return "음성 인식 서비스 오류입니다."
def ask_gpt(text):
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": text}],
max_tokens=100
)
answer = response["choices"][0]["message"]["content"]
print(f"🤖 GPT 응답: {answer}")
return answer
def speak(text):
tts = gTTS(text=text, lang="ko")
filename = "response.mp3"
tts.save(filename)
playsound(filename)
os.remove(filename) # 응답 후 파일 삭제
# 실행
if __name__ == "__main__":
question = recognize_speech()
if question:
reply = ask_gpt(question)
speak(reply)
🎙️ 데모 흐름
- 사용자가 마이크에 말함: “GPT야, 오늘 날씨 어때?”
- 텍스트로 변환됨
- GPT가 응답: “오늘 서울의 날씨는 맑고 기온은 18도입니다.”
- gTTS가 응답을 음성으로 변환
- 컴퓨터가 소리로 응답함
💼 응용 예시
분야활용
AI 비서 | “이메일 요약해줘”, “내일 일정 알려줘” |
블로그 도우미 | 블로거가 말로 콘텐츠 생성 |
교육 앱 | 학생 질문 → AI가 말로 설명 |
노인/어린이 대상 인터페이스 | 글 입력 없이 말로 소통 |
📌 꿀팁
- recognizer.adjust_for_ambient_noise()는 주변 소음 보정용
- gTTS는 한국어도 지원 잘 돼
- TTS 속도/발음 제어하고 싶으면 pyttsx3, ElevenLabs도 고려 가능
- GUI로 만들려면 PyQt5 or Tkinter로 연결 가능
🏁 마무리
이제 너는
GPT에게 직접 말하고, GPT가 말로 답해주는 시스템도 만들 수 있어!
실생활에 진짜 유용하고, 앱화해서 판매도 가능할 정도야.
📚 다음 강의 예고
👉 15강 예고:
ChatGPT + 자동 이메일 작성기 만들기
이메일 제목, 내용 요약, 회신 생성까지 완전 자동화하는 시스템 다뤄볼 거야!
728x90
반응형
'📌 1. 개발 & 프로그래밍 > ChatGPT & 자동화 활용' 카테고리의 다른 글
📘 16강: ChatGPT + Notion 자동 연동하기(GPT가 만든 글을 Notion 페이지로 자동 전송하기) (0) | 2025.04.28 |
---|---|
📘 15강: ChatGPT + 자동 이메일 작성기 만들기(Flask + GPT로 비즈니스 이메일 자동화) (1) | 2025.04.26 |
📘 13강: ChatGPT + 웹 크롤링 자동화 실시간 뉴스 요약 & 트렌드 수집 시스템 만들기 (BeautifulSoup + GPT) (2) | 2025.04.26 |
📘 12강: ChatGPT + 이미지 자동 생성 자동화(PIL + GPT로 텍스트에서 이미지 만들기) (1) | 2025.04.26 |
📘 11강: GPT + Excel 자동화 – 엑셀 파일 요약, 분석, 변환하기 (0) | 2025.04.26 |