macでmp3、AAC(m4a)をノーマライズする

世の中はハイレゾへまっしぐらの感があるのですが、私は今更ながらmp3、AAC(m4a)をBluetooth経由でといったプアオーディオをまっしぐらであります。
最近はアルバム単位でプレイリストを作ることもなくなってきて、殆どシャッフルでかき回しているので、曲間のボリューム(音量)の落差が気になってきました。
iTunesで一元管理され(し)ている時にはiVolumeを使っていたのですが、曲単位でスケールファクターを変更できるものは、波形編集できるタイプのソフトを除けばほぼ‘mp3gain(エンジン)’をバインドしたGUIラッパーが多いようです。
幾つか検索結果に出てくるのですが、Mac版は意外と多くないようです。
候補はこんなものでしょうか。

<http://alternativeto.net/software/mp3gain/?platform=mac>

MP3Gain Express for Mac OS XとMacMP3Gain-2.1

その中で“MP3Gain Express for Mac OS X”というのを試してみました。

mp3gain1

ウィンドウ内に対象ファイルをドロップして指定する操作方法は簡便で使いやすいものです。
ただ、残念なのは対象ファイルがmp3に限定され、AAC(m4a)ファイルを処理できないという点です。
もう少し調べてみると‘aacgain’というコマンドラインツールを使用しているものを見つければ、mp3ファイルだけでなくAAC(m4a)ファイルも処理できそうだということがわかりました。
見つけたのが、“MacMP3Gain-2.1”というものです。

macmp3gain_window

AppleScript Studioで作られたGUIラッパーのようで、ドラッグ&ドロップをサポートしていない点が少し残念ですが、機能的には十分です。
バインドしている‘aacgain’のバージョンを見てみると、1.4.6の‘mp3gain’をベースにした‘aacgain’1.7.0バージョンとなっています。

実は、‘aacgain’1.9.0というバージョンが、”MP3Gain Express for Mac OS X”のページに掲載されているのですが、GUIを持たないコマンドラインツールとしてのみの掲載となっています。
<http://projects.sappharad.com/mp3gain/aacgain_19_mac_cmdline.zip>
コマンドラインツールとしてのマニュアルはこのページにあります。

‘aacgain_19_mac_cmdline’をAutomatorで使ってみる

‘aacgain’1.9.0を上述の”MacMP3Gain-2.1″にバインドされている1.7.0と差し替えるという方法も考えたのですが、これは最後の手段として、Automatorを使ってスクリプトメニューから起動できるワークフローにしてみることにしました。

automator_aacgain

  • コマンドラインツール‘aacgain’をアプリケーションフォルダへ入れる。
    (図ではアプリケーションフォルダですが、パスを指定しておけばどこでもいいわけです。システム管理領域に置くこともないわけですし…)
  • 図の設定でワークフローとして保存し、スクリプトメニューから実行できるようにワークフローファイルを配置する。
    (例えば、‘~/Library/Scripts/Applications/Finder/’)
  • Finder上で、ノーマライズしたいサウンドファイルの入ったフォルダを選択してから、このワークフローを実行する。

この例では、Finder項目としてフォルダを選択してから実行するようにしていますが、直接ファイルを選択して実行したい場合は、“フォルダの内容を取得”アクションを外せば、選択されたファイルを対象とすることができます。
コマンドオプションとして‘-p’を使っていないので、元ファイルの修正日が変更されます。日付を変えたくない場合は‘-p’オプションを使ってください。その他のオプションについては、上記のマンページを参照してください。

ついでにMacMP3Gain 2.1に‘aacgain’1.9.0をバインドしてみる

Automatorのワークフローで機能的には十分かとも思いますが、思い立った以上、MacMP3Gain 2.1に‘aacgain’1.9.0をバインドして、MacMP3Gain 2.1のGUIをそのまま使えるようにしてみました。

macmp3gain_bind

‘aacgain’1.7.0バージョンが「aacgain.i386」という名前でバインドされていますので、これを念のため「aacgain.i386_org」と名称変更し、同じ“Resources”フォルダ内に‘aacgain’1.9.0バージョンをコピーして、「aacgain.i386」と名称変更します。
これだけです。