iTunes EQualizerの作り方

ジュークボックスソフトウェア、iTunes for Windows には大昔からイコライザー機能が搭載されている。プリセットされているイコライザーはイマイチ評判がよろしくないのだが、この世には有難いことに曲の楽器構成、サウンド、ジャンル問わず汎用的に使えるというパーフェクトイコライザーなるものが出回っている。
Windowsの場合、プリセットイコライザとユーザーが作成したイコライザが%AppData%\Roaming\Apple Computer\Preferences\com.apple.iTunes.eq.plistというファイルに保存される。プロパティリストファイルであるが、これはバイナリベースのプロパティリストファイルである。Windowsではそのままでは読みにくい。そのためApple純正コマンドplutil.exeを使用し、テキストベースに一旦変換する

plutil -convert xml1 -o "Tempfile.txt" "com.apple.iTunes.eq.plist"

として変換する。

UNIXの改行コードを認識できる一般的なテキストエディタで読めるようになる。ただ、面倒なことにまだ中身はBase64変換して記録されているようだ。

Base64で表記されている中身をバイナリに変換する。GNUあたりに変換するコマンドありそう…あった。しかし、Windowsに標準で搭載されているcertutilコマンドでBase64のエンデコードができるようだ。もともとセキュリティ、証明書関係のコマンドなのだが。
というものの自分はオンラインでサクッと変換できるサイトを利用した。Base64 to Binと検索すればでてくるだろう。巷に蔓延るBase64エンデコードサイトはなぜかテキストファイルとして出力するものばかりで困る。
バイナリ化したので今度はバイナリエディタで閲覧する。ざっと見た限りイコライザの左から順に2バイトずつリトルエンディアンで記録されているようだ。
これを理解すれば(+3dBが+300と記録されているので)100倍の精度でイコライザをカスタム・調整できるようになる。
最終的にcom.apple.iTunes.eq.plistに戻すには逆順をたどる。
bin > base64 > text.plist > bin.plist (com.apple.iTunes.eq.plist)

このテクニックはほかにも応用可能な気がする。
スマートプレイリストあたりにも使えそうである。

コメント

非公開コメント