목록 보기
시스템 오디오를 실시간 음성인식 API로 자막 요청하기 (for MacOS with Swift)
AI

시스템 오디오를 실시간 음성인식 API로 자막 요청하기 (for MacOS with Swift)

리턴제로
리턴제로
2024년 9월 25일

두줄요약

Swift와 ScreenCaptureKit으로 macOS 시스템 오디오를 캡처해 gRPC 스트리밍 STT API로 전송했습니다. PCM 변환, OAuth 토큰 관리, 실시간 자막 출력과 권한·연결 관리 방법을 안내합니다.

구조와 흐름

  • ScreenCaptureKit으로 macOS 시스템 오디오 캡처
  • 32비트 float PCM을 linear16 형식으로 변환
  • gRPC 스트리밍 STT 요청과 응답 기반 실시간 자막 출력

해결 방법

  • SwiftPM 프로젝트에 grpc-swift와 ScreenCaptureKit 연동
  • proto 컴파일로 Swift gRPC 클라이언트 코드 생성
  • OAuth2 access token 발급 후 DecoderConfig와 오디오 청크 전송

주의할 점

  • macOS 13.0 이상 권장 및 화면·시스템 오디오 녹음 권한 필요
  • CLIENT SECRET의 env 파일 분리와 Git 업로드 제외
  • 장시간 무음 시 gRPC 연결 종료 및 잦은 재연결에 따른 전사 문장 분할 가능성

적용해볼 점

  • isFinal 값에 따른 임시 자막 덮어쓰기와 확정 문장 줄바꿈
  • 음성 미전송 환경에서 적절한 주기의 gRPC 재연결 전략

다음 읽기

#gRPC 주제를 이어서 읽기

실시간 음성인식 API 사용하기(With Python) - 1

Python에서 gRPC 스트리밍 STT API를 설정하고 로컬 음성 파일을 청크 단위로 전송하는 방법을 설명했습니다. 프로토콜 컴파일, 토큰 갱신, 응답의 중간·최종 결과 처리 흐름을 다뤘습니다.

리턴제로
리턴제로
AI

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...