2015/10/24

JACK Audio Connection Kit・・・

・・・を Windowsで使う場合のまとめ。


■ Ubuntuなど Linux勢では当たり前になっているらしいコレ。


コレを イザWindowsで使おうとすると、数多ある情報古いTips記事で混乱するコト極まりナイ。
そもそもWindows向けとして、GUI利用のみに特化した解説が成されたサイトがナイのだ・・・
愚痴りたい事は山ほどあるが、過去に散々書いたのでココでは割愛しよう。
■ そもそも・・・
これはナニに使うものであるのか。 Windowsでは馴染みがナイ分、ソコから説明が必要だろう。

結論から云うと、オーディオケーブルの代わり。
と云っても、システム内のアプリケーション同士のオーディオ信号の繋がりを操作するモノだ。

"仮想のオーディオパッチ盤パッチケーブル" とでも云った趣だろう。
■ どのように使えるのか・・・
音楽制作系ソフト と オーディオミキサーソフト、端末オンボードのサウンドチップ や USB音源 などを自在に接続出来る。

しかし、本来なら コマンドプロンプト上のコマンド操作で 接続指示を出して利用するモノであった。
が、今 現在は、配布されているパッケージに 利便性の高いGUIが同梱されている為、マウス操作だけで完結するようになっている。

JACKが対象と出来る処理は・・・
・仮想も含むASIO機器への接続
・認識した仮想オーディオポート同士をパッチ(接続)する。
・LANなどのネットワーク経由で 複数マシンの音声データを相互接続
・・・大きく分けて この3つ。 そして、基本的には A.S.I.O.(以後 ASIO)に準じて動作をする、Windowsのオーディオシステムとは 構造も音質もベツモノである。 良くも悪くも、その点は充分に踏まえて利用する必要はあるだろう。
■ なにより最大の特徴は・・・
前述一覧にある通り、オーディオパッチ(接続)の枠組みが 1セットのコンピュータシステムに留まらないコトにある。

複数のコンピュータの音声処理を オーディオケーブルを用いる事無く、
ネットワーク経由(LAN/WAN問わず)で データとして相互接続出来る。 この点に尽きるだろう。

それは Windowsマシンに導入しても同様だ。
リモートデスクトップ等を用いずに、低遅延なネットワークオーディオ環境を実現出来る。

このような機能を提供しているアプリケーションは Windowsでは 高価なプロ向けを除けば 存在は期待出来ない。

だが JACKは、最新のJACK2であれば Windows向けも かなり以前から配布されていて既に安定版。
それを無償で利用出来るのだ、活用しないテはナイ。
■ では 何故 Windowsでは然程普及していないのか?
元が Ubuntuなど Linux向けがメインで、多くのTipsサイトも そうした環境での利用を前提としたトコロが多い。

因って、当然のように説明も コマンドライン操作での扱いが主流、
要は ギョーカイ人やオーディオマニアの利用が大半で、
コンピュータでの音質に 全くこだわりのナイ一般には 著しく閾が高い逸品 だったってコトだ。
GUIに至っては 簡便な操作の説明はあるが、多彩な機能の詳細な設定に関する解説は ほぼ皆無だ。 更に、最近は そうしたTips更新自体が滞っている・・・
その要因としては、Linux勢であれば セットアップから利用までが充実していて
JACKを利用する為に 改めて説明を要する点が 概ね無くなっている事実もある。
それが Windows向けのTipsともなると、絶望的な状況だった。 まず大前提として、Windows機器初心者まで理解出来るようなサイトは皆目ナイ。 あからさまに 判ってる人間が 判ってる人間に向けて書いている・・・ GUI・・・ 画面操作での利用前提で最適化され、ネットワークオーディオ機能にまで至る詳細 且つ、 簡易に理解出来る解説は得られなかったのだ、普及する由もナイ。
■ ソコで・・・
このセットアップと運用を おきつね機材にて模索、必要な手順と設定の詳細を ほぼ把握、実用として利用を開始した。

・・・それで得た結果を Tipsとして纏めて診た次第。
■ JACKを用いるにあたり、今回の検証で判明した重要な注意点を・・・
★ JACKも含め JACKに接続する 全てのアプリケーションは、通常権限で起動している必要がある。
JACKのように サービスとなるアプリケーションを核として、複数のファイル群で構成されているパッケージでは、
仮にそのうち1つだけが管理者権限で起動されるような状態になると、それぞれのプログラムが通信出来なくなるケースも。

JACKでは、JACKサービスをリモート操作するフロントエンド・・・ 云うなればリモコンに過ぎないGUIである
Jack Control (qjackctl.exe) だけを管理者権限で起動してしまうと、JACKサービスコア(jackd.exe)や
他の機能を提供するプログラムと データのやり取りが出来なくなるのだ。

