KoljaB/RealtimeSTT

A robust, efficient, low-latency speech-to-text library with advanced voice activity detection, wake word activation and instant transcription.

What it solves

RealtimeSTT는 Python 애플리케이션에 음성-텍스트 변환(STT) 기능을 통합하는 간소화된 방법을 제공합니다. 음성 활동 감지(VAD) 처리, 오디오 스트림 관리, 웨이크 워드 구현 등 복잡한 과정을 단순화하여 개발자가 최소한의 코드로 음성을 텍스트로 변환할 수 있게 합니다.

How it works

이 라이브러리는 AudioToTextRecorder 클래스를 중심으로 구성되어 있으며, 마이크에서 직접 오디오를 캡처하거나 외부 소스(파일이나 websockets 등)에서 오디오 청크를 받을 수 있습니다. 기본은 faster_whisper를 사용하는 모듈형 엔진 시스템이며, kroko_onnxwhisper.cpp 등 다양한 엔진을 지원합니다. 또한 WebRTC 또는 Silero를 통한 VAD를 통합해 음성 시작·종료를 감지하고, Porcupine 또는 OpenWakeWord를 이용한 선택적 웨이크 워드 감지를 통해 녹음을 트리거합니다.

Who it’s for

이 도구는 AI 어시스턴트, 받아쓰기 소프트웨어, 브라우저 기반 스트리밍 서버, 그리고 빠른 로컬 음성 인식이 필요한 빠른 프로토타입을 개발하는 개발자를 위해 설계되었습니다.

Highlights

  • Flexible Audio Input: 직접 마이크 접근과 외부 PCM 오디오 청크 모두 지원.
  • Multiple Engine Support: faster-whisper, OpenAI Whisper, Kroko-ONNX 등 다양한 전사 엔진과 호환.
  • Integrated VAD and Wake Words: 음성 활동 감지와 커스터마이징 가능한 웨이크 워드 기능을 내장.
  • Event-Driven Architecture: 녹음, VAD 상태 및 전사 업데이트에 대한 콜백 제공.
  • Web Server Example: 브라우저 기반 스트리밍과 다중 사용자 세션 격리를 위한 FastAPI 레퍼런스 서버 포함.