Whisper 音声認識サービス
Fork Repo: whisper-speech-recognition
このプロジェクトは、Flaskを使用したPython環境でOpenAIのWhisperモデルを使用してローカル音声認識サービスをデプロイする方法を示しています。 Leapcell (leapcell.io) でAIモデルをデプロイする方法をユーザーが学習することを目的としています。
前提条件
アプリケーションを実行する前に、依存関係を設定し、必要なWhisperモデルをダウンロードして、環境を準備する必要があります。次のスクリプ トを実行します。
sh prepare_env.sh
これにより、以下の処理が行われます。
- Flask、Gunicorn、および必要な依存関係を含む、必要なPythonパッケージをインストールします。
- PyTorchと関連ライブラリ(特にCPU使用向け)をインストールします。
- OpenAI Whisperライブラリをインストールまたはアップデートします。
- Pythonスクリプトを使用して、必要なWhisperモデルをダウンロードします。
プロジェクト構成
.
├── LICENSE # プロジェクトのライセンスファイル
├── download_model.py # 必要なWhisperモデルをダウンロードするPythonスクリプト
├── prepare_env.sh # 環境をセットアップし、モデルをダウンロードするためのスクリプト
├── static
│ └── audio_files
│ └── demo.wav # サービスのテスト用のサンプル音声ファイル
└── templates
└── index.html # サービスのメインページのHTMLテンプレート
アプリケーションの実行
環境を準備したら、次のコマンドでWebサービスを開始できます。
gunicorn -w 4 app:app
これにより、Gunicornを使用してFlaskアプリケーションが本番環境にデプロイされます。 サービスは http://localhost:5000
で利用可能になり、文字起こしのためにオーディオファイルをアップロードできます。 文字起こしされたテキストが返されます。
prepare_env.sh
の説明
このスクリプトは、環境をセットアップし、Whisperモデルをダウンロードする役割を担います。 各行の動作の内訳は次のとおりです。
#!/bin/sh
# コマンドがゼロ以外のステータスで終了した場合、すぐに終了します
set -e
# Flask、python-multipart、およびGunicornをインストールします
pip install flask python-multipart gunicorn
# PyTorchおよび関連ライブラリ(torchvision、torchaudio)をインストールします
# PyTorchのCPU専用ホイールインデックスから
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
# OpenAI Whisperライブラリをインストールまたは更新します
pip install -U openai-whisper
# 必要なWhisperモデルをダウンロードするPythonスクリプトを実行します
# このスクリプトはビルドステップでモデルをダウンロードします
python download_model.py
set -e
: コマンドが失敗した場合にスクリプトが停止するようにします。pip install flask python-multipart gunicorn
: Flask(Webサービス用)、python-multipart
(ファイルアップロードの処理用)、Gunicorn(本番環境対応のWSGI HTTPサーバー)をインストールします。pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
: Whisperモデルを実行するために、PyTorchと関連ライブラリ(CPU向けに最適化)をインストールします。pip install -U openai-whisper
: OpenAI Whisperライブラリをインストールまたは更新します。python download_model.py
: 文字起こしに必要なWhisperモデルをダウンロードするためのPythonスクリプトを実行します。