LoginSignup
4
2

More than 3 years have passed since last update.

jupyter noteでpydubを使うための方法

Last updated at Posted at 2019-09-21

 次のソースコードを使って、jupyter noteでwaveファイルなどを再生したかったが、簡単にはいかなかったのでその対処方法を記述する。
 色々調べたり実験したところ、pydubモジュールの外にpyaudioモジュールとffmpegとが必要なことが分かった。(特に実験の結果、pydubを動かすためには、ソースコードにpyaudioの記述がなくても、anacondaにpyaudioのモジュールが必要であることが分かった。pyaudioモジュールがないとplay(sound)コマンドを実行したときに、C:\Users<user_name>\AppData\Local\Tempフォルダのwaveファイルにアクセスできないとエラーメッセージが出力された。これを解消するためにpyaudioモジュールを追加して、対処できた。)
 本対処方法は、anaconda、jupyter-noteだけでなく、python-Idleでも有効ではないかと考えるので、pydubモジュールでお困りの方は試してみてはいかがでしょうか。
追記:python-Idleでは次のページがとても参考になります。
https://watlab-blog.com/2019/05/21/pyaudio-install/

動作させたかったpythonのソースコード
from pydub import AudioSegment
from pydub.playback import play
sound = AudioSegment.from_wav("C:\Users\\Documents\pydub_inst\input.wav")
play(sound)

環境
windows8.1
jupyter note 6.0.0
Python ver.3.7.3(64bit)
1_pydubがない.png

上記のソースコードをjupyter noteで実行したところ、pydubモジュールがないとエラーが出力された。

対処方法
(1)condaに必要なモジュールが入っているか確認
 Anaconda Promptからconda_listを実行し、pydubとpyaudioが入っているかを確認
2_conda_list.png

 pydub、pyaudio共に入っていなかった。(もしこの二つのモジュールが入っていたら、(3)へ進みffmpegのインストールとpathを設定)
3_conda_list_pydubなし.png


(2)pydubとpyaudioをインストールする。
 まず、pydubをインストール
pip install pydub
3_1.png

 次にpyaudioをインストール
conda install pyaudio
10_pyaudioインストール.png


(3)ffmpegをダウンロード
 pydubを動かすためにffmpegが必要なので次のサイトからダウンロードする。(もし、ffmpegがインストールされ、pathも正常に切られていたなら、pydubモジュールの問題ではなく、別の原因が考えられる。)
サイト:https://ffmpeg.zeranoe.com/builds/
5_ffmpeg_download.png

 zipファイルを解凍し、解凍したフォルダの名前をわかりやすい適当な名前(例えばffmpeg-win64)に変更し “C:\Program Files”の下に置く。
6_ffmpeg_c.png
12_bin.png

 ffmpegのバイナリーファイルにpathを切る。
windowsのコントロールパネル――システム――システムの詳細設定(システムのプロパティ)――環境変数――システム環境変数――編集
7_システムのプロパティ.png
  
 システム変数の編集の変数値の最後尾にffmpegのルートからパスを追記する。(ドライブ名C:の前にセミコロン(;)も忘れないように追記。)
例);C:\Program Files\ffmpeg-win64\bin
8_環境変数_path.png
9_システムの環境変数_編集.png

(4)正常動作の確認
 以上で必要なモジュールなどを全てインストールしたので、正常動作を確認する。
11_正常動作.png
jupyter noteで先ほどのソースコードを実行し、音声が出力されたことを確認した。

4
2
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
4
2