Smart-turn
오픈소스 오디오 턴 감지 모델
Features
- 턴 감지는 음성 AI 스택에서 가장 중요한 기능 중 하나로, 사람이 말할 때 음성 에이전트가 응답해야 할 타이밍을 결정하는 기술
- 대부분의 음성 에이전트는 VAD(Voice Activity Detection) 기반으로 오디오를 음성 및 비음성 세그먼트로 구분하여 음향적, 언어적 의미는 반영되지 않음
- 인간은 문법, 억양, 말의 속도 등 복잡한 신호를 통해 턴 감지를 수행함
- 목표: VAD 기반 접근 방식보다 인간의 기대치에 더 가까운 모델 구축
- BSD 2-clause 라이선스 → 누구나 사용, 포크, 기여 가능
- 프로젝트는 Pipecat 생태계에서 시작됨
- Pipecat: 오픈 소스, 공급업체 독립형 음성 및 멀티모달 AI 프레임워크
- 고수준 목표
- 누구나 쉽게 사용 가능
- 프로덕션에서 쉽게 배포 가능
- 특정 애플리케이션에 맞춰 손쉽게 파인튜닝 가능
- 현재 모델 한계
- 영어만 지원
- 상대적으로 느린 추론 속도: GPU에서 약 150ms, CPU에서 약 1500ms
- 훈련 데이터는 주로 세그먼트 끝에서 발생하는 완성되지 않은 말(filler words) 중심
- 중기 목표
- 다양한 언어 지원
- 추론 시간: GPU에서 50ms 이하, CPU에서 500ms 이하
- 더 폭넓은 음성 뉘앙스 훈련 데이터 반영
- 완전 합성 데이터 생성 파이프라인 구축
- 텍스트 기반 컨디셔닝 지원 (예: 신용카드, 전화번호, 주소 입력 등)
- Meta AI의 Wav2Vec2-BERT 백본 기반 (매개변수 수: 580M)
- 143개 언어, 450만 시간의 비지도 학습 오디오 데이터 사용
- 현재 모델 구조:
- Wav2Vec2-BERT → 2-레이어 분류기(classification head)
- Hugging Face의 Wav2Vec2BertForSequenceClassification 사용
- 실험 진행 중인 아키텍처:
- 단순한 분류기가 데이터 세트 확장 시에도 효과적일지 테스트 중
- 보다 복잡한 구조 도입 가능성 검토 중
Hacker News 의견
- Show HN: Open-source, native audio turn detection model | Hacker News
- pipecat을 사용해 본 적이 있고 좋았음. 하지만 네이티브로 컴파일되고 엣지 디바이스에서 실행할 수 있는 sherpa-onnx로 전환했음
- 구글 번역기 앱을 사용할 때 긴 문장을 말하다가 잠시 멈추거나 속도를 늦추는 경우가 많아 대화 모드를 피함
- 이 문제는 낮은 지연 시간의 턴 감지와 음성 중단 감지, 그리고 매우 빠른 로우 레이턴시 LLM이 필요함
- 시스템이 이전 오디오를 버리지 않고 마지막 문장을 계속할 수 있도록 하는 좋은 복구 기능이 필요함
- i/o 지연 시간 개선을 위해 낮은 지연 시간의 오디오 API, 매우 짧은 오디오 버퍼, 전용 오디오 카테고리 및 모드 사용 필요
- 스트리밍 모드에서 TTS를 사용할 수 있는지 확실하지 않음
- 잘 설계된 푸시 투 톡이 좋은 해결책일 수 있음
- CoreML을 사용한 100ms 추론
- 데이터의 하위 집합으로 훈련된 LSTM 모델
- Siri와 같은 최악의 음성 시스템부터 ChatGPT 음성 모드까지, 컴퓨터가 이 작업을 잘 수행하지 못함
- '에이전트'가 간단하지만 유용한 작업을 수행하는 데 가장 큰 장애물일 수 있음
- AI가 여전히 어려움을 겪는 상황이 많고, 이러한 오류는 대화의 효율성을 파괴하거나 심각한 기능 오류를 초래할 수 있음