사용자의 실시간 음성 입력을 받아,
ChatGPT(GPT-4o)를 통해 답변을 생성하고,
선택한 말투로 음성으로 응답하는 대화형 챗봇 시스템입니다.
마이크로 직접 말하면, GPT가 듣고, 말투에 맞춰 말해줍니다.
- 브라우저에서 녹음 버튼 클릭
- 사용자가 마이크로 질문
- 녹음이 끝나면 음성(webm)이 서버로 전송됨
- 서버는 아래 순서로 처리:
- 🎙️ Whisper API → 텍스트 변환
- 🧠 GPT-4o API → 텍스트 응답 생성
- 🔊 TTS API → 선택한 말투로 음성 생성
- 생성된 음성(wav)을 브라우저에서 자동 재생
| 단계 | API | 설명 |
|---|---|---|
| STT | OpenAI Whisper API |
음성(webm) → 텍스트 변환 |
| GPT | OpenAI Chat API (gpt-4o) |
텍스트 → 응답 생성 |
| TTS | OpenAI TTS API (tts-1) |
응답 텍스트 → 말투 기반 음성 생성 |
MediaRecorder API: 실시간 마이크 녹음
/api/sttPOST 엔드포인트WhisperService: 음성 → 텍스트GptService: 텍스트 → GPT 응답TtsService: 텍스트 → 음성 생성VoiceChatController: 전체 처리 흐름 통합
- API 키는
.env파일에 저장 dotenv-java라이브러리로 키 불러옴.gitignore에.env포함 → GitHub 노출 방지
# .env
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxx

