shingoushori's dialy

音信号処理を専ら研究していた元博士後期課程の学生によるメモ

Pythonで楽曲のスペクトルの動画の作成 のメモ

以下が構成するモジュールとかアプリケーション
・matplotlib
imagemagick
FFmpeg
PyAudio
・NumPy

以下のページのサンプルが素敵
Frequency spectrum of sound using PyAudio, NumPy, and Matplotlib · GitHub

matplotlibがmp4が描き出せるというのが、
楽曲のスペクトルでなくとも、手軽そうで素敵です
matplotlib でアニメーションを作る - Qiita

しかし、悲しいことにこれだけだとうまくいきませんでした
Mac特有の問題と記事の時期とのズレが問題かと

まず、Macだとmatplotlibがいうことを聞いてくれないので、
以下のページを参考に、設定ファイルmatplotlibrcを書き換えました
matplotlibで簡単にアニメーションをつくる(mp4, gif) - Qiita
pyenvとvirtualenvで環境構築した時にmatplotlib.pyplotが使えなかった時の対処法 - Qiita

次に、FFmpegです
サンプルだと -acodec libmp3lame となっていますが、これが通らず
mp3のエンコーダー lame が未インストールだからだろうと推測しつつ
以下のページに倣って、 -acodec aac としたら通りました

http://dev.classmethod.jp/etc/ffmpeg-create-movie-by-audio/