質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.02%
OpenAI Gym

OpenAI Gymは、強化学習を開発・強化するためのシミュレーション環境です。強化学習における実験や評価環境などを標準化し提供することを目的としています。さらに、結果をアップロードしたり、他の人の実行結果や実装を見ることも可能です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

open AI whisperでmp3の日本語音声ファイルを認識して文字起こしをしたい

eightchip
eightchip

総合スコア1

OpenAI Gym

OpenAI Gymは、強化学習を開発・強化するためのシミュレーション環境です。強化学習における実験や評価環境などを標準化し提供することを目的としています。さらに、結果をアップロードしたり、他の人の実行結果や実装を見ることも可能です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

1回答

0グッド

0クリップ

1467閲覧

投稿2022/10/29 08:11

長文で恐縮ですが、よろしくお願い致します。

実現したい事
openAIのwhisperを使用して音声ファイルを文字起こしする機能をpythonで実装したいのですが、
AttributeError: module 'ffmpeg' has no attribute 'input'というエラーが発生します。

発生している問題・エラーメッセージ
AttributeError: module 'ffmpeg' has no attribute 'input'

下記に示すソースコードの最終行:
result = model.transcribe(path, verbose=True, language='ja')の部分でエラーとなります

----------エラーの全文は下記の通りです---------
AttributeError Traceback (most recent call last)
File ~\anaconda3\envs\venv\lib\site-packages\whisper\audio.py:42, in load_audio(file, sr)
38 try:
39 # This launches a subprocess to decode audio while down-mixing and resampling as necessary.
40 # Requires the ffmpeg CLI and ffmpeg-python package to be installed.
41 out, _ = (
---> 42 ffmpeg.input(file, threads=0)
43 .output("-", format="s16le", acodec="pcm_s16le", ac=1, ar=sr)
44 .run(cmd=["ffmpeg", "-nostdin"], capture_stdout=True, capture_stderr=True)
45 )
46 except ffmpeg.Error as e:

AttributeError: module 'ffmpeg' has no attribute 'input'

During handling of the above exception, another exception occurred:

AttributeError Traceback (most recent call last)
Input In [31], in ()
----> 1 result = model.transcribe(path, verbose=True, language='ja')
2 print(['result'].text)

File ~\anaconda3\envs\venv\lib\site-packages\whisper\transcribe.py:84, in transcribe(model, audio, verbose, temperature, compression_ratio_threshold, logprob_threshold, no_speech_threshold, condition_on_previous_text, **decode_options)
81 if dtype == torch.float32:
82 decode_options["fp16"] = False
---> 84 mel = log_mel_spectrogram(audio)
86 if decode_options.get("language", None) is None:
87 if not model.is_multilingual:

File ~\anaconda3\envs\venv\lib\site-packages\whisper\audio.py:111, in log_mel_spectrogram(audio, n_mels)
109 if not torch.is_tensor(audio):
110 if isinstance(audio, str):
--> 111 audio = load_audio(audio)
112 audio = torch.from_numpy(audio)
114 window = torch.hann_window(N_FFT).to(audio.device)

File ~\anaconda3\envs\venv\lib\site-packages\whisper\audio.py:46, in load_audio(file, sr)
38 try:
39 # This launches a subprocess to decode audio while down-mixing and resampling as necessary.
40 # Requires the ffmpeg CLI and ffmpeg-python package to be installed.
41 out, _ = (
42 ffmpeg.input(file, threads=0)
43 .output("-", format="s16le", acodec="pcm_s16le", ac=1, ar=sr)
44 .run(cmd=["ffmpeg", "-nostdin"], capture_stdout=True, capture_stderr=True)
45 )
---> 46 except ffmpeg.Error as e:
47 raise RuntimeError(f"Failed to load audio: {e.stderr.decode()}") from e
49 return np.frombuffer(out, np.int16).flatten().astype(np.float32) / 32768.0

AttributeError: module 'ffmpeg' has no attribute 'Error'
----------エラーの全文ここまで---------

該当のソースコードは下記の通りです
import whisper
import ffmpeg
model = whisper.load_model("small")
path = "7008004_DiscA_01.mp3"
result = model.transcribe(path, verbose=True, language='ja')
ソースコードはここまで

試したこと、調べたこと

https://github.com/kkroening/ffmpeg-python/issues/174
上記のサイトに書かれているffmpegについてffmpeg, ffmpeg-python, python-ffmpegなどのパッケージを
pip installでinstallしてそれぞれのパッケージで試してみましたがうまくいきませんでした。

