1분 내에 Mac 터미널에서 AI 음성 어시스턴트 구축 방법
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
인공지능
대상자
- 개발자 및 시스템 관리자: OpenAI API를 활용한 빠른 음성 어시스턴트 구축에 관심 있는 초보자~중급자
- 난이도: 초보자 친화적 (터미널 명령어 및 스크립트 사용)
핵심 요약
- 핵심 모델 사용:
Whisper
(음성→텍스트),GPT-3.5-turbo
(텍스트 처리),TTS-1
(텍스트→음성) - API 키 설정 필수:
export OPENAI_API_KEY=sk-...
- 단일 스크립트로 처리:
assist.sh
파일로 명령어 통합 가능 (녹음 → 인식 → 처리 → 음성 출력)
섹션별 세부 요약
1. 환경 설정 및 기초 명령어
- 소프트웨어 설치 요구:
sox
(음성 처리 도구),jq
(JSON 파싱),curl
(API 요청) - 녹음 명령어 예시:
```bash
sox -d -q test.wav trim 0 3
```
- -d
: 입력 장치 사용
- trim 0 3
: 3초 동안 녹음 후 test.wav
파일 저장
2. Whisper 모델을 통한 음성 인식
- API 요청 예시:
```bash
TRANSCRIPTION=$(curl -s -X POST \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-F file=@test.wav \
-F model=whisper-1 | jq -r .text)
```
- whisper-1
모델 사용
- 음성 파일을 텍스트로 변환 후 TRANSCRIPTION
변수에 저장
3. GPT-3.5-turbo를 통한 텍스트 처리
- LLM 처리 예시:
```bash
REPLY=$(curl -s -X POST \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{"model": "gpt-3.5-turbo", "messages": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "$TRANSCRIPTION"}]}' | jq -r .choices[0].message.content)
```
- 사용자 입력 텍스트를 AI가 처리한 결과를 REPLY
변수에 저장
4. TTS-1 모델을 통한 음성 출력
- 음성 생성 예시:
```bash
curl -s -X POST \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{"model": "tts-1", "input": "$REPLY", "voice": "fable", "response_format": "pcm", "sample_rate": 24000}' | sox -t raw -b16 -e signed-integer -r24000 -c1 -L - -d
```
- fable
보이스 사용
- PCM 포맷으로 음성 출력 (24kHz 샘플링)
5. 스크립트 통합 및 실행
- assist.sh 파일 예시:
```bash
#!/bin/bash
echo "🎙️ Recording 3 second clip..."
sox -d -q test.wav trim 0 3
# ... (이전 단계 명령어 통합)
```
- chmod +x assist.sh
로 실행 권한 부여 후 ./assist.sh
로 실행
결론
- 핵심 팁:
assist.sh
스크립트를 활용하면 1분 내에 음성 어시스턴트 구현 가능 - 확장 가능:
silence
감지, 루프 실행,Express
서버 통합 등 추가 기능 적용 가능 - 주의사항: OpenAI API 키는 보안에 유의하여 저장 및 관리해야 함