TL;DR
speech-core v0.0.14는 침묵이 감지되면 곧바로 사용자의 발화를 끝내던 음성 파이프라인에 Smart Turn v3.2 기반의 선택적 종료 게이트를 추가했습니다. VAD가 종료 후보를 만들면 모델이 최근 최대 8초의 16 kHz 오디오를 확인하고, 기본 임계값 0.5에 따라 발화를 끝내거나 계속 듣도록 결정합니다. 거부된 침묵 뒤에 말이 재개되면 같은 턴으로 유지되며, 2초 최대 침묵 제한은 분류기가 대화를 무한히 붙잡지 못하게 합니다. Core ML 내보내기는 1,000개 테스트 클립에서 upstream fp32 모델과 동일한 결정을 내렸고 두 모델 모두 92.9%를 기록했으며, int8 ONNX 내보내기는 93.0%를 기록했습니다. 또한 열린 턴의 부분 또는 완료 STT 결과가 LLM으로 넘어가지 않도록 eager STT와 flush·강제 분할·분류기 실패 동작까지 C++ 상태 머신에서 조정했습니다.
실용적 조언
- VAD만으로 발화 종료를 확정하는 음성 에이전트에서는 end-of-turn classifier를 후보 침묵 이후에만 실행하고, classifier가 거부한 동안 partial 또는 completed STT 결과를 LLM으로 전달하지 않도록 상태 전이를 함께 점검해야 합니다.
- 모델을 플랫폼별 형식으로 내보낼 때는 원본 모델과 동일한 입력 창·샘플레이트·판정 결과를 테스트 클립 단위로 비교하고, 긴 침묵에 대비한 최대 대기 시간과 classifier 실패 시 동작을 명시적으로 고정하는 편이 안전합니다.
섹션별 상세
용어 해설
- 음성 활동 감지(VAD)
- — VAD는 오디오 신호에서 사람이 말하는 구간과 침묵 구간을 구분하는 기술입니다. 이 글에서는 침묵이 충분히 길어졌는지 판단해 발화 종료 후보를 만드는 첫 단계로 사용됩니다.
- 발화 종료 감지(End-of-Turn Detection)
- — 발화 종료 감지는 사용자의 말이 실제로 끝났는지 판정하는 과정입니다. 단순한 침묵 길이만 보지 않고 최근 음성 맥락을 함께 판단하면, 사용자가 생각하며 잠시 멈춘 경우 대화를 성급하게 끝내는 문제를 줄일 수 있습니다.
- Core ML
- — Core ML은 Apple 기기에서 머신러닝 모델을 실행하기 위한 프레임워크입니다. 이 글에서는 Smart Turn 모델을 17 MB 형식으로 내보내 Apple Silicon에서 창당 약 3.5 ms로 실행하는 데 사용됩니다.
- ONNX
- — ONNX는 서로 다른 머신러닝 실행 환경에서 모델을 교환하고 실행하기 위한 형식입니다. speech-core와 speech-android는 Smart Turn 모델을 fp32 또는 int8 ONNX로 내보내 CPU 중심 추론에 활용합니다.
언급된 도구
최근 최대 8초의 16 kHz 오디오를 바탕으로 후보 침묵이 실제 발화 종료인지 판정하는 end-of-turn classifier
Apple Silicon에서 실행할 Smart Turn 모델 형식으로 사용되며 17 MB 모델이 창당 약 3.5 ms로 동작
speech-core와 speech-android에서 fp32 및 int8 Smart Turn 모델을 실행하는 교환 형식
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.