Whisper 기반 오픈소스 음성-텍스트 변환 도구로, forced alignment를 통해 단어 단위 타임스탬프를 추가하고 선택적으로 화자 분리를 지원합니다.
schibsted/WAAS
OpenAI Whisper 음성 인식을 위한 셀프 호스팅 GUI 및 REST API로, 작업 큐와 이메일·웹훅 콜백을 지원하며 SRT/VTT/텍스트 형식으로 결과를 제공합니다.
- 스타
- 2,068
- 포크
- 114
- 열린 이슈
- 39
- 마지막 커밋
- 8일 전
어떤 프로젝트인가요?
WaaS(Whisper as a Service)는 OpenAI Whisper를 웹 GUI와 HTTP API로 제공해, 모델을 직접 실행하지 않고도 오디오나 동영상 파일을 텍스트로 변환할 수 있게 합니다. 클라이언트가 transcribe 엔드포인트로 파일을 제출하면 Redis 기반 큐에 작업이 등록되고 별도의 worker가 처리합니다. 작업이 완료되면 이메일이나 서명된 webhook POST로 사용자에게 알립니다.
결과는 JSON, SRT, WebVTT, 일반 텍스트 또는 타임코드가 포함된 일반 텍스트로 다운로드할 수 있습니다. 브라우저 기반 편집기도 제공되며, 로컬에서 실행해 각 구간을 재생하고 저장하기 전에 전사 오류를 수정할 수 있습니다. API를 통해 언어 감지와 영어 번역도 사용할 수 있습니다.
API에는 Python과 Flask, worker에는 RQ를 사용하며, docker-compose(redis, api, worker)로 배포합니다. 별도의 GPU Dockerfile을 사용하면 NVIDIA CUDA 가속을 활성화할 수 있습니다. 가장 작은 모델인 tiny는 VRAM이 약 1GB 필요합니다.
핵심 기능
- 01Redis 기반 큐와 worker가 비동기 전사 작업을 처리합니다.
- 02이메일 또는 서명된 webhook 콜백으로 작업 완료 알림을 보냅니다.
- 03결과를 JSON, SRT, WebVTT, 일반 텍스트 또는 타임코드가 포함된 텍스트로 내보냅니다.
- 04전사 구간을 검토하고 수정할 수 있는 브라우저 기반 로컬 편집기입니다.
- 05API를 통해 언어 감지와 전사 또는 번역 작업을 수행합니다.
- 06선택적으로 NVIDIA CUDA를 지원하는 docker-compose 설정을 제공합니다.
활용 사례
- 클라우드 서비스 대신 내부 서버에서 녹음된 인터뷰나 회의를 텍스트로 변환합니다.
- 동영상 콘텐츠의 자막 파일(SRT 또는 VTT)을 일괄 생성합니다.
- webhook 콜백을 지원하는 HTTP API를 통해 내부 애플리케이션에 음성 인식 기능을 추가합니다.
- 로컬 브라우저 편집기에서 기계가 생성한 전사 내용을 검토하고 수정합니다.
빠른 시작
- 1
Python 가상 환경을 만듭니다
python3 -mvenv .venv - 2
가상 환경을 활성화합니다
source .venv/bin/activate - 3
Python 종속 항목을 설치합니다
pip install -r requirements.txt - 4
README의 설명에 따라 .envrc 파일과 allowed_webhooks.json을 만든 다음 모든 컨테이너를 시작합니다
docker-compose --env-file .envrc up
사용 전 알아둘 점
- 대형 Whisper 모델을 사용하려면 VRAM이 있는 GPU가 필요합니다. 가장 작은 모델도 약 1GB가 필요합니다.
- Python 3.8~3.10과 Redis 인스턴스가 필요하며, 이메일 콜백을 위한 SMTP 설정도 필요합니다.
- docker-compose로 전체 환경을 설정하려면 여러 환경 변수와 webhook 파일을 구성해야 합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- WAAS은(는) 무엇인가요?
- OpenAI Whisper 음성 인식을 위한 셀프 호스팅 GUI 및 REST API로, 작업 큐와 이메일·웹훅 콜백을 지원하며 SRT/VTT/텍스트 형식으로 결과를 제공합니다. WaaS(Whisper as a Service)는 OpenAI Whisper를 웹 GUI와 HTTP API로 제공해, 모델을 직접 실행하지 않고도 오디오나 동영상 파일을 텍스트로 변환할 수 있게 합니다. 클라이언트가 transcribe 엔드포인트로 파일을 제출하면 Redis 기반 큐에 작업이 등록되고 별도의 worker가 처리합니다. 작업이 완료되면 이메일이나 서명된 webhook POST로 사용자에게 알립니다.
- WAAS은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- WAAS은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- WAAS은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. WAAS의 마지막 커밋은 2026년 10월 30일입니다.
- WAAS은(는) 어디에 사용할 수 있나요?
- 클라우드 서비스 대신 내부 서버에서 녹음된 인터뷰나 회의를 텍스트로 변환합니다. 동영상 콘텐츠의 자막 파일(SRT 또는 VTT)을 일괄 생성합니다. webhook 콜백을 지원하는 HTTP API를 통해 내부 애플리케이션에 음성 인식 기능을 추가합니다. 로컬 브라우저 편집기에서 기계가 생성한 전사 내용을 검토하고 수정합니다.
- WAAS는 어떻게 설치하나요?
- Python 가상 환경을 만듭니다: python3 -mvenv .venv 가상 환경을 활성화합니다: source .venv/bin/activate Python 종속 항목을 설치합니다: pip install -r requirements.txt README의 설명에 따라 .envrc 파일과 allowed_webhooks.json을 만든 다음 모든 컨테이너를 시작합니다: docker-compose --env-file .envrc up
- WAAS은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/schibsted/WAAS
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
OpenAI Whisper 기반으로 오디오와 동영상을 컴퓨터에서 오프라인으로 전사하고 번역하는 데스크톱 앱입니다.
Whisper 등 음성 모델을 사용해 오디오와 비디오를 내 기기에서 완전히 오프라인으로 전사하는 데스크톱 앱입니다.
OpenAI Whisper로 미디어 파일에서 SRT 또는 LRC 자막을 생성하고 Bazarr, Plex, Jellyfin, Emby, Tautulli와 연동하는 셀프 호스팅 도구입니다.
Whisper로 로컬 파일이나 URL을 전사하고, 여러 백엔드와 화자별 출력 기능을 지원하는 CLI 도구입니다.
업로드한 동영상이나 미디어 링크에서 Together AI의 Whisper 모델로 타임스탬프가 포함된 자막을 생성하는 Next.js 웹 앱입니다.