1분 안에 AI 음성 어시스턴트를 구축하는 방법 (터미널 기반)
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
인공지능, 개발 툴
대상자
AI 및 CLI 도구에 관심 있는 개발자, 초보자에게 유용 (기초 스크립팅 및 API 사용 경험 필요)
핵심 요약
- OpenAI의 Whisper, GPT-3.5, TTS 모델을 활용하여 음성 인식 → 텍스트 처리 → 음성 합성 흐름 구현
assist.sh
스크립트로 터미널에서 3초 음성 녹음 및 AI 처리 가능- SoX, curl, jq 도구를 사용한 실시간 음성-텍스트-음성 변환 구현
섹션별 세부 요약
1. 음성 녹음 및 처리
sox
명령어로 3초 동안 음성을test.wav
파일로 녹음-d
옵션: 입력 장치 사용,-q
: 출력 억제,trim 0 3
: 3초 기록export OPENAI_API_KEY=sk-...
명령어로 OpenAI API 키 설정
2. 음성-텍스트 변환 (Whisper)
curl
명령어로 OpenAI Whisper API 호출multipart/form-data
형식으로test.wav
파일 전송jq -r .text
으로 음성 인식 결과 추출 (변수TRANSCRIPTION
에 저장)
3. 텍스트 처리 (GPT-3.5)
curl
로 GPT-3.5 API 호출, 시스템 메시지로 "간결한 응답" 지시- 사용자 입력 텍스트(
$TRANSCRIPTION
)를messages
배열에 전달 - 응답 결과(
$REPLY
)를jq -r .choices[0].message.content
로 추출
4. 텍스트-음성 변환 (TTS)
- TTS API 호출 시
fable
음성,pcm
포맷,24000Hz
샘플링 주파수 사용 sox
로 PCM 데이터를 터미널로 스트리밍 (-t raw
옵션 활용)
5. 스크립트 통합 및 실행
assist.sh
스크립트로 모든 과정 자동화chmod +x ./assist.sh
명령어로 실행 권한 부여 후./assist.sh
실행echo
명령어로 각 단계의 진행 상태 출력
결론
assist.sh
스크립트를 통해 터미널에서 즉시 사용 가능하며, Express 서버 통합으로 확장 가능- OpenAI API 대신 Open-Whisper, Piper 등의 오픈소스 대체 도구 사용 가능
- 사용자 정의 음성, 무한 대화 모드, 핫키 감지 등 추가 기능 구현 가능