見出し画像

BlackHole 2ch を増やす

■BlackHole めんどくさい

Soundflower亡き後、Macの仮想サウンドバスの鉄板となったBlackHoleですがGUIがないことでとっつきにくさがあります。

特に厄介なのが
2ch/16ch/64chあるけどどれ使えばいいんだ!
ってことですね。

この16ch/64chはもともと、
DAW側でIOを自由に設定できるアプリケーション向けに作られたもの(超意訳)
とのこと。

なので、基本的な考え方は
BlackHole 2ch
BlackHole 2ch(16chそのうち14chは使えない)
BlackHole 2ch(64chそのうち62chは使えない)

BlackHole 2chをデフォルトで開発は3つ用意してくれている
と考えればいいです。
ですが、これだけでは足りないパターンも増えてきます。

※普通オーディオを扱う仕事をしていれば、
BH 16ch使ったら空いてる3〜16chに流し込めるんじゃないの?
って思うかもしれませんが、配信者に人気のLadioCastでは流し込めません。現状だとDAWを経由することが理想(開発者曰く)のようです。
むしろそれができるルーティングアプリがあったら教えて欲しい

■BlackHole、増やそうぜ

簡潔に言います。
単純にMacの下記のフォルダにあるBlackHole.driverフォルダをリネームして増やしてもドライバとしては認識されません。

Library/Audio/Plug-Ins/HAL/

ドライバとしてOSが認識してカーネルで動かすためにはUIDという一意のStringが異なる必要があります。
そのため、奥義を使います。
自作ビルドです。

■どうやって増やすんだ

まず下のBlackHoleのソースコードをZIPでDLしてきます。

次に、BlackHole.xcodeprojをXcodeで開いて、下記のダブルクォーテーションで囲まれた場所を任意の値に変更します。
僕は%ichの後ろに「_Custom」を足しました。

#define  kDevice_UID                         "BlackHole%ich"
#define  kDevice_ModelUID                    "BlackHole%ich_ModelUID"
#define  kDevice_Name                        "BlackHole %ich"

そして、Xcodeの環境設定でDeveloper Program に登録したApple IDでサインインしておいた上で、ビルドします。
このサインインをしていないとビルドに失敗します。


あとはProductsにできた
BlackHole.driverの「フォルダ」をリネームした後、

Library/Audio/Plug-Ins/HAL/

まるごと放り込みます。
あとは下記の魔法の呪文でCoreAudioを再起動かけるだけ。

sudo launchctl kickstart -kp system/com.apple.audio.coreaudiod

ね?かんたんでしょ?

■【おまけ】配線がサグラダファミリア

なんでこんなBH 2chを複数も使うのかというと、
自分のMacでの配信では
・OBS
・Discord
の2つのアプリケーションを走らせつつ、
・マイクIN(ミキサー経由でステレオ)
・PCからのオーディオIN
のステレオ2chつまりモノ4chを扱っています。
※ルーティングそのものはLadioCastで組み替えている。

LadioCastもリネームかラベル機能欲しい…

この状態で要件は下記の通り。
------------------------------------
・OBSはマルチインプットのAIOに対応しておらず、AIOの1-2chのみを物理的に受け付ける。
そのため、物理INがマイク・PCのどちらかになる
 (つまりBH経由で片方は入力する必要がある)

・DiscordのカスタムCSSを入れる関係でDiscordを必ずMacで走らせる
そのため、DiscordのアウトをOBSにBH経由で入れる必要がある。

AIOのバグでDiscordにAIOのインプットをアサインするとノイズが走るため、必ず仮想BUSを経由してAIOの音声を入れること。
BH経由で経由で(以下略)
-------------------------------------

下にルーティング図を書きます。 

画像1
赤い場所には現在「BH 2ch Kondo Custom」が走っている

そう、その赤い場所にBHをもう一個入れたかったんです。
選択肢としてはBH 64chを入れるという判断もありました。
ただ使っていないとはいえ、
64chの内部BUSの帯域を走らせたらCPU的にどうなの?
っていう不安があったので、BH 2chを増やしたくてもちゃもちゃしていたら解決方法がBH公式のWikiに載っていたので、それを日本語化した感じです。

■一番カンタンなのは金払ってLoopBack買うのが良いと思いました。

ーーーーーーーーーーーーーーーーーーーー

■情報引用元


いいなと思ったら応援しよう!