藤本健のDigital Audio Laboratory
第834回
「Macの音は問題なくビットパーフェクト出力」は本当なのか? Mojave/Catalinaでテスト
2020年1月6日 08:00
Macのサウンドはホントに大丈夫?
これまでこのDigital Audio LaboratoryではWindowsの、いわゆるカーネルミキサー(正式名称はオーディオエンジン)問題について何度も検証してきた。一方で、Macについては、標準のオーディオドライバがCore Audioである、という理由から問題はないと判断し、とくに取り上げてもなかった。でも、それは本当なのだろうか?
Mac OS XからOS XさらにはmacOSへと名称も変わり、そのバージョンもほぼ毎年アップデートされて、現在はmacOS 10.15 Catalina。このタイミングでプレイヤーソフトであるiTunesも消えてMusic、Podcast、TVというアプリへと切り替わった。まあ、問題はないとは思うが、ここで改めてMacで音楽を再生した際、ビットパーフェクトが実現できているのか、確認してみた。
これまでWindowsのカーネルミキサー問題を取り上げて記事にするたびに、SNSなどを通じて「Macは本当に問題はないのか?」「Macだって、複数アプリから同時に音が出るからミキサーがあるはずで音は変わっている」といった意見、質問などをいただいてきた。そうした指摘に積極的に返事はしていなかったが、Macで標準のオーディオドライバであるCore AudioはASIOと非常に近いものであり、これを通じてDAWの音をそのままオーディオインターフェイスへ送ったり、オーディオインターフェイスで取り込んだ音をそのままDAWに流し込むことができる。それをiTunesをはじめとする一般のオーディオ再生ソフトでも利用するため、途中で音が変質する心配はない、というのが一般的な認識だ。
とはいえ、何か問題がないとは言い切れないし、最新のmacOS 10.15 Catalinaでは多くのDAWが動作しなかったり、オーディオインターフェイスの不具合が出ているなど、現状まだトラブルが多い。しかも、長年使われてきたiTunesが廃止になるなど、オーディオ周りの変化は多そうなので、チェックしてみる価値はありそうだ。というわけで、ビットパーフェクトが実現できているのか、つまり1ビットたりとも音が変化したり、変質したりせずに出力できているのか確認してみることにした。
どういう方法で確認すべきか、少し考えてみたところ、もっともシンプルなのはMac本体だけで実験するのではなく、Macが出力したオーディオ信号をWindowsでキャプチャし、その後は普段使っているWindowsのユーティリティを見いてチェックしていくという方法だ。
実際の実験を行なうにあたって、いくつか準備が必要になるが、まずMacは1年前に購入したMac miniがあるので、これを使うことにする。各DAWメーカーやオーディオインターフェイスメーカーから、Catalinaでトライブル情報が多く出ており、まだ解消していないところも多いため、これまでmacOS 10.14 Mojaveを使っていたので、まずはMojaveでテストするとともに、せっかくなのでこのタイミングでCatalinaにアップデートするとともに、Catalinaでもテストしてみることにする。
またMacで再生した信号を正確にWindowsで受け取るためには、Mac、Windows双方でS/PDIFを扱えるオーディオインターフェイスを取り付け、S/PDIFケーブルで接続する必要がある。コアキシャルでもオプティカルでも構わないが、手元にあったのが、先日同様、SteinbergのUSB Type-C接続のオーディオインターフェイスである「UR816C」と、だいぶ古いがRolandの「UA-101」。これらはともにオプティカルのS/PDIF入出力を装備しているので、これを使うことでデータのやり取りができるはずだ。
確認してみたところUR816CのほうはWindows 10にも対応しているし、macOS 10.15 Catalinaへ対応するドライバも12月にリリースされていた。一方でUA-101の方はWindows 10には対応しているがMacのほうはOS 10.9止まり。ということは必然的にUR816CをMacに、UA-101をWindowsに接続して使う形となる。
素材は以前、テストに使ったWAVファイルを利用することにするが、単にビットパーフェクトの実現の検証なので、WAVファイルであれば何でも良い。WindowsでのキャプチャにはMAGIXの「Sound Forge Pro 13」を使い、ビットパーフェクトであるかどうかの判断はefu氏のWaveCompareを利用する。またMac側のプレイヤーソフトはMojaveにおいてはiTunesを利用し、その後Catalinaにアップデートしてからは、まだ使ったことがないMusicアプリを利用することとする。
Macの再生環境設定
ハードウェア側の接続ができたら、Macの再生環境の設定が必要となる。UR816Cは8in/16outのオーディオインターフェイスであり、ミキサー機能やエフェクト機能などたくさんの機能が装備されているが、これらを通すとそこで音が変化してしまう可能性もあるので、できるだけシンプルにS/PDIF端子から信号を出力する必要がある。
手順としては、まずシステム環境設定のサウンドにおいて、オーディオの出力先をSteinberg UR816Cに設定。一方で、UR816の内部設定を行なうアプリケーションの「dspMixFx UR-C」を起動し、S/PDIF出力ポートの設定をDAW Direct 1/2に設定する。さらにMacのAudio MIDI設定を開き、オーディオ装置の画面においてSteinberg UR816Cを選んだうえで、その出力のフォーマットを44.100Hzに設定する。用意しているWAVファイルが44.1kHzだからこうしたのだが、この設定が48,000kHzなどになっていたら内部でリサンプリングされてしまうので要注意だ。
でもこれだけの設定ではiTunesからの出力がアナログポートに出てしまうので、S/PDIF出力にもっていくためには、このオーディオ装置の画面でスピーカーを構成をクリック。ここでの出力先をUR816C DAW Direct 1およびUR816C DAW Direct 2に設定して準備は完了。すでにこの時点でUR816Cからは44.1kHzのS/PDIF信号が出力されているため、UA-101のデジタル入力ポートのLEDは点滅から点灯に切り替わりロックされているのが確認できる。
そしてMojaveのiTunesでwavファイルを再生すると、UR-101のモニター出力から音が聴こえてくる。これでルーティングは間違いなさそうなので、Sound Forge Pro 13を使ってキャプチャした結果がこれだ。
さっそく44.1kHz/16bitのステレオのWAVファイルとして保存するとともに、オリジナルのwavファイルと並べWaveCompareで比較してみた。前後に無音が入っているので、そこを飛ばすために「ゼロをスキップ」にチェックを入れて比較してみたところ、見事に完全一致。もともとの想定通り、ビットパーフェクトは実現していたようだ。
これでとりあえずの目的は達成できたが、せっかくならCatalinaとMusicアプリの組み合わせでもチェックしてみたいところ。CatalinaにアップデートしてしまうとDTM系のシステムが動作しなくなってしまう可能性もあるが、思い切ってアップデートを実行。30~40分ほどでCatalinaにアップデートできたので、まったく同じ手順で実行してみた。
Catalinaは新規インストールではなくMojaveからのアップデートであったため、基本的な環境はそのまま引き継がれていたが、UR816Cから音が出なくなっていたので、ドライバを再度インストールしなおしてみたところ、問題なく復帰。Audio MIDI設定のオーディオ装置におけるスピーカー構成の画面デザインが大きく変わっていたので、ちょっと驚いたがS/PDIFに出力されていることを確認した上で、目的のWAVファイルをダブルクリックしてみると、iTunesではなくMusicアプリが起動する。確かにiTunesとはちょっぴり違うけれど、不要な機能がなくなってスッキリした印象である以外、ほとんど違和感もない。再生すると、先ほどと同じようにS/PDIF経由でUA-101で音がモニターできているので、問題もなさそうだ。
再度、Sound Forge Pro 13でその音をキャプチャするとともに、WAVファイルとして保存。これを改めてWaveCompareで比較してきたところ、問題なくこちらも一致した。
というわけで、念のための実験ということではあったが、予想通りMojaveでもCatalinaでもビットパーフェクトを達成。Macの標準環境で音楽を再生する場合、ほかに音を出すアプリなどが起動していない限り、正しい音で再生することができるようだ。