Whisperを基盤とするオープンソースの音声認識ツール。強制アライメントによる単語単位のタイムスタンプと、任意の話者ダイアライゼーションに対応します。
schibsted/WAAS
ジョブキュー、メールまたはWebhookコールバック、SRT/VTT/テキスト出力に対応した、OpenAI Whisperのセルフホスト型GUIおよびREST API。
- スター
- 2,068
- フォーク
- 114
- 未解決の Issue
- 39
- 最終コミット
- 8 日前
これは何?
WaaS(Whisper as a Service)は、OpenAI WhisperをWeb GUIとHTTP APIで利用できるようにし、モデルを手動で実行せずに音声・動画ファイルを文字起こしできます。クライアントがtranscribeエンドポイントにファイルを送信すると、ジョブはRedisベースのキューに登録され、別のworkerによって処理されます。ジョブが完了すると、メールまたは署名付きWebhook POSTでユーザーに通知します。
結果はJSON、SRT、WebVTT、プレーンテキスト、タイムコード付きプレーンテキストとしてダウンロードできます。また、ローカルで動作するブラウザベースのエディターが付属しており、個々のセグメントを再生して文字起こしの誤りを修正し、結果を保存できます。APIでは言語検出と英語への翻訳も利用できます。
APIにはPythonとFlask、workerにはRQを使用し、docker-compose(redis、api、worker)でデプロイします。NVIDIA CUDAによる高速化に対応したGPU用のDockerfileも別途用意されています。最小のtinyモデルに必要なVRAMは約1GBです。
主な機能
- 01Redisベースのキューとworkerで処理する非同期の文字起こしジョブ。
- 02メールまたは署名付きWebhookコールバックによる完了通知。
- 03結果をJSON、SRT、WebVTT、プレーンテキスト、タイムコード付きテキストで出力。
- 04文字起こしのセグメントを確認・修正できる、ブラウザベースのローカルエディター。
- 05API経由の言語検出と、文字起こしまたは翻訳タスク。
- 06NVIDIA 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 とは?
- ジョブキュー、メールまたはWebhookコールバック、SRT/VTT/テキスト出力に対応した、OpenAI Whisperのセルフホスト型GUIおよびREST API。 WaaS(Whisper as a Service)は、OpenAI WhisperをWeb 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製Webアプリ。