collabora/WhisperLive
A nearly-live implementation of OpenAI's Whisper.
WhisperLive – OpenAI의 Whisper를 활용한 실시간 가까운 음성 인식
무엇인가요 – WhisperLive는 말하는 음성을 거의 실시간으로 텍스트로 변환하는 오픈소스 애플리케이션입니다. faster-whisper, TensorRT, 또는 OpenVINO 백엔드를 통해 Whisper 모델을 호스팅하는 서버와 마이크, 파일, RTSP, HLS 또는 원시 PCM 오디오를 스트리밍하고 WebSocket 또는 REST API를 통해 인식 결과를 수신하는 클라이언트를 하나 이상 갖습니다.
주요 기능
- 라이브 및 배치 모드 – 마이크 입력을 스트리밍하거나 전체 오디오 파일을 변환할 수 있습니다.
- 다중 추론 백엔드 –
- faster-whisper (CPU/GPU, CTranslate2를 통해)
- NVIDIA TensorRT (고처리량 GPU 추론, 옵션 Docker 설정)
- Intel OpenVINO (CPU, iGPU, dGPU)
- AMD ROCm 지원 (CTranslate2용).
- 고급 출력 옵션
- 단어 수준 타임스탬프 및 신뢰도 점수.
- 사용자 정의 어휘 / 핫워드 강조.
- 스피커 다이어리제이션 (옵션
pyannote.audio). - 전사본을 다른 언어로 번역하는 옵션.
- 배치 추론 – 여러 클라이언트 스트림을 하나의 GPU 호출로 결합하여 더 높은 처리량을 달성.
- 클라이언트 API – 간단한 파일/마이크 사용을 위한 고수준
TranscriptionClient와 수동으로 청크 오디오를 제공하고 부분 및 최종 결과에 대한 콜백을 받는StreamingTranscriptionClient. - 크로스플랫폼 – Linux, macOS, Windows (GPU 백엔드는 Docker를 통해). Chrome/Firefox 확장 및 네이티브 iOS 클라이언트도 제공.
- Docker 이미지 – GPU (TensorRT, OpenVINO, ROCm) 및 CPU 배포용 즉시 실행 컨테이너.
일반적인 워크플로우
- 시스템 종속성 설치 –
portaudio(마이크용) 및 Python 3.12. - 가상 환경 생성 및
pip install whisper-live. - 서버 시작 (예: faster-whisper 백엔드):
python3 run_server.py --port 9090 --backend faster_whisper \ --max_clients 4 --max_connection_time 600 - 클라이언트 실행 – 파일, 마이크, RTSP 또는 HLS 스트림 변환:
또는 Python API 사용:python3 run_client.py --files mytalk.wav # 또는 실시간 마이크 python3 run_client.pyfrom whisper_live.client import TranscriptionClient client = TranscriptionClient("localhost", 9090, model="small", translate=True, target_language="hi") client("tests/jfk.wav") - 옵션 기능 – 클라이언트 생성 시
word_timestamps=True,hotwords="WhisperLive,TensorRT", 또는enable_diarization=True추가 가능.
설치 스크립트
bash scripts/setup.sh # portaudio 개발 라이브러리 설치
python3.12 -m venv whisper_env && source whisper_env/bin/activate
pip install whisper-live
하드웨어 가속을 통한 실행
- TensorRT – TensorRT 엔진 구축 (see
TensorRT_whisper.md) 후--backend tensorrt및--trt /path/to/engine로 서버 시작. - OpenVINO – OpenVINO 런타임 설치 후
python3 run_server.py -p 9090 -b openvino(Docker 이미지ghcr.io/collabora/whisperlive-openvino는 드라이버를 자동 처리). - ROCm – AMD GPU 지원을 위해
ROCm_whisper.md를 따르세요.
Docker 빠른 시작 (GPU)
docker run -it --gpus all -p 9090:9090 ghcr.io/collabora/whisperlive-gpu:latest
(필요에 따라 TensorRT, OpenVINO, ROCm용 이미지 태그로 교체하세요.)
왜 중요한가요 – WhisperLive는 강력한 Whisper 음성-텍스트 모델을 실시간 자막, 회의 기록, 음성 제어 앱과 같은 생산형 저지연 시나리오에서 사용 가능하게 하며, 하드웨어 백엔드, 언어 번역, 다이어리제이션, 사용자 정의 어휘의 유연성을 제공합니다.
추가 읽기 – 리포지토리에 링크된 블로그 게시물은 생산 환경 사용 사례와 WhisperFusion 챗봇 통합에 대해 자세히 설명합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- Dispatch
- 프로젝트