2015/10/24

JACK Audio Connection Kit・・・

<<< 20180126 134824 >>>
複数のマシン全てが Windowsマシンであるなら、このログで扱っている [JACK Audio Connection Kit] は、必ずしも要は無い。
もし、Linuxマシンとの 仮想音声パッチ処理が必要無いのであれば、
同VBAudio提供の、[VoiceMeeter Banana] の [VBAN]機能の利用を推奨する。
同社サイトより [VoiceMeeter Banana]/[VB-CABLE] の 2つをダウンロードして欲しい。
・ 予算があれば、[VB-CABLES A]/[VB-CABLES B]もあったほうが、様々なパッチが容易に可能となる。

・ 何れも 24bit 192kHzまでなら対応しており、一般の利用でなら、不足のあるシーンは無いだろう。
おきつねさまの環境では数年前より、24bit 96kHzで稼働させている。
設定するべきサンプリングレートは、音源チップやオーディオアンプの入力上限、
実行しているWindowsマシンのプロセッサ性能との相談となる点、充分留意されたし。
それら全てを・・・
音声を相互接続したい複数のWindowsマシンへ導入し、Windowsの[サウンド]設定画面と
[VoiceMeeter Banana]の画面内で簡単な設定を行うだけで、ほぼ遅延の無い LAN経由の仮想パッチを実現可能だ。
・・・インストール手順など。
過去版と違い JACK Audio Connection Kit 公式 からの1ファイル確保だけで、調達作業は完結する。


Windowsのタイプに合わせて、64bit/32bitのいずれかをダウンロード。


インストールに とりわけ説明を要する点は無かった。
★ 重要
後述のセットアップを続けるには、JACKを起動し ナニもしないまま 一旦[Quit]で終了させて欲しい。
■ ココに至っておいてナンだが・・・
◆ JACK単体では何の役にも立たないw
USB接続のASIO機器や ASIO仮想オーディオがあって、やっと意味を成すモノである。
JACK は あくまで "音源のパッチ(接続)を行う" 機能のみを提供している。

因って、データの再生品質を担保するのは 仮想を含むASIO音源の性能と設定次第だ と云っていい。
◆ 更に・・・
本格的なASIO機器ともなると 安くはナイ、気軽に調達して始めるようなシロモノではナイ。

だが悲観するコトもナイ。
Windowsでも ASIO機器を仮想処理出来るフリーツールが提供されている。
◆ 仮想ASIO音源の代表格は・・・
・・・ASIO4ALL らしい。

それで一応、Windowsマシンに搭載された物理音源を ASIO機器として接続するコトが出来るようにはなる。

ただ困ったことに、ASIO4ALL自身は 単独で起動する機能を有していない・・・
他のASIOソフトから呼び出されるコトで稼動するように出来ている。

それでも、JACKを シングルマシンの ローカル音源制御のみの用途として利用するだけなら、
数多あるTipsの通り JACKの設定画面で ASIO4ALLを音源として設定すれば、
ASIO4ALLの設定画面で選択した物理音源から音を出すコトが出来る。

しかし、JACKのネットワークドライバを使っての音声データのやり取り・・・ 
ネットワークオーディオとして利用しようとすると ハナシは変わってくる。

オーディオサーバ側ではASIO4ALLを 既定の音源として設定するだけでイイのだが、
クライアント側JACK自体では ASIO4ALLを呼び出す手段が提供されていないのだ・・・

ASIO4ALL を 全面的に推せない理由を添えておこう。

おきつね端末のスペックですら、重くなるシーンが見受けられたのだ。
コレを無条件に 他者へ薦める事は、おきつねさまには出来ない。

因って、もし ASIO4ALLを用いる場合でも やはり、自己判断にて お願いしたい。
◆ では JACKを利用するにあたり、実用的に困らない仮想ASIO音源は?
VB-AUDIO Software VB Hi-Fi CABLE & ASIO Bridge
 だろう。
JACKのインストール完了に続けて コレの導入と設定を、リンク先おきつねログに従って行って欲しい。 ★ 汎用性も考えて、このログでは コレを用いた前提で、設定を纏める。    (ASIO4ALLとの併用は 巷にTipsが多い・・・ 改めてログにするとしても後日かな・・・)
◆ VB Hi-Fi CABLE & ASIO Bridge(以後 ASIO Bridge) も 欠点がナイ訳ではナイ。
ASIO Bridge を ASIOとの接続を行ったままシャットダウンした場合、
次に起動された際に、接続されていたASIO音源が まだ準備できてなければ ソレを呼びだして起動する・・・

音源によっては便利な機能だ。 ・・・しかし JACK を 繋ぐ場合は、少し勝手が違う。

この ASIO Bridge から 呼び出せるのは、設定を保持している [JackControl] ではなく、
JACKの基盤部分である[JackRouter] だけだ。

その [JackRouter] を [JackControl] を 介さず直接呼び出す為、施した設定は全て無視される。

