前提
jupyter notebook上でwhisperを使用して音声認識させたいのですが、
エラーが出てしまって困っています。
googlecolab上でなければ使用できないのでしょうか。
実現したいこと
jupyter notebook上でwhisperを使用して音声認識させたい。
発生している問題・エラーメッセージ
TypeError Traceback (most recent call last) Input In [12], in <cell line: 7>() 5 import sys 6 sys.path.append("./whisper") ----> 7 import whisper 9 model = whisper.load_model("base") 10 # result = model.transcribe("準備したファイル名を指定") # 今回の記事ではtest.m4aを用います。 File ~\AppData\Local\Programs\Python\Python310\lib\site-packages\whisper.py:69, in <module> 67 if CAN_FALLOCATE: 68 libc_name = ctypes.util.find_library('c') ---> 69 libc = ctypes.CDLL(libc_name) 70 c_off64_t = ctypes.c_int64 71 c_off_t = ctypes.c_int File ~\AppData\Local\Programs\Python\Python310\lib\ctypes\__init__.py:364, in CDLL.__init__(self, name, mode, handle, use_errno, use_last_error, winmode) 362 import nt 363 mode = nt._LOAD_LIBRARY_SEARCH_DEFAULT_DIRS --> 364 if '/' in name or '\\' in name: 365 self._name = nt._getfullpathname(self._name) 366 mode |= nt._LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR TypeError: argument of type 'NoneType' is not iterable
該当のソースコード
python
1import whisper 2 3model = whisper.load_model("large") 4 5path = "xxxxxx.mp3" 6 7result = model.transcribe(path, verbose=True, language='ja') 8print(result["text"]) 9
いろいろ紹介しているサイトのコードを試してみましたが
同じエラーが出てしまいます。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
portaudioやwhisperをどうやってインストールしたのか、という情報がないとトラブルシュートできないと思います
[訂正] Pythonをどうやってインストールしたか? の方が重要そうなエラーメッセージでした。訂正します

そうなのですね、いろいろ情報が足りなくて失礼いたしました。
pythonはインストールできたのですが、jupyter notebookはAnacondaが通常インストールできなかったので、コマンドプロンプトに「jupyter notebook」と入力して使用しています。
portaudioは入っていませんでした。
whisperは「pip install git+https://github.com/openai/whisper.git」で実行すると「指定したファイルががみつかりません。」と出てしまうので、DLしてipynbデータと同じ階層にフォルダを置いてあります。
原因はそこらへんなのでしょうか。よろしくお願いいたします。
> whisperは「pip install git+https://github.com/openai/whisper.git」で実行すると「指定したファイルががみつかりません。」と出てしまうので、DLしてipynbデータと同じ階層にフォルダを置いてあります。
その場合は、ダウンロードした場所に「cd」してから
pip install .
とやると、インストールできるようです
参考
https://blog.imind.jp/entry/2019/06/02/175420
の「cloneしてからインストール」
> ipynbデータと同じ階層にフォルダを置いてあります。
インストールした後に、ダウンロードしたのが間違って使われないように、全然違う場所に置いた方がいいと思う

