2012年2月13日月曜日

MacでRMAA: Apogee Duet2



オーディオインターフェイスとして、さらにヘッドフォンアンプとして、ゴキゲンに活躍中のDuet2くんです。

どれくらいゴキゲンかと言うと、、、

いやいや、音をコトバで表現するのはムツカシイし、そもそも言葉を尽くせば尽くすほど疑わしく感じるような気も...

定量的に調べる方法はないものかしら。

オーディオインターフェイスの評価といえば、RMAAが思い浮かぶんだけど、これはWindows用のソフトウェア。Duet2はMacでしか動かない。
むむむー、と、思いながら調べていたところ、意外とMacでも測定でけそうな!?

ということで試してみました。

 
【結果発表】
Duet2 RMAA 24bit 48kHz
Duet2 (Soft Limit on) RMAA 24bit 48kHz

注意
あくまで、うちの環境でわりかし適当に測定してみた結果です。
再生と録音がRMAAの想定しているとおりに正しく行われている確証はありません。
Duet2くんの実力全開かどうか分からない、ということです。

MacでもRMAAを使って測定できるのではないか、というところから始まったお遊び程度と思っていただければ。と思いまする。

いつもギターの録音に使っている設定です。
適当にやってみたわりに、それっぽい。

ただ、周波数特性だけは、なんでだろなーとも思ってます。10k超えたあたりが波打ってて、このせいでスコアが下がってるみたい。気になる気になる気になる...
せっかくバランス出力できるのに、TSケーブル使ったからかな。
そもそも再生録音が正しくできていないのかも。(後述)
といろいろと考え中。

Soft Limitを使った場合についても測定してみたところ、なかなか残念な結果に...
同じ環境で、Soft Limit on/offを切り替えただけなので、これはこれでおもしろい比較結果と言えるかも。
Soft Limitはドラムなんかの録音に使ってね、とのことなので、入力レベルの変化が素早く大きい楽器を録音しようとしたときに起こりがちな瞬間的なクリップを上手に処理してくれるのかなーと思ってます。自宅でギターの録音するときはoffでいいかなっと。


【レシピ】
  • RMAA
  • Audacity
  • Wine

RMAA
ダウンロードはこちら
そもそも今回の試みはこの投稿をみて思い立ったのでありました。
テスト信号をMacで録音して、Windowsで解析すればいいよーっていうことです。

なるほどっ!

つまり、こんな手順。RMAAが自動でやってくれるところを一部手動でやってあげることになります。
  1. RMAAのテスト信号をファイル(WAV)に出力 => イチバン左のボタン
  2. Macで別のソフトウェアを使ってテスト信号を再生しながら録音(オーディオインターフェイスの出力を入力にループバック)
  3. 録音結果(WAV)をRMAAで解析 => 左から2番目のボタン


Audacity
テスト信号を再生しながら録音する方法はいろいろあるんだろうけども、今回はAudacityを使わせていただきました。さくさくっと使えます。

気になってるところ。

今回使ったRMAAのテスト信号は24bit intのWAVファイルです。
これをインポートすると、いったん32bit floatになってしまうようです。Audacityがこれを再生するとき、オーディオインターフェイス(24bit intに設定)に送るデータがどうなっているのか、詳細が分からないのでした。
インポートしたデータをそのままエクスポート(24bit intに設定)したところ、もとのWAVとバイナリ一致したので、おそらく再生時にオーディオインターフェイスに送られているデータにもへんなことは起こってないと思うんだけど。

ただし、16bit intでエクスポートする場合には、量子化ビット数変換時のDitherに関するバグが報告されているので注意が必要かもしれません。

こんなこともあって、 今回の測定のための再生と録音が、ほんとうに正しく行われているか確証が持てていないのでありました。


Wine
測定をMacだけで完結させるため、WineでRMAAを動かしてみました。
Wineを動かすために、ひきつづきWineBottlerを使わせていただいてます。
RMAAのインストールはインストーラをクリックするだけでOK。

RMAA起動時「CKsEnumFilters::EnumFilters failed」っていうエラーダイアログが出ます。
そのままOKで起動したので、気にしないことにしよう...

それから、起動時「Initializing sound card...」のままフリーズすることがありました。その場合は、WineとX11をいったん終了してから再起動すれば大丈夫みたいです。

WineでRMAAが動くなら、測定もRMAAでやればいいやん、、、
と思ったのだけど、上記のようなエラーも出ることだし、オーディオインターフェイスのような周辺機器とのやりとりを行うプログラムは、ネイティブで動かすのに越したことはないかなー、ということで、今回はこんな方法で。


Thanks,

hiro