音声信号処理ライブラリ Essentia の導入(Mac OS X編)
ひろのです。
ゴールデンウィークも終わり、海の日まで祝日がない仕事日和です。
休み過ぎも調子が狂うので仕事してペースを取り返していきたいと思います。
今回は音声信号処理ライブラリ Essentia の導入についてです。
音響解析ともいえると思います。
楽曲や特定の音源についてテンポ等、
複数の数値を取得するために解析するライブラリとなります。
ESSENTIA | Open-source C++ library for audio analysis and audio-based music information retrieval
C++やPythonにて動作します。
今回はMac OS上で動作させますが、LinuxやWindowsでも動作する模様です。
Github にてソースやサンプル、音源等が公開されています。
github.com
1. Essentiaのインストール
home brew で導入出来ます。簡単です。
コマンド | 備考 |
brew tap MTG/essentia | |
brew install essentia --HEAD | インストールします |
2. Essentiaのビルド
コマンド | 備考 |
xcode-select --install | xcodeのコマンドラインツールを導入。場合によりGUIでインストールします。 |
export PATH=/usr/local/bin:/usr/local/sbin:$PATH | を~/.profileファイルに記入しておきます。 |
brew install pkg-config gcc readline sqlite gdbm freetype libpng | |
brew install libyaml fftw ffmpeg libsamplerate libtag | |
brew install python --framework | |
sudo easy_install pip | pipを入れます |
sudo easy_install nose numpy | |
Git( https://github.com/MTG/essentia )からEssentiaをダウンロード | ※master(2.1beta2) と、2.01安定版のtests/audioディレクトリだけコピーしてくる。 |
./waf configure --mode=release --build-static --with-python --with-cpptests --with-examples --with-vamp | 設定保存 |
./waf | ビルド |
./waf install | インストール |
./waf run_tests | C++版テスト |
./waf run_python_tests | Python版テスト |
環境によっては./waf configure で pkg-configが利用出来ないといったエラーになる
場合があります。homebrewのインストール先の関係となりますが、
sudo chown -R $USER /usr/local
brew link pkg-conifg
brew link freetype
等で利用可能になると思います。