音声信号処理ライブラリ 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
等で利用可能になると思います。
Windows Insider Program
ひろのです。
引っ越しのバタバタが落ち着いてきたので
久しぶりの記事更新です。子供の日なので鯉のぼりを出したり、柏餅を食べたり、、。
季節を感じながら生活するのもいいですね。
今回はWindows Insider Programに参加してみました。
Microsoft社が提供する Windows10 の機能追加アップデートを通常より
先取りできるプログラムです。
Home page - Windows Insider Program
余っているPCで設定しようと思っていましたが、
引っ越しまではPCが隅に追いやっていました。
引っ越しも完了したので使いやすい位置に配置し、
参加となります。
Microsoftアカウントで普段使うPCと余っていたPCの両方に
Windows10がインストールしてあります。
普段使う方と、余っている方のPCで
各々別々のWindows Insider Program参加設定になる
ので安心して利用できます!
設定はSlowやFastといった設定があり、
ちょっと不具合あっても最新機能を利用してみたい。といった場合は
Fastが良いと思います。
Windows Insider Programの参加理由ですが、
通常のWindowsフォームアプリからWindowsユニバーサルアプリへの変換アプリを
Microsoft社が公開した為、利用したいからです。
Desktop conversion for UWP apps - Windows app development
利用のためにはAnniversary Update Previewが必須とのことで、、。
こちらの変換については別途記事にしたいと思います。
サポートOSに以下の記載がありました。
Windows 10 Anniversary Update - Preview (Build 14316 and up) - Enterprise edition
Swagger による APIリファレンス作成
ひろのです。
作りたいと思っていたソフトウェアを他の方が作った際に
あぁ、、、、作っておけばよかったなと思うことが
最近多いです。
思った時には手を動かす癖をつけないといけないとあらためて思いました。
仕事の関係で東京駅周辺をうろうろすることになり、
うろうろしていましたが大きなビルがさらにどんどん建ってきていて
さすが首都。と思いました。
ビル一つ建てるぐらいの大きなことを成していきたいと思いました。
時間は有限。
何を大事にするか、何をやめるかですね。
APIの設計をしていく上で、便利な書き方・ツールはいくつああります。
Swagger を使うことでREST APIのドキュメントが容易に作成できます。
Swagger – The World's Most Popular Framework for APIs.
まだまだ記法に慣れていませんが、モデルファーストを
意識して慣れていきたいと思います。
word2vec のインストールとデモの実行
ユニバーサルアプリ ( Visual Studio )
ひろのです。
ユニバーサルアプリを作成するために
Visual Studioからマルチプラットフォーム用の拡張をインストールしようとしたら
20GB以上のディスクが必要。
PCのスペックもそろそろ考えないといけないと思いました。
C# 機械学習( Accord.NET )
ひろのです。
引っ越し前日ということもあり、なかなか忙しくなってきました。
使い慣れたC#での機械学習を調べていたところ Accord.NET というライブラリを
見つけました。
Visual Studio の NuGetパッケージの管理からインストールが可能です。
多くのサンプルや機能があるので一通り触ってみてから記事にしたいと思います。