1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PythonAdvent Calendar 2024

Day 2

Windows 11 で pyコマンド(Python Launcher for Windows)による仮想環境構築 + OSS版の Whisper【Python-3】

Last updated at Posted at 2024-12-29

この記事は 12/29 に書いたのですが、後から「Python Advent Calendar 2024」の 2日目の記事としても後から登録してみました。

ちなみに、今年の Python のアドベントカレンダーに登録した記事としては 3つ目で、1つ目・2つ目は以下を書いて登録していました。

はじめに

今回の記事で扱う内容は、OpenAI が 2022年9月に GitHub に公開した OSS版の Whisper の話です。
(以前試していた時があったのに、記事を書いてなかった...)

それを、以下の記事でも書いた環境・方法で使います。

●Windows 11 で pyコマンド(Python Launcher for Windows)を使った仮想環境構築【Python-2】 - Qiita
https://qiita.com/youtoy/items/b60017afb7a87b8001cc

余談: OSS版以外の Whisper について

OSS版の Whisper以外のものは、以下のように記事で書いてみたり、お声がけいただいたイベントで扱ったりしました。

Azure経由での API利用

●curlコマンドで Azure OpenAI Service の tts-1 を使って音声合成して whisper による音声認識も行う - Qiita
https://qiita.com/youtoy/items/ab77d552d8d18afb14e7

OpenAI の API版

今回のお試し

実際に今回の内容を試していきます。

当初はエラーになった件の対応

自分の環境でのインストールで当初はエラーが出た話があり、それがセットアップの最初の段階に影響するのでここで触れておきます。

具体的には Python 3.13系は非対応のようなので(※ 以下が情報源)、Python 3.12系を使うようにしたという話です。

●[BUG] Windows install Whisper not working · Issue #123 · quic/ai-hub-models
https://github.com/quic/ai-hub-models/issues/123

お試し用の環境に Python の 3.13系だけ入れていたので、Python.org の Python Releases for Windows から 3.12系をダウンロードして追加します。

仮想環境の構築

pyコマンドによる環境構築は、前に書いた記事と同じやり方で myenv という名称で作ってみます。

ただし今回の自分の環境では、上で書いていたバージョン関連の話があったため、3.12系の Python を仮想環境で使うための指定を入れています(※ py の後の -3.12 の部分)。

py -3.12 -m venv myenv
.\myenv\Scripts\activate

念のため python -V を実行してみて、Python 3.12.8 と出力されたのを確認しました。

Whisper を使うための準備

そして以下にある手順で、仮想環境内で Whisper を使える環境を作ります。

●openai/whisper: Robust Speech Recognition via Large-Scale Weak Supervision
https://github.com/openai/whisper

pip を使ったインストールは、GitHub のリポジトリで書かれている中の以下のコマンドを使いました。

pip install -U openai-whisper

さらに公式の記載にあるとおり ffmpeg も使える状態にしておいてください。

まずはコマンドで試す

まずは whisper をコマンドで試します。

処理対象となるオーディオファイルを「リポジトリにある whisper/tests/jfk.flac」 として、以下を実行しました。

whisper jfk.flac --model turbo

そうして得られた結果は以下のとおりです。

Detected language: English
[00:00.000 --> 00:10.380] And so, my fellow Americans, ask not what your country can do for you, ask what you can do for your country.

問題なく結果を得られました。

Python での処理を試す

公式で書かれているサンプルコードを活用して、Python を使った処理を試します。

対象となる音声ファイルだけ修正した、以下のコードとしました。

import whisper

model = whisper.load_model("turbo")
result = model.transcribe("jfk.flac")
print(result["text"])

上記を実行した結果として、以下が得られました。

And so, my fellow Americans, ask not what your country can do for you, ask what you can do for your country.

こちらも問題なく結果を得ることができました。

モデルについて

上記の処理の際、モデルで「turbo」を指定しています。しかし、そのファイルは取得していませんでした。

その場合、処理の実行時にモデルのダウンロードが行われ、それが完了してから whisper の処理が始まる流れになります。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?