前回でSoXが複数のオーディオコーデックに対応していると書きましたが、一方でAACやWindows Media形式などよく使用されるコーデックへの対応がありません。そこでffmpegも紹介しておきます。ffmpegは音声だけでなく動画にも対応し、また非常に幅広い形式を扱えそれらの間の変換にも対応するソフトウェアで、様々なソフトウェアのバックエンドとしても利用されています。SoXのように音声に対してエフェクトをかけたりする処理は基本的にありませんが、扱える形式の幅広さがウリです。これもコマンドラインインターフェイスを持ち、MacPortsなど各種パッケージ管理ソフトからインストールできます。
ところでffmpegにも実はスペクトログラムを表示する機能があります。ffmpegをインストールすると同時にインストールされるffplayというコマンドにビジュアライズの機能があり、波形やスペクトログラムを表示することができるのです。オーディオファイルを再生するときshowmodeオプションに2を指定するとスペクトログラム表示になります。
このスペクトログラム表示なんですが、軸や目盛りを表示することはできず、再生と同時にその時点のスペクトログラムが左から描かれていき、画面の右端まで到達するとまた左端から描画する……といった挙動をします。フルスクリーン表示もでき、また縦の周波数軸はリニアスケールです。あと、オーディオが2チャンネルあっても表示は1系統(ここら辺どうなってるのか不明)。ffplayのおまけ的な機能であることからもわかるように、どちらかと言うと分析というよりは見て楽しむためのもの。ですが音楽を聴きながらスペクトログラムを同時に表示するというのはかなり面白い体験で、好きな曲をこれで再生してみると楽しいです。
やや脇道にそれましたが、次回は実例を交えながらもう少し実用的なケースの話をするつもりです。
0 件のコメント:
コメントを投稿