当然、JACKを用いて接続する他のオーディオアプリケーションも 同様に留意しつつ利用しなければならない。
★ Windowsシャットダウン前に、JackControlから[Stop]したほうが良い。
絶対に発生する訳ではナイが、次の起動時にjackdサービスが自動起動されて、結果として二重起動となるコトがある。
コレに関しては、対策をサポートスクリプトに盛り込む予定だが、ソレまでは この点留意して欲しい。

20151028 013023更新のサポートスクリプトにて対策済み。
■ インストールの そのまえに・・・
◆ Windowsでの馴染みの薄さに反して 結構歴史があるらしい。(興味があるならWikiの参照を推奨する)
しかし、巷に溢れる "Windowsでの利用" に関する 国内外の "過去の評判" を 診ると、
とても使い物になるとは思えなくなる様なモノばかりだった・・・

だが 今現在の実際は、充分に熟れていて、概ね完成されていると断言して良さそうだ。


ココに至ると既に、別段 音質を語るオーディオマニアなどでナイとしても、充分に利用価値があると思われる域。
最新含めてWindowsの[音量ミキサー]がゴミである事実は、マニアに云われずとも明らかである故。

が、仮想オーディオの多用は 総じて負荷が大きくなるので、使用するマシンスペックとの相談となるだろう。

まぁ、Microsoftが もう少し真面目にオーディオに取り組めば JACKの様なツールも半分は必要性を失うのだろうが・・・
◆ Windowsで ASIOを用いる意味は?
Windows標準の [音量ミキサー] を 介さず(使わず)に 音を処理する。
 に尽きる。
・・・音声を再生するアプリケーションを [音量ミキサー] を通して 任意のスピーカーへ出力するのが Windowsでの基本的なオーディオの使い方になるのだが、 これが笑えないくらい品質の低いモノで、著しい音質劣化の原因となっている。
それは Microsoftも重々理解していて、ASIOと重複する機能 [WSAPI] と 云うモノを提供しているが
既に Windowsから UbuntuなどLinuxを用いてASIOに逃げてしまった顧客を引き戻せる程の魅力は無く、
ASIO陣営優勢で、WSAPIは戦況芳しくナイのが現状である。

ココでMicrosoftが自覚すべきは、

プロユースな楽曲制作に於いて 1機のマシンでは処理性能が未だ足りていない と云う事実だ。

因って 複数のマシンをネットワークオーディオで遅延無く連携させて使用するコトになるのだが、
それを OS仕様起因で妨げているウチは、Windowsを 音楽のプロがマスター音源制作に用いる可能性は、かなり低い。
もし 今のWindowsの枠組みでコストを掛けずに出来るコトがあるとしたら、"[音量ミキサー] を介在させない" 程度となる。 しかし それだけでも、相応の品質な音声ソースであるなら、それを損なう事無く再生出来るだけで、 当然のように音(再生の)質は改善するコトとなるのは 云わずもか だろう。 ・・・とは云え、そんなにこだわりも無く、携帯オーディオプレイヤー程度の音でも満足出来ている耳なら、 JACKを含む ASIO関連に手を出す必要は ナイ可能性が高い。 まぁ、おきつねさまも この用途を期待しての利用ではナイのだが、サンプリングレート48kHzを基本として 用いているコトもあり、オーディオ周りの設定内容は Windowsの既定とは かなり異なっていた。 そのような設定でも、2機のマシンを φ3.5ステレオミニジャックな 端末のLineIn/Out同士を接続して利用すると、 どうしても無音時のノイズが気になる水準になる・・・ ソレを意識する度、第3のおきつね端末 MaintenanceUnit(MU)を リモートデスクトップしていた際のオーディオ再生の質を思い出していた。 "LANでリアルタイム音声データのヤり取りが可能であるなら、劣化を最小限に抑制出来るのだな・・・" とは感じていた。 最後に添えるが、高音質化にあたり ネットワークオーディオの点を除いても構わないのなら、 ソフトウェアとハードウェアを WSAPI対応製品で固める と云うのも選択肢ではある、懐と相談して決めて欲しい。
■ 前置きが長かったが・・・
面倒は全て、以下で配布している おきつねサポートスクリプトが解決してくれる。
この導入の流れに従えば、別途設定を要する項目は ほぼ無い、早速導入を開始しよう。


▼ JACKのインストール
JACK Audio Connection Kit・・・
▼ 仮想ASIO音源の導入
VB Hi-Fi CABLE & ASIO Bridge・・・
▼ JACKサポートスクリプトの導入
SupportScript・・・
★ それぞれに、手動での設定に関する解説も添えてある、一読して利用して欲しい。

0 件のコメント:

コメントを投稿