AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

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 키는 보안에 유의하여 저장 및 관리해야 함