Core Audio と ASIO Driver を理解しよう。

Learn More
Core Audio と ASIO Driver を理解しよう。

Core Audio と ASIO Driver を理解しよう。 

プロユーザーのエンジニアさんでも Windows のオーディオがどうやって動作してるか理解している人はほとんどいません。Windows ユーザーが少ないこともありますが、基本的に ASIO を使っているからです、というか ASIO 以外を使っている人は逆にレベル高い。

そして macOS ユーザーも Core Audio がどういうものか理解していません。私も詳しくは知りません。ただ、Windows Audio のカーネルミキサーより自由度がある、程度にしか認識していません。

ただし、基本とか大前提の PC オーディオの知識だけはちゃんと理解してほしいなぁ…と思って簡単ですが記事に起こします。そうしないと最近流行りのストリーミングサービスを上手く活用できません。

デバイス一つに対して一つのドライバー


基本的に Windows のカーネルミキサーも macOS の Core Audio も、最終的に出力できるのは一つのデバイスのみです。(Core Audio の場合、無理やり複数デバイスを一つのデバイスとして認識させることは可能ですが、非常に高度な設定を要求され、コンピュータオーディオを深いレベルまで理解していないと運用が非常に困難です。)

いろんなサイトを見て回りまり、確認したのですが、Windows のオーディオついてキチンと解説しているサイトは皆無です。複雑怪奇に解説しているサイトはいくつもありますが、一番大切なことが抜け落ちています。一番重要なことは、Windows の場合、ASIO ドライバーと Windows Audio ドライバーは違うもの ということです。

ほとんどの Windows ユーザーの大半が勘違いしていると思いますが、Windows の音を ASIO ドライバー経由で鳴らすことは、デフォルトでは不可能です。で、そんなことは普通の人は知らないので、ASIO が Windows 上で動いていると錯覚しています。実際には ASIO は特定の対応ソフトウェア上で動き、その音が 直接、インターフェイスへ出力されています。Windows Audio の音がインターフェイス上でも鳴らせるのは ASIO ドライバーではない、Windows Audio 用のインターフェイスドライバーが音をインターフェイスへ出力しています。(ややこしい)

ASIO に対応していないソフトはオーディオインターフェイスをマルチチャンネルで使えません (基本 DAW 以外不可能)。また Windows Audio が使えたとしても、マルチチャンネルに対応してないので動作しないソフトウェアもあります。特にマルチチャンネルに対応したオーディオインターフェイスの場合、ASIO 上ではマルチで扱える場合がありますが、Windows のオーディオドライバーとしては基本的にマルチチャンネルをサポートしません。

ですから、仮想ドライバーなるものが必要で、オーディオドライバーの I/O セッティングができないソフトウェアではデバイスは独特の動きをします。だからものすごく Windows Audio は理解が難しいのです。Core Audio もある程度は一緒で、基本的に DAW 以外のアプリケーションはマルチに対応していない、アプリケーションによっては Windows も Mac でもデバイスドライバーの信号を一切受け付けないソフトウェアもあります。

だから Windows も Mac も仮想ドライバー的なサードパーティソフトがあります。Windows の場合、オススメは VB-Audio の Voice Meeter (用途に合わせて Banana、Potato などある) macOS の場合は SoundFlower ですが、仮想ミキサーは別で用意する必要があります。(LadioCast 等)

Windows には Voice Meeter があるが macOS ユーザーとしてはこのソフトが非常に羨ましい。

VB-Audio: https://www.vb-audio.com/index.htm

仮想ドライバーの役目


基本的に Windows の ASIO ドライバーも macOS の Core Audio も最終的には一つのステレオアウトプット以外出力できません。(Core Audio の場合 スピーカ構成を弄れる場合があるので厳密には少し違うが…)

で、普通のインターフェイスであれば、ドライシグナルとコンピューターリターンの音を同時に聞くことができます。(大体 Delay がかかって2重に聞こえるやつ) これで大体が上手く片付いてしまうことがありますが、配信系のソフトウェアを使う場合非常に、高度な設定を要求されます。

ゲーム実況の場合、それが、「リアルタイムの自分の声」と「ゲームの音声」だったり、DTM 実況?の場合、「リアルタイムの自分の声」「DAW 上の音」「OS 上の音」など複数をまとめる必要があります。

ここで、非常に厄介なのが、DAW の音 OS 上の音 が違うドライバーを動かしているというところです。基本的には OS の音を ASIO に入力することはできませんし、ASIO の音を OS のドライバーに流すことはできません。

そのために、中間地点に仮想ドライバーミキサーが必要になります。

コンピューターオーディオの信号の流れ


