Skip to main content

스트리밍 STT

본 문서는 오디오 스트리밍 입력을 텍스트로 변환할 수 있는 스트리밍 STT API를 구현하는 방식에 대한 가이드를 제공합니다. 스트리밍 STT는 1) gRPC 와 2) WebSocket, 두 가지 방식을 지원하고 있으며, 구체적인 연동 방식은 스트리밍 STT - gRPC, 스트리밍 STT - WebSocket 에서 확인하실 수 있습니다. 스트리밍이 아닌 파일에서 텍스트 변환이 필요할 경우 일반 STT 가이드 문서를 통해 STT 기능을 사용할 수 있습니다.

지원 인코딩

스트리밍 STT API는 오디오 코덱 LINEAR16, WAV, FLAC, MULAW, ALAW, AMR, AMR_WB, OGG_OPUS, OPUS를 지원하고 있습니다.

caution
  • LINEAR16, MULAW, ALAW, AMR, AMR_WB는 raw data 형태로 전송해야 합니다.
  • OGG_OPUS는 OGG 컨테이너에서 OPUS 코덱으로 인코딩된 오디오 프레임 형태로 전송해야 합니다.
  • OPUS는 GPRC 방식만 지원하며, OPUS로 연동을 원하시는 경우 별도의 문의를 부탁드립니다.

공통 DecoderConfig/Parameter 정보

스트리밍 STT에서 gRPC 방식과 WebSocket 방식에서 사용되는 DecoderConfig 에 대한 상세 정보는 아래 표를 참고하실 수 있습니다.

이름Type (gRPC / WebSocket)설명필수 여부기본값
sample_rateint범위: 8000 ~ 48000, 단위: HzO-
encodingAudioEncoding / string인코딩 타입 (참고. 지원 인코딩)O-
model_namestring사용할 언어 모델 (한국어 - sommers_ko, 일본어 - sommers_ja, 다국어 - whisper)Xsommers_ko
domainstring사용할 도메인, 자세한 내용은 도메인 참고XCALL
use_itnbool영어/숫자/단위 변환 사용 여부 (참고: 영어/숫자/단위 변환)Xtrue
use_disfluency_filterbool간투어 필터기능 사용 여부 (참고: 간투어 필터)Xfalse
use_profanity_filterbool비속어 필터기능 사용 여부 (참고: 비속어 필터)Xfalse
use_punctuationbool구두점 사용 여부Xfalse
keywordsstring[] / string키워드 부스팅을 위한 값, 자세한 내용은 키워드 부스팅 참고X-
languagestringmodel_name이 whisper일 경우 적용 (참고: 지원되는 전체 언어 목록)Xko

키워드 부스팅 (Keywords Boosting)

키워드 부스팅은 스트리밍 STT API에서 특정 단어의 인식률을 높이거나 낮추는 기능입니다.

형식 및 사용법

키워드 부스팅에 사용할 단어와 그에 해당하는 스코어를 지정합니다.

  • gRPC 방식에서는 string[] 형태로 제공됩니다.
  • WebSocket 방식에서는 쉼표로 구분된 단일 string 형태로 제공됩니다.

개별 키워드는 다음과 같은 형식으로 제공해야 합니다:

  • "단어" - 스코어를 지정하지 않은 경우 (기본값 2.0 적용)
  • "단어:스코어" - 단어와 스코어를 콜론(:)으로 구분

키워드 부스팅 규칙

  • 단어: 인식률을 높이고 싶은 단어는 반드시 한글발음과 띄어쓰기로만 이루어져야 합니다.
  • 스코어:
    • 범위: -5.0부터 5.0까지의 실수 값
    • 양수 값: 해당 단어를 더 잘 인식하도록 함
    • 음수 값: 해당 단어를 덜 인식하도록 함
    • 0 값: 키워드 부스팅을 사용하지 않는 것과 동일

예시

// gRPC 방식
["부스팅", "리턴제로:3.5", "에스티티:-1"]

// WebSocket 방식
"부스팅,리턴제로:3.5,에스티티:-1"
caution
  • 스코어 값은 반드시 -5.0 이상 5.0 이하여야 합니다.
  • 단어는 한글 발음대로 적어야 합니다. (예: STT (X), 에스티티 (O))
  • 단어는 한글과 공백으로만 구성되어야 하며 음절이어야 합니다.
  • 각 단어의 길이는 20자 이하로 제한되며, 최대 100개까지 지원합니다.
  • 현재 스트리밍STT의 키워드 부스팅 기능은 sommers_ko 모델에서만 지원됩니다.

도메인 (Domain)

도메인은 사용자의 음성 입력 환경에 따라 STT 모델의 성능을 최적화하는 데 사용됩니다.

지원 도메인

  • CALL (기본값): 전화 통화나 마이크가 발화자의 입과 가까이 있는 환경에 최적화된 모델

    • 장점:
      • 마이크 가까이에서 발화자의 목소리만 선명하게 인식
      • 주변 잡음 및 타인의 음성 유입 최소화
      • 전화 통화, 개인용 헤드셋 및 근접 마이크 환경에 적합
  • MEETING: 회의실 등 마이크와 발화자 사이에 거리가 있는 환경에 최적화된 모델

    • 장점:
      • 다수의 발화자 음성을 명확하게 구분 및 처리
      • 회의실 및 공개적인 장소에서의 원거리 음성 인식에 최적화

도메인을 선택할 때는 실제 음성 입력 환경에 맞게 설정하는 것이 중요합니다.