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つ用意してくれている
と考えればいいです。
ですが、これだけでは足りないパターンも増えてきます。
■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で組み替えている。
この状態で要件は下記の通り。
------------------------------------
・OBSはマルチインプットのAIOに対応しておらず、AIOの1-2chのみを物理的に受け付ける。
→そのため、物理INがマイク・PCのどちらかになる
(つまりBH経由で片方は入力する必要がある)
・DiscordのカスタムCSSを入れる関係でDiscordを必ずMacで走らせる
→そのため、DiscordのアウトをOBSにBH経由で入れる必要がある。
・AIOのバグでDiscordにAIOのインプットをアサインするとノイズが走るため、必ず仮想BUSを経由してAIOの音声を入れること。
→BH経由で経由で(以下略)
-------------------------------------
下にルーティング図を書きます。
そう、その赤い場所にBHをもう一個入れたかったんです。
選択肢としてはBH 64chを入れるという判断もありました。
ただ使っていないとはいえ、
64chの内部BUSの帯域を走らせたらCPU的にどうなの?
っていう不安があったので、BH 2chを増やしたくてもちゃもちゃしていたら解決方法がBH公式のWikiに載っていたので、それを日本語化した感じです。
■一番カンタンなのは金払ってLoopBack買うのが良いと思いました。
ーーーーーーーーーーーーーーーーーーーー
■情報引用元