色々教えていただきありがとうございます。
いろいろ知らな過ぎてすみません、いろいろ検索しながら進めてみたのですが
「cd」するというのは、cdコマンドでそのダウンロードしている場所に移動するということでよろしいですか?
一応それを行い、「pip install .」を入れてみたのですが
「ERROR: Directory '.' is not installable. Neither 'setup.py' nor 'pyproject.tomi' found.」と出てしまい、次にフォルダ名も入れてみたのですが・・・
元々のフォルダ名で実行した際のエラーメッセージ
ERROR: Could not find a version that satisfies the requirement whisper-main(from versions: none)
ERROR: No matching distribution found for wisper-main
フォルダ名を「whisper」のみにして実行したところ何やら動き出したのですが
Using legacy 'setup.py install' for whisper, shince package 'wheel' is not installed.と表示され
他はインストールされたよう(?)で
最後に「Successfully installed whisper-1.1.10」とは出たのですが・・・
そして「git clone]は「'git'は内部コマンドまたは外部コマンド、接続可能なプログラムまたはバッチファイルとして認識されていません。」と出てしまいます。
> 「cd」するというのは、cdコマンドでそのダウンロードしている場所に移動するということでよろしいですか?
そうです
> 一応それを行い、「pip install .」を入れてみたのですが
「ERROR: Directory '.' is not installable. Neither 'setup.py' nor 'pyproject.tomi' found.」と出てしまい、
https://github.com/openai/whisper
には「setup.py」があるので、「cd」してる場所が違うか、ダウンロードがちゃんとできてないか、です
「LICENSE」とか「README.md」とか「setup.py」とかがある場所に「cd」しましたか?
> 「git clone]は「'git'は内部コマンドまたは外部コマンド、接続可能なプログラムまたはバッチファイルとして認識されていません。」と出てしまいます。
https://github.com/openai/whisper
の右側の緑の「Code」をクリック→「Download ZIP」をクリックしてダウンロードしたzipファイルを解凍すれば、git cloneをする必要はありません
> 最後に「Successfully installed whisper-1.1.10」とは出た
となった現状で、
import whisper
を実行したら、どうなるのでしょうか?
質問に記載してるのと同じエラーが出るのでしょうか?

>には「setup.py」があるので、「cd」してる場所が違うか、ダウンロードがちゃんとできてないか、です
>「LICENSE」とか「README.md」とか「setup.py」とかがある場所に「cd」しましたか?
入っているものなんですけどやはり同じエラーがでます。
その後[pip install whisper]を試し、setup.pyもdoneになり、「Successfully installed whisper-1.1.10」も出たのですが、
>import whisper
>を実行したら、どうなるのでしょうか?
同じエラーが出てしまいました。ということはできていないってことですよね。
> その後[pip install whisper]を試し、
その後[pip install .]を試し、 の打ち間違いでしょうか?

[pip install .]は何度やってみても
「ERROR: Directory '.' is not installable. Neither 'setup.py' nor 'pyproject.tomi' found.」の
エラーが出てしまうので[pip install whisper]を実行しました。
フォルダ内には'setup.py'はありますが'pyproject.tomi'はありません。
なるほど、読み間違えました。失礼しました。
pip install . については「やはり同じエラーがでます。」のところで話が終わっていて、「その後」から別の話題に変わっているのですね。
> >には「setup.py」があるので、「cd」してる場所が違うか、ダウンロードがちゃんとできてないか、です
> >「LICENSE」とか「README.md」とか「setup.py」とかがある場所に「cd」しましたか?
> 入っているものなんですけどやはり同じエラーがでます。
ここ、スクリーンショットを質問に貼った方がいい気がします。
コマンドプロンプト上で、cdして、そこにsetup.pyがあることを確認している画面
と
pip install . した結果の部分
を
スクリーンショットで見せてもらうのが確実そうです。

上手く説明の整理ができていなくてすみませんでした。
その後、「pip install -e フォルダのある場所」を試したところ、
インストールが開始され、whisperがエラーなく動き始めました!
いろいろおしえていただきありがとうございました。もっと勉強します!
> 「pip install -e フォルダのある場所」を試したところ、
インストールが開始され、whisperがエラーなく動き始めました!
「-e」を付けた場合は、普通にpipでインストールしたら置かれる場所には置かれずに、「フォルダのある場所」からインポートされるようになりますので、「フォルダのある場所」から別の場所に移動したり、削除したりしたらインポートできなくなりますので、ご注意ください
参考
https://blog.hgrs.me/20190520094349
【追記】
「pip install -e フォルダのある場所」がうまくいったのなら、「pip install フォルダのある場所」でもうまくいったような
その場合は「-e」を付けてないので、普通にpipでインストールしたら置かれる場所に置かれるはず
-e はあとでトラブルになりそうな「余計なこと」をしているような気はします。

-eで入れてからPCがものすごく重くなってしまって困っていました。uninstallして、「pip install フォルダのある場所」で入れなおしたら普通に動くようになりました。いろいろありがとうございます。
> 「pip install フォルダのある場所」で入れなおしたら普通に動くようになりました。
それがうまくいったのに「pip install .」がダメだったのが謎
(うまくいってるので、まぁいいのですが)

回答1件
あなたの回答
tips
プレビュー