🍃

Ryeでwhisper環境を構築する

2023/05/30に公開

最近流行りのryeで音声書き起こしのwhisperのための環境を構築してみます。

https://github.com/mitsuhiko/rye

ryeのセットアップ

$ curl -sSf https://rye-up.com/get | bash
$ vi .bashrc
source "$HOME/.rye/env" # ← を末尾に追記

プロジェクトの作成

mkdir whisper-sample
cd whisper-sample
rye init
rye pin 3.10 # ← 任意
rye add openai-whisper==20230314
rye sync

whisperコマンドの実行

run コマンド経由で実行できるようにできます。

rye run whisper

ex.

rye run whisper input.mp3 --language Japanese --model large

ただ、Nodeのnpmのようにscriptsコマンドみたいにできないの?って思ったらできました。

以下をtomlに追記すると

pyproject.toml
[tool.rye.scripts]
transcribe = "whisper --language Japanese --model large"

このように実行できます。

rye run transcribe input.mp3

Pythonから実行する

https://pypi.org/project/openai-whisper/

main.py
import whisper

model = whisper.load_model("large")
result = model.transcribe("input.mp3")
print(result["text"])

上記のような main.pyがあるとすると以下のように実行できますが、

rye run python main.py

あらかじめtomlに

pyproject.toml
[tool.rye.scripts]
transcribe = "whisper --language Japanese --model large input.mp3"
main = "python main.py" # 追記

と書いておけば、

rye run main

とできます。

おわりに

npmライクで良いですね^^

Discussion