netjack
とは?
なお netjack を使いこなすためには若干のコツがありますが慣れてしまえば結構簡単です
netjack を取り扱う上での制約
netjack で相互接続する JackAudio は 必ず有線 LAN に準ずる環境である ことが必要です
と言うより netjack 自体が有線 LAN ネットワークを前提としているので Wi-Fi 環境ではそもそもまともに動きません
nyarla.icon この辺りEthernet 経由で Audio などの入出力を行なう Dante を想像すると分かりやすいかもしれません また netjack は有線 LAN に 準じた環境で動くので仮想マシンとホストマシンの Audio / MIDI 接続でも使えます
なぜかと言うとnetjack 自体はコアに含まれていますが実装は動的なプラグインであるからです
そのため netjack を動かすために試行錯誤する際には Console からの操作が必要となります
また netjack を動作させる際にはファイアーウォールでポートを開く必要があります
なお開放するポートはデフォルトで UDP の 19000 番ポートです
netjack の使い方
netjack を使う前にホスト側とクライント側で行うこと
ファイアーウォールの 19000番の UDP ポートを必ず開放してください
これを行ないとそもそも通信できなくて詰みます
そして netjack が動かない理由の一つにファイアーウォールでポートが開いてなかったと言うのが良くあります
接続を受けるホスト側ですること
まず JackAudio の Jack Server のインスタンスを起動します
次に Jack Server のインスタンスが立ったら Console で下記の様なコマンドを発行します
$ jack_load netmanager -i "-a 192.168.1.10"
jack_load コマンドは各 OS 環境で実行ファイルにパスが通っている必要があります
なお実行ファイルの実体は Windows だと jack_load.exe で macOS / Linux だと多分 jack_load です
また 192.168.1.10 は各 JackAudio のホストマシンの IP アドレスと入れ替えて下さい
例えばホストマシンの IP が 10.0.0.10 だとしたら 192.168.1.10 を 10.0.0.10 に変えます
あとここで言う Console とは Windows だと コマンドプロンプト やmacOS / Linux だと端末 になります
以上で 19000/UDP が開けていて待ち受ける IP も正しければクライアントは接続できる様になります
接続するクライアント側で行うこと(QJackCtl で説明します)
まず JackAudio の Driver を net にします
参考:
https://gyazo.com/91b172359ca1cf03a6359495108abaa0
次に Advanced タブで -a 192.168.1.10 と言う感じで IP アドレスを指定します
なおここで言う 192.168.1.10 のアドレスは netjack のホストの IP アドレスです
参考:
https://gyazo.com/b69edd5e147ba21aaad7bb2700605168
そしてこの設定を保存した後 QJackctl で jack server を起動すれば(多分)ホスト側の netjack に接続できるはずです
一番最後にホスト側ですること
上記の設定が上手く行なえていれば netjack 自体の接続は出来ています
しかし netjack で接続しただけでは ホスト側でのAudio / MIDI のルーティングは行われていません
そのため netjack での接続が出来たら適宜 Audio と MIDI の ルーティングをホスト側で行う必要があります
なおルーティングはQJackctl に含まれる Patchbay や Carla などの JackAudio の Patchbay などで設定可能です この辺りは普通の JackAudio の Client 接続で行う作業と同じです
netjack が動かない時に確認すること
チェックする項目はおおよそ下記の三つだけです:
ポート開放が出来ているか
IP アドレスの指定が間違っていないか
ホストの JackAudio でキチンと Audio / MIDI の ルーティングを行なっているか