alesaccoia/VoiceStreamAI
Near-Realtime audio transcription using self-hosted Whisper and WebSocket in Python/JS
해결하는 문제
VoiceStreamAI는 웹 브라우저에서 서버로 오디오를 스트리밍하여 근실시간 오디오 전사를 수행하는 방법을 제공합니다. Voice Activity Detection(VAD)을 사용하여 실제 음성만 전사되도록 보장함으로써 계산 부하와 네트워크 대역폭을 줄이고, 연속적인 오디오 스트림을 효율적으로 처리하는 과제를 해결합니다.
작동 원리
이 시스템은 WebSockets를 통해 통신하는 Python 기반 서버와 JavaScript 클라이언트로 구성됩니다. 클라이언트는 오디오를 캡처하여 서버에 청크(chunk) 단위로 전송합니다. 서버는 다음과 같은 모듈형 파이프라인을 사용하여 오디오를 처리합니다:
- Voice Activity Detection (VAD): Silero 또는 Pyannote와 같은 모델을 사용하여 서버가 음성이 포함된 오디오 세그먼트를 식별합니다.
- 전사 (Transcription): 시스템은 자동 음성 인식(ASR) 모델을 사용하며, 기본적으로
faster-whisper(OpenAI Whisper의 고성능 버전)를 사용하여 감지된 음성을 텍스트로 변환합니다.
- 버퍼링 전략: 청크 경계에서 단어가 잘리는 것을 방지하기 위해 시스템은 "SilenceAtEndOfChunk" 전략을 채택하여, 전사를 트리거하기 전에 음성 일시 정지를 기다립니다.
대상 사용자
다양한 VAD 및 ASR 모델로 교체할 수 있는 유연하고 모듈화된 아키텍처를 통해 실시간 음성-텍스트 변환 기능이 필요한 애플리케이션을 구축하려는 개발자.
주요 특징
- 모듈형 설계: Factory 및 Strategy 패턴을 사용하여 새로운 VAD 및 ASR 기술을 쉽게 통합할 수 있습니다.
- 실시간 스트리밍: WebSockets를 활용하여 클라이언트와 서버 간의 저지연 통신을 실현합니다.
- 효율적인 처리: VAD 통합을 통해 음성이 아닌 오디오 처리를 최소화하여 GPU/CPU 리소스를 절약합니다。
- 커스터마이징 가능: 클라이언트는 JSON 메시지를 통해 언어, 청크 길이 및 처리 전략을 동적으로 구성할 수 있습니다.
관련
- 프로젝트
- 프로젝트
collabora/WhisperLiveWhisperLive는 OpenAI의 Whisper 모델을 기반으로 한 오픈소스의 실시간 가까운 음성 인식 서버입니다. 여러 추론 백엔드(faster-whisper, NVIDIA TensorRT, Intel OpenVINO, AMD ROCm)를 지원하며, 단어 수준 타임스탬프, 핫워드 강조, 스피커 다이어리제이션 및 선택적 번역 기능을 제공합니다. 간단한 명령줄 클라이언트와 Python 스트리밍 API를 제공하며, GPU 및 CPU용 Docker 이미지를 제공합니다. 브라우저 및 iOS 확장 기능을 통해 웹 페이지나 모바일 기기에서 직접 오디오를 인식할 수 있습니다.
- 프로젝트
huggingface/speech-to-speechSpeech‑to‑Speech는 Hugging Face의 오픈소스 파이프라인으로, 음성 입력을 음성 출력으로 변환합니다. VAD → STT → LLM → TTS로 연결되며, 각 구성 요소는 교체 가능합니다 (Silero VAD, Parakeet/Faster‑Whisper/Whisper STT, OpenAI 호환 LLM 또는 로컬 Transformers/MLX 모델, Qwen3‑TTS 또는 기타 TTS 백엔드). 전체 시스템은 WebSocket/WebRTC를 통해 OpenAI Realtime 프로토콜을 구현하므로, 기존 OpenAI Agents SDK 코드가 그대로 작동합니다. `pip install speech-to-speech`로 설치 후 `speech-to-speech serve` (서버)와 `speech-to-speech talk` (클라이언트) 또는 `speech-to-speech local` (서버와 클라이언트를 함께)를 실행할 수 있습니다. 로컬 전용 작동, 로컬/호스팅 혼합 LLM, Docker 배포, 대체 TTS/STT 모델을 위한 선택적 확장 기능을 지원합니다. 음성 어시스턴트 로봇(예: Reachy Mini) 및 저지연 음성 AI 애플리케이션에 적합합니다.
- 프로젝트
KoljaB/RealtimeSTT음성 활동 탐지, 웨이크워드, 빠른 전사 기능을 통합한 Python 음성-텍스트 라이브러리. 음성 어시스턴트 및 음성 입력 도구에 쉽게 통합할 수 있습니다.
- 프로젝트
m-bain/whisperXOpenAI의 Whisper에 배치 추론, 단어 단위 타임스탬프 및 화자 분리 기능을 추가하여 강화한 고속 자동 음성 인식 시스템입니다.