15분만에 맥북에 실시간 STT 구축하기

나이트 개발자·2024년 10월 12일
0
post-thumbnail

최근, 서버에 실시간 STT(Speech-to-Text) 시스템을 구현하고 서비스 운영을 시작했다. AI 봇과 사람 간의 대화 경험을 더 자세히 점검하고 싶은 마음에 개인 맥북에도 실시간 STT 환경을 구축하기로 결심했다.

처음에는 M2를 지원하는 모델을 찾아 직접 코딩하려 했지만, 시간이 꽤 걸릴 것 같아 좀 더 간단한 방법을 찾아보았다. 여러 옵션을 살펴본 끝에 Whisper를 기반으로 한 실시간 STT 솔루션을 발견했고, 이를 사용하기로 했다.

우선 설치는 다음과 같이 해두자

git clone https://github.com/ufal/whisper_streaming.git
brea install sox

설치와 실행이 매우 간단해 보여 마음에 든다. 먼저 서버를 실행하는 명령어는 다음과 같다:

python3 whisper_online_server.py --language ko --min-chunk-size 1 --vad --buffer_trimming_sec 1 --model tiny

이 명령어로 한국어 인식을 위한 Whisper 서버를 실행할 수 있다. 작은 크기의 'tiny' 모델을 사용하고, 음성 활성화 감지(VAD)를 활성화하여 효율적인 처리가 가능해 보인다.

그 다음, 맥북의 마이크로 입력되는 오디오를 서버로 스트리밍하는 명령어는 이렇다:

sox -t coreaudio default -b 16 -e signed -c 1 -r 16000 -t raw - | nc localhost 43007

이 명령어를 통해 맥북의 기본 오디오 입력을 16kHz 샘플레이트의 16비트 signed PCM 형식으로 변환하고, 이를 로컬호스트의 43007 포트로 전송할 수 있다.

Voice UX 실험할 준비가 됐다. 앞으로 더 많은 리서치 결과를 기록해야할 것 같다.

profile
개발하면서 또는 프러덕 관리하면서 겪는 기억해둬야하는 내용을 메모장 삼아 남긴다. Google Keep이나 메모 도구에 남기는 것과는 달리 잘 정리할 수 있어서 언젠가 들춰봐야할 내용들을 담은 글들이 게시된다.

0개의 댓글