ドライバーの仕組みさえわかっていれば OS の音をインターフェイスに再入力させることは可能ですが、そんなことができるデバイスは非常に限られたインターフェイスのみで高度な設定が必要です。だから全て仮想ドライバーを必要とする前提で話を勧めます。

1. ソフトウェアは基本インプットしか見ていない。

DAW 以外のソフトウェアは I/O セッティングなんていう、高度な設定ができません。基本的に、2ch (ステレオ) のインプット信号しか、ソフトウェアは認識しません。だから自分の声以外、インターフェイスにその他の信号を入力させることは、物理的に結線をしない限り、不可能です。(基本 2ch 以上認識しないので声 Mono、その他の信号 Mono になるでしょうね)

OS やその他のソフトウェアの音声信号はインターフェイスか別のドライバーアウトプットから出力されるために、通常オーディオインターフェイスには入力ができません。(しつこく言いますが、これが可能なレベルのインターフェイスは存在します。)

ですので、インターフェイスをソフトウェアで設定しても、インターフェイスのインプットに流れている信号以外は、ソフトウェア上でいくらデバイスを設定してもアウトプットされる信号はソフトウェア上で処理できません。言われてみれば当たり前なのですが、これを理解するまで非常に時間がかかるので、皆さんトラブってるんですね。

Windows のデバイスは基本こんな信号の流れしか組めない。デジタル出力をデジタル入力、デジタル入力をデジタル出力に送ることは高度なデバイス以外は基本不可能。この基本が理解できないと、トラブルの解決が自力でできないことになる。信号の流れを把握することというのは、エンジニアリングの大前提。基礎の基礎。

2. インターフェイス上の音以外を入力する

ここで、仮想ミキサー、ドライバーが必要になります。

仮想ミキサー上で設定すること

  1. インターフェイスのマイクの音をミキサーへ入力
  2. OS の音をミキサーへ入力
  3. DAW 上の音をミキサーへ入力
  4. ミキサーにまとめた音を仮想ドライバーへ出力
  5. その仮想ドライバーをソフトウェアの音声入力に設定する。

詳しい設定方法はここでは解説しません。Windows の場合は ASIO と Windows Audio がわかれているので仮想ドライバーが複数必要です。

まぁ自力で理解するほうがいいでしょう。ただ、仮想ミキサーの使い方自体の解説ページはゴマンとあります。ご自分で探すといいでしょう。

macOS の Core Audio は OS 出力と DAW 出力を同じにできるので、理解が完璧ではないと つまずく 可能性があります。DAW の出力と OS の出力を分けるために仮想ドライバーとミキサーを上手く利用しましょう。

3. フィードバックと遅延

基本的にはフィードバックはしません。だから気にしなくてもいいと思います。インターフェイスによってはループバック機能があります。この機能について私は知識はありません。よって私に質問しないでください。

フィードバックの危険があるのは、高度な設定をインターフェイス上で行った時しか基本的に起こりえません。気にすることはないでしょう。

遅延に関しては、解決できません。音が送れて聞こえるクソインターフェイスとか思っている人は、勉強が足りないだけです。このあたりも初心者レベル過ぎて解説する気も起きませんが、自分の声だけはダイレクトで聞いたら?って感じです。ダイレクトモニタリングが ? な人は、このページを読む前に自分のインターフェイスの説明書を読んでください。

複数の音をまとめるにはミキサーが必要不可欠


おそらく、仮想ミキサー、ドライバーなしで信号をまとめられるインターフェイスは業務用の複雑なマトリックスを組み替えることができるもののみです。物理的に結線して無理やりは可能ですが、デバイス内部で DA 信号をもう一度 AD に戻すことができるのは、非常に高価で高度なインターフェイスのみです。

結構遠回りして、ミキサー型のインターフェイスを購入してアナログ領域で再度まとめて、配信している人とかいますけど、お勉強が足りなかった人達です。可哀想に…

コンピューターオーディオは非常に便利な機能を提供していますが、それを有効活用できる人は一握りです。なぜならコンピューターオーディオを理解できていないので応用が効かないからです。

ちなみに配信系の業務委託しているプロ現場でも遠回りなセッティングしている人はゴマンといます。インターフェイス1台ですべてたりるのに iTunes や Spotify 用の PC 1台とインターフェイス、ピンやヘッドマイクと PC 音を入力するためのミキサーと配信用のインターフェイス、計 3台 用意している現場もありました。プロの現場でもそんなもんです。

多少難しいかもしれませんが、一つ一つ理解できると、非常に効率のいいシステムが組み上がり、出費も抑えることができます。

基本がおろそかになっているのは仕方ないことかもしれませんが、この記事を見て自分のシステムを見直すきっかけになれば、、、なと。

  • 書いた人: Naruki
    レコーディングエンジニア
SNS Share