残念ながら現状、ASIO Bridge に 詳細なパラメータを指定して、JACK を 起動するような機能は実装されていない。
◆ では使えないのか?
否、JACK を JackControl画面から[Start]した後に、ASIO Bridge の [ASIO OFF]ボタンをクリックして
[ASIO ON]にすると、JackControlでの設定が適用された状態で ASIO Bridge が 接続される。

先んじて任意の機能が有効な状態で JACKが開始されていれば、ASIO Bridge は ソレに従う。
この仕様起因で、ASIO Bridgeを Windowsのスタートアップ登録して起動させるコトは推奨出来ない。

ただ、おきつねさまはものぐさだ、Windows起動毎に 順序に従って操作して起動するのが面倒になった。
早々に インストール後の設定と 起動/終了のサポートスクリプトを作成し、続く別ログにて配布している。
■ JACK に 加え、ASIO Bridge の 導入も済んだ前提で、設定のハナシに移行しよう。
■ Windowsサウンドの設定
・[音量ミキサー]画面で、スピーカー出力させる音源以外を全てミュートに。

・サンプリングレート44.1kHz以外を使う場合は、
 [サウンド]設定画面の 入出力全てで、可能なら 任意のレートを設定。

このTipsは 概ね48kHzを使うモノとして記述してあるが、その点は任意で。
■ おきつねスクリプトの確保と導入。
★ どうしても利用開始が不便だったので、サポートスクリプトと(設定の)インストーラを組んでみた。
JACK 設定と起動/終了を補助するスクリプトの概要と配布
 リンク先おきつねログの内容に従えば、利用の準備が全て完了する。

★ おきつねさまのサポートスクリプトのインストールだけで 以下内容は ほぼ全て設定を完了する。
・・・画像付き設定Tipsを 設定確認用に保留。
※ 設定値が最新のモノとは異なるが、参考資料な為、画像の更新はしない。 
  しかし、ただ使うのではなく、理解した上で JACKや ASIOを利用したいなら 一読を推奨する。


■ 64bitのWindowsで 64bitのJACK2を用いる場合に限り、JACKインストール後に 必須手順がある。
本家公式の ココにも(英語で)ある通り、JackRouterの64bit版のインストールだけは、最新配布版でも まだ、
インストーラが自動で導入を処理しない、利用者が各位操作してセットアップを完了させる必要がある。
しかし 作業自体は至って簡易、管理者として起動したコマンドプロンプトで・・・
regsvr32 "C:\Program Files (x86)\Jack v1.9.10\64bits\JackRouter.dll"
・・・この1行だけ実行して終り、これでエラーなく処理できれば インストールは全て完了。 但し、JACKの導入に際して インストール先を変更している場合は、ソレに合わせて適宜実行を。 (おきつねJACKサポートスクリプトではインストール先変更も検出、追従する)
■ [JACK Audio Connection Kit]-[Setup] 基本設定
ネットワークオーディオ機能を使わない場合も この設定。

[Driver:] portaudioモードで設定。

[Server Prefix:]
jackd -R -S -X winmme
 コレで仮想MIDI接続も可能になる。 不要なら -X winmme を消す。
[Realtime] 有効(チェックを入れる) [No Memory Lock] 有効(チェックを入れる) [Frames/Period] 1024 [Sample Rate] 48000 [Interface] で 選択すれば [ASIO4ALL] も 利用出来る。 [ASIO Bridge] を 使う場合は (default) の ままに。 ◆ おきつねスクリプトは ココで使用を設定する。 [Save JACK audio server confoguration to:] で ファイル名だけ付ける。 保存は Cドライブルートとなる、変更手段不明。 起動後に JackControl画面で パッチをやり直す必要がある、通知領域に最小化起動すると かえって不便。 因って、以下 [Start minimized to system tray] の チェックをハズして 無効(既定値) にする。
■ ネットワークオーディオサーバ/クライアント機能利用の設定。
◆ ServerSide - 複数のWindowsマシンと 音声を連携させる為の中心機器[オーディオサーバ]のみで この設定を。
[Settings] [Display] [Misc]タブは、基本設定のまま。

[Options]タブ-[Execute script after Startup:] に・・・
jack_load netmanager -i "-a 192.168.xxx.xxx"
 192.168.xxx.xxx は、  ServerマシンのIPアドレスを指定する。  この設定を行わないとサーバとして稼動しない。
[Options]タブ以外の機能は 衝突する設定でなければ任意に可。
◆ ClientSide - サーバに接続するクライアントとなるマシンでは コチラの設定。
!!! Tips !!! - [net]モードでは、ASIO4ALL は 呼び出せナイ。
[Settings]タブ以外は、基本設定のまま。 [Driver:] netモードで設定。 [Server Suffix:]
-a 192.168.xxx.xxx
 192.168.xxx.xxxは、ServerマシンのIPアドレスを指定する。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。