
RTZR FINALIZE로 스트리밍 STT 결과 더 빨리 받기
두줄요약
RTZR 스트리밍 STT에서 FINALIZE로 서버의 발화 종료 대기를 줄이는 방법을 소개했습니다. 실험에서 final transcript 수신 시간이 중앙값 기준 636.37ms 단축됐습니다.
구조와 흐름
- 클라이언트의 발화 종료 판단 뒤 같은 스트림에 FINALIZE 요청을 전송하고 final transcript 수신
- FINALIZE는 현재 발화만 확정하며 연결 유지, EOS·gRPC half-close는 전체 오디오 입력 종료
- gRPC의
DECODER_CMD_FINALIZE와 WebSocket의{"type":"Finalize"}제어 메시지
선택 이유
- 서버 end-point detection 대기 없이 현재까지 입력된 음성 인식 마무리 요청
- VAD·turn detector로 발화 끝을 선행 판단하는 Callbot·Voice Agent 환경
- LiveKit Agents와 TEN Framework의 턴 종료 신호 연동
성능/운영 포인트
epd_time=0.5조건의 50개 발화 실험에서 P50 수신 시간 702.14ms→24.24ms- 모든 발화에서 FINALIZE 조건 우세, 중앙 단축 시간 636.37ms
- 실제 서비스 지연에는 VAD 판단 시간과 발화 끝 감지 오차 포함
주의할 점
- 짧은
epd_time은 응답 지연 감소 대신 문장 중간 쉼의 발화 종료 오판 가능성 - 빈 발화 또는 오디오 없는 연속 FINALIZE 요청에서 새 결과 미생성
- 전사 라벨 EndTime 기반 실험 결과와 실제 음성 에이전트 지연의 구분