オーディオファイルのpathを変えたり、場所をデスクトップからpythonの実行ファイルと同じディレクトリに移してもダメでした。

  • 補足情報

Jupyter NotebookとVisual Studion Codeの両方で同様のエラー

  • 開発環境

 Windows10
conda version : 22.9.0
python version : 3.9.12
ffmpeg-python 0.2.0
whisper 1.0
IDE:Jupyter Notebook

非エンジニアのPython1年生ですが、どうかご教授お願い致します。### 前提

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答1

0

ベストアンサー

ffmpeg, ffmpeg-python, python-ffmpegなどのパッケージを
pip installでinstallしてそれぞれのパッケージで試してみましたがうまくいきませんでした。

Setup
に「ffmpeg-python for reading audio files」と書いてあるので、「ffmpeg-python」をpipでインストールします

Setup
に「It also requires the command-line tool ffmpeg to be installed on your system」とも書いてあるので、パソコンにffmpeg「本体」(windowsならば「ffmpeg.exe」)をインストールします
(pipではインストールできません)

上記を両方やれば、質問のエラーは出なくなると思います

投稿2022/11/03 08:16

jbpb0

総合スコア7521

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

eightchip

2022/11/03 14:49

jbpb0さん、ご回答頂きありがとうございます。 ご教示頂いた方法でやってみたのですが、やはりエラーが解消しません。 anaconda prompt でpip install ffmpeg-pythonを実行するとすでにインストールされているので、こちらは問題ないのかとおもうのですが。 ffmpeg.exeのインストールをリンクを貼っていただいたサイトからダウンロードし、プログラムを実行しているファイルと同じ仮想環境フォルダに移動し、システム環境変数のPATHに追加して再度実行してみましたがエラーが解消しませんでした。 どうすればよいのかご教示頂けますと助かります。どうぞよろしくお願い致します。 これ以上の回答がない場合もベストアンサーとさせて頂きます。
jbpb0

2022/11/04 05:39 編集

> ffmpeg.exeのインストールをリンクを貼っていただいたサイトからダウンロードし、プログラムを実行しているファイルと同じ仮想環境フォルダに移動し、システム環境変数のPATHに追加 anacondaプロンプトで ffmpeg -h を実行したら、 https://wiki.onakasuita.org/pukiwiki/?ffmpeg%20-h の一番上の枠「print basic options」内に記載されてるようなものが表示されますでしょうか? (バージョンによって、表記は微妙に変わります) もしそうならないなら、ffmpeg「本体」が正しくインストールされてません
jbpb0

2022/11/03 15:22

> anaconda prompt でpip install ffmpeg-pythonを実行するとすでにインストールされている それをやる前に、不要な「ffmpeg」や「python-ffmpeg」はアンインストールしてますよね? 余計なものが残ってたら、それが邪魔することがあります もし不安なら、まずは下記を実行して、全部無い状態にしてください pip install ffmpeg pip uninstall ffmpeg -y pip install python-ffmpeg pip uninstall python-ffmpeg -y pip install ffmpeg-python pip uninstall ffmpeg-python -y そして、 pip list を実行して、上記三種類がどれも入ってないことを確認してから、 pip install ffmpeg-python を実行してインストールしてみてください
eightchip

2022/11/05 01:13

早々のご回答ありがとうございます。またお返事が遅くなり申し訳ありません。 1つ目の回答でご教示頂いたffmpeg -hをanaconda promptで実行すると (venv) C:\Users\eight>ffmpeg -h 'ffmpeg' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。とエラーになってしまいます。 その後2件目の回答でご教示頂いた下記の手順: pip install ffmpeg pip uninstall ffmpeg -y pip install python-ffmpeg pip uninstall python-ffmpeg -y pip install ffmpeg-python pip uninstall ffmpeg-python -y を順に実行しました。 それからpip listで上記3種類が入っていない事を確認したうえで pip install ffmpeg-python を実行しました。 そして再度実行したら今度はFileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。 というエラーがでてしまいました。 同様のエラーがこのサイト内にもあり参考にしましたがうまく行きません。 audioファイルはこのpyファイルと同じディレクトリ内にあります。 下記長いのですが、VS code上のエラーの全文となります。 (実行しているコードはJupyter Notebookとまったく同じです) 何度も恐縮ですがご教示お願い致します。 ---------------------エラー全文ここから--------------------- PS C:\Users\eight\anaconda3\envs\venv> & C:/Users/eight/anaconda3/envs/venv/python.exe c:/Users/eight/anaconda3/envs/venv/main3.py C:\Users\eight\anaconda3\envs\venv\lib\site-packages\whisper\transcribe.py:78: UserWarning: FP16 is not supported on CPU; using FP32 instead warnings.warn("FP16 is not supported on CPU; using FP32 instead") Traceback (most recent call last): File "c:\Users\eight\anaconda3\envs\venv\main3.py", line 6, in <module> result = model.transcribe(path, verbose=True, language='ja',task="translate") File "C:\Users\eight\anaconda3\envs\venv\lib\site-packages\whisper\transcribe.py", line 84, in transcribe mel = log_mel_spectrogram(audio) File "C:\Users\eight\anaconda3\envs\venv\lib\site-packages\whisper\audio.py", line 111, in log_mel_spectrogram audio = load_audio(audio) File "C:\Users\eight\anaconda3\envs\venv\lib\site-packages\whisper\audio.py", line 42, in load_audio ffmpeg.input(file, threads=0) File "C:\Users\eight\anaconda3\envs\venv\lib\site-packages\ffmpeg\_run.py", line 313, in run process = run_async( File "C:\Users\eight\anaconda3\envs\venv\lib\site-packages\ffmpeg\_run.py", line 284, in run_async return subprocess.Popen( File "C:\Users\eight\anaconda3\envs\venv\lib\subprocess.py", line 969, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, File "C:\Users\eight\anaconda3\envs\venv\lib\subprocess.py", line 1438, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。 ---------------------エラー内容ここまで---------------------
jbpb0

2022/11/05 03:52

pip install ffmpeg-python でインストールする話と、 ffmpeg -h ができないといけない話は、別の話です 現状は、pipで入れたのはちゃんと入ってるけど、ffmpeg「本体」が入ってない状態です ffmpeg -h ができるように、ffmpeg「本体」をインストールしてください そのインストールは、pipではできません インストール方法は、ググって調べてください
eightchip

2022/11/05 08:01

jbpb0さん、ご回答ありがとうございます。説明が行き届かず何度もお尋ねして申し訳ありません。 ffmpeg本体もサイトからダウンロードしておりました。 anaconda promptではエラーとなりましたが、コマンドプロンプトで行うとご教示頂いたような情報が下記以下2画面分程表示されました。 C:\Users\eight>ffmpeg -h ---------------------下記コマンドプロンプト画面より一部抜粋--------------------- ffmpeg version N-108915-g5661c8715c-20221102 Copyright (c) 2000-2022 the FFmpeg developers built with gcc 12.2.0 (crosstool-NG 1.25.0.90_cf9beb1) ---------------------抜粋ここまで--------------------- 〉〉〉 ffmpeg -h を実行したら、 https://wiki.onakasuita.org/pukiwiki/?ffmpeg%20-h の一番上の枠「print basic options」内に記載されてるようなものが表示されますでしょうか? 〉〉〉 現在実行ファイルと同じ仮想環境下(\anaconda3\envs\venv)に解凍したフォルダ毎配置しており C:\Users\eight\anaconda3\envs\venv\ffmpeg-master-latest-win64-gpl-shared\binをシステム環境変数のpathに登録しております。 何度も申し訳ございませんが、ご教示頂けますと助かります。 しかし、VS code上で import ffmpegのffmpeg上にカーソルを合わせると "ffmpeg" is not accessedPylanceという表示が出るので正しくimportされていないようなのです。 何度も大変恐縮ですが
jbpb0

2022/11/05 12:23 編集

> "ffmpeg" is not accessedPylanceという表示が出るので正しくimportされていないようなのです。 Pylanceが文句を言っても、無視していいです エラーメッセージ中に > File "C:\Users\eight\anaconda3\envs\venv\lib\site-packages\ffmpeg\_run.py", line 313, in run process = run_async( File "C:\Users\eight\anaconda3\envs\venv\lib\site-packages\ffmpeg\_run.py", line 284, in run_async return subprocess.Popen( と書かれてるのだから、pipでインストールした「ffmpeg-python」は、ちゃんと機能してます もともと出てた > AttributeError: module 'ffmpeg' has no attribute 'input' が今は出てないことからも、それが分かります 現在のエラーは、おそらくpythonからffmpeg「本体」が見つからないのが原因だと思います > FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。 は、たぶんそういうことだと思います 正しく設定されてたら、「ffmpeg -h」がコマンドプロンプトでは成功するけど、anacondaプロンプトでは成功しない、ということは起きないはずですから、何かがおかしいのです 「ffmpeg -h」が常に成功するような状態にしたら、pythonからffmpeg「本体」が見つかり、おそらくエラーが出なくなると思います
jbpb0

2022/11/05 12:21

pythonで下記を実行して、カレントディレクトリがどこかを確認してください import os print(os.getcwd()) 「7008004_DiscA_01.mp3」が置いてある場所はカレントディレクトリでしょうか?
eightchip

2022/11/05 15:45

迅速な回答感謝いたします。 VS codeで上記の2行(他のコードをコメントアウト)を実行すると PS C:\Users\eight\anaconda3\envs\venv> & C:/Users/eight/anaconda3/envs/venv/python.exe c:/Users/eight/anaconda3/envs/venv/main3.py C:\Users\eight\anaconda3\envs\venvと表示されました。 7008004_DiscA_01.mp3も実行ファイル(main3.py)と同じディレクトリであるC:\Users\eight\anaconda3\envs\venv内に配置しております。 その後上記2行を削除して再度実行したところ下記のようなエラーが出ました。 ---------------------エラー全文ここから--------------------- PS C:\Users\eight\anaconda3\envs\venv> & C:/Users/eight/anaconda3/envs/venv/python.exe c:/Users/eight/anaconda3/envs/venv/main3.py Traceback (most recent call last): File "c:\Users\eight\anaconda3\envs\venv\main3.py", line 1, in <module> import whisper File "C:\Users\eight\anaconda3\envs\venv\lib\site-packages\whisper\__init__.py", line 11, in <module> from .audio import load_audio, log_mel_spectrogram, pad_or_trim File "C:\Users\eight\anaconda3\envs\venv\lib\site-packages\whisper\audio.py", line 5, in <module> import ffmpeg File "C:\Users\eight\anaconda3\envs\venv\lib\site-packages\ffmpeg\__init__.py", line 2, in <module> from . import nodes File "C:\Users\eight\anaconda3\envs\venv\lib\site-packages\ffmpeg\nodes.py", line 3, in <module> from past.builtins import basestring ModuleNotFoundError: No module named 'past' ---------------------エラー全文ここまで--------------------- エラー内容が変わったので、再度anaconda promptでffmpeg -h コマンドを試したところ認識されるようになりました! ffmpegファイル自体は認識されるようになってその中のnodes.pyというファイル(確かにそのファイルはpythonソースファイルとして当たり前でしょうが存在しておりました)の中を見に行っているようです。 この後はどうしたらよいでしょうか? (from past.builtins をインストールして from past.builtins import basestringを書き加えるべきでしょうか)
jbpb0

2022/11/06 00:05 編集

あれ? 今回は質問のコードの先頭の > import whisper でエラーが出てますが、今までは質問のコードの最後の > result = model.transcribe(path, verbose=True, language='ja') でエラーが出てたのだから、それよりも前の > import whisper ではエラーは出てなかったはずです 何が変わったのだろう? > その後上記2行を削除して再度実行したところ のコードは、これまで実行してたコードと同じですよね? 【追記】 現状では、 https://qiita.com/studio_haneya/items/a2a6664c155cfa90ddcf の「2. 動画ファイルの情報を取得する」に書かれてるようなことをやろうとしても、エラーになるのでしょうか? 【追記2】 anacondaプロントで conda list を実行して、「future」が入ってるかを確認してください もし入ってなければ、(pipじゃなくて)condaでインストールしてみてください https://anaconda.org/anaconda/future そうすれば > ModuleNotFoundError: No module named 'past' が出なくなると思います なお、もしpythonコードの実行をpythonの仮想環境下で行ってるのなら、上記は全てその仮想環境を有効にした状態で行ってください (「pip install...」の時と同じ)
eightchip

2022/11/06 12:04

jbpb0さん、ご回答ありがとうございます。 最初のご質問の件ですが、はいコードは変えていません。 なぜこのようなエラーが出たのか見当がつきません。 【追記】のqiitaの記事の件ですが、下記のコード import ffmpeg path = "7008004_DiscA_01.mp3" video_info = ffmpeg.probe(path) video_info を実行したところ下記のエラーが表示されました。 -------------------------------------------エラー---------------------------------------------- Traceback (most recent call last): File "c:\Users\eight\anaconda3\envs\venv\main3.py", line 9, in <module> video_info = ffmpeg.probe(path) File "C:\Users\eight\anaconda3\envs\venv\lib\site-packages\ffmpeg\_probe.py", line 20, in probe p = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) File "C:\Users\eight\anaconda3\envs\venv\lib\subprocess.py", line 969, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, File "C:\Users\eight\anaconda3\envs\venv\lib\subprocess.py", line 1438, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。 ---------------------------------------エラーここまで------------------------------------------------- となります。 futureの件については、install 前のconda list では表示されない事を確認後、conda install -c anaconda futureをanaconda promptで実行しました(install後conda listでfuture の表示を確認しました) その後で、再度同じコードを実行したところ今度は下記のようなエラーが表示されてしまいました。 補足ですが、これらは全て同一の仮想環境を有効にした状態で行っています。 -------------------------------------エラー------------------------------------------------- Traceback (most recent call last): File "c:\Users\eight\anaconda3\envs\venv\main3.py", line 1, in <module> import whisper File "C:\Users\eight\anaconda3\envs\venv\lib\site-packages\whisper\__init__.py", line 11, in <module> from .audio import load_audio, log_mel_spectrogram, pad_or_trim File "C:\Users\eight\anaconda3\envs\venv\lib\site-packages\whisper\audio.py", line 5, in <module> import ffmpeg File "C:\Users\eight\anaconda3\envs\venv\lib\site-packages\ffmpeg\__init__.py", line 2, in <module> from past.builtins import basestring ModuleNotFoundError: No module named 'past' PS C:\Users\eight\anaconda3\envs\venv> & C:/Users/eight/anaconda3/envs/venv/python.exe c:/Users/eight/anaconda3/envs/venv/main3.py Traceback (most recent call last): File "c:\Users\eight\anaconda3\envs\venv\main3.py", line 1, in <module> import whisper File "C:\Users\eight\anaconda3\envs\venv\lib\site-packages\whisper\__init__.py", line 11, in <module> from .audio import load_audio, log_mel_spectrogram, pad_or_trim File "C:\Users\eight\anaconda3\envs\venv\lib\site-packages\whisper\audio.py", line 5, in <module> import ffmpeg File "C:\Users\eight\anaconda3\envs\venv\lib\site-packages\ffmpeg\__init__.py", line 2, in <module> from .audio import load_audio, log_mel_spectrogram, pad_or_trim nvs\venv\lib\site-packages\ffmpeg\nodes.py", line 3, in <module> File "C:\Users\eight\anaconda3\estringnvs\venv\lib\site-packages\whispered 'past'\audio.py", line 5, in <module> env> & C:/Users/eight/anaconda3/envs/venv/python.exe c:/Users/eight/anaconda3/envs/venv import ffmpeg File "C:\Users\eight\anaconda3\envs\venv\lib\site-packages\ffmpeg\nvs\venv\main3.py", line 1, in <module>__init__.py", line 2, in <module> from . import nodes nvs\venv\lib\site-packages\whisper\__init__.py", line 11, in <module> File "C:\Users\eight\anaconda3\e log_mel_spectrogram, pad_or_trimnvs\venv\lib\site-packages\ffmpeg\nvs\venv\lib\site-packages\whisper\audio.py", line 5, in <module>nodes.py", line 3, in <module> from past.builtins import basenvs\venv\lib\site-packages\ffmpeg\__init__.py", line 2, in <module>string ModuleNotFoundError: No module namnvs\venv\lib\site-packages\ffmpeg\nodes.py", line 3, in <module>ed 'past' string vs/venv/python.exe c:/Users/eight/anaconda3/envs/venv 問題が発生しました。このバグを以下の詳細と共に報告してください。 GitHub で報告: https://github.com/lzybkr/PSReadLine/issues/new 直前 200 個のキー: s / v e n v / m a i n 3 . p y Enter & Space C : / U s e r s / e i g h t / a n a c o n d a 3 / e n v s / v e n v / p y t h o n . e x e Space c : / U s e r s / e i g h t / a n a c o n d a 3 / e n v s / v e n v / m a i n 3 . p y Enter & Space C : / U s e r s / e i g h t / a n a c o n d a 3 / e n v s / v e n v / p y t h o n . e x e Space c : / U s e r s 例外: System.ArgumentOutOfRangeException: 値には 0 以上で、コンソールの次元のバッファー サイズ未満を指定しなければなりません。 パラメーター名:top 実際の値は -1 です。 場所 System.Console.SetCursorPosition(Int32 left, Int32 top) 場所 Microsoft.PowerShell.PSConsoleReadLine.ReallyRender(RenderData renderData, String defaultColor) 場所 Microsoft.PowerShell.PSConsoleReadLine.SelfInsert(Nullable`1 key, Object arg) 場所 Microsoft.PowerShell.PSConsoleReadLine.ProcessOneKey(ConsoleKeyInfo key, Dictionary`2 dispatchTable, Boolean ignoreIfNoAction, Object arg) 場所 Microsoft.PowerShell.PSConsoleReadLine.InputLoop() 場所 Microsoft.PowerShell.PSConsoleReadLine.ReadLine(Runspace runspace, EngineIntrinsics engineIntrinsics) ------------------------------------------エラーここまで-------------------------------------------- となりgithubに報告が必要なエラーのようです。 が、この後同じコード(下記)を実行すると上記の長いエラーは出なくなり import whisper import ffmpeg model = whisper.load_model("small") path = "7008004_DiscA_01.mp3" result = model.transcribe(path, verbose=True, language='ja',task="translate") print(result["text"]) ------------------------------------------------エラー-------------------------------------------- Traceback (most recent call last): File "c:\Users\eight\anaconda3\envs\venv\main3.py", line 1, in <module> import whisper File "C:\Users\eight\anaconda3\envs\venv\lib\site-packages\whisper\__init__.py", line 11, in <module> from .audio import load_audio, log_mel_spectrogram, pad_or_trim File "C:\Users\eight\anaconda3\envs\venv\lib\site-packages\whisper\audio.py", line 92, in <module> def log_mel_spectrogram(audio: Union[str, np.ndarray, torch.Tensor], n_mels: int = N_MELS): AttributeError: module 'numpy' has no attribute 'ndarray' ----------------------------------------------------エラーここまで---------------------------------------- というエラーに変わりました。 何度も本当に恐縮です。
jbpb0

2022/11/06 12:45

> install後conda listでfuture の表示を確認しました の状態なら、「future」を入れたら「past」も存在するはずなので、 > import whisper で > ModuleNotFoundError: No module named 'past' とはならないはずなのですが > この後同じコード(下記)を実行すると上記の長いエラーは出なくなり 同じコードを実行して、エラーが変わるのも謎です pipやcondaで何かする時は、anacondaプロンプト上のpythonや、jypyterや、vs codeを起動したままにしてたらダメです pipやcondaで何かする前にそれらは停止(終了)して、pipやcondaで何かやり終わってから起動しないとダメです それは大丈夫でしょうか? > AttributeError: module 'numpy' has no attribute 'ndarray' pythonで下記は実行できますか? import numpy as np np.ndarray(shape=(2,2))
jbpb0

2022/11/06 13:11 編集

google colabの「/content」に「7008004_DiscA_01.mp3」(他の音声ファイルでもいいです)をアップロードしてから、google colabで下記を実行したら、うまくいくはずなので、やってみてください !pip install git+https://github.com/openai/whisper.git import whisper import ffmpeg model = whisper.load_model("small") path = "7008004_DiscA_01.mp3" # アップロードした音声ファイルのファイル名に合わせる result = model.transcribe(path, verbose=True, language='ja') google colabへのファイルのアップロードのやり方が分からなければ、下記を見てください https://kenko-keep.com/google-colab-upload/
eightchip

2022/11/06 14:15

jbpb0さん、出来ました! 何度も丁寧にご指導頂きありがとうございました。 やりたいことがやっと実現できました。
jbpb0

2022/11/07 02:14

google colabで !pip list | grep ffmpeg !pip list | grep future !which ffmpeg を実行したら分かりますが、「ffmpeg-python」と「future」が入ってて、ffmpeg「本体」が「/usr/bin」にあります このように、必要なものがちゃんと揃った状態で、正しく実行したら、うまくいくはずなのです 質問者さんのローカルパソコン環境でうまくいかない理由はよく分かりませんが、必要なものがまだ何か足りないか、設定が間違ってるか、実行のやり方が間違ってるか、そこらだと思います google colabと同様に、質問者さんのローカルパソコン環境でも、必要なものが全部ちゃんと揃った状態で、正しく実行したら、うまくいくはずです ここから先は、自分で原因を見つけて、直してください

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.02%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

OpenAI Gym

OpenAI Gymは、強化学習を開発・強化するためのシミュレーション環境です。強化学習における実験や評価環境などを標準化し提供することを目的としています。さらに、結果をアップロードしたり、他の人の実行結果や実装を見ることも可能です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。