Open DMX USB 互換品を1000円台で手に入れる方法 という記事を以前書きました。USB-DMXに興味のある方の多くは、最初はPCからDMXを出力 (送信) しようとします。つまりPCを照明卓として使いたいわけですね。
しかし、ある程度活用が進んでくると、次の段階として DMXをPCに入力 (受信) したいという要望が必ず出てきます。そのような要求に対して明確に回答できないまま10年近くやり過ごしてきましたが、最近、「制約がありながらも、これはできそうだ」と分かってきたので、紹介したいと思います。
なお、この方法はENTTECの本家 Open DMX USB (青箱) では不可能です。理由は後述します。Amazon等で購入できる、「汎用のRS-485-USBインターフェース」を使用してください。
用意するもの
- Amazonで売っているUSB→RS485変換ボード (FTDI FT232チップ使用)
Amazon商品リンクを貼っても短期間で出品者が入れ替わってしまうので、具体的なリンクの掲載は控えますが、見た目としては以下の形状のもので実績があります。
①裸の基板タイプ
「USB RS485 FTDI」等で検索して「安い順」でソートすると見つかりやすいです。
②XLRコネクタタイプ
「USB DMX FTDI」等で検索すると見つかりやすいです。
これ以外のタイプでも動作すると思いますが、必ずFTDI社製のチップが使われていることを確認してください。 - USB A-B ケーブル (必要であれば)
①裸の基板タイプを購入する場合は必要になります。 - XLR 3pin オスコネクタとケーブル (必要であれば)
①裸の基板タイプを購入する場合は必要になります。 - XLR 3pin オスオス変換
②XLRコネクタタイプを購入する場合、通常はメスコネクタが付属しているので、逆方向 (受信用) で使う場合、オスオス変換が必要になります。 - Q Light Controller Plus (QLC+) Ver 4.x系
Open DMX USB 関連の動作が最も安定したソフトであり、かつ今回の記事で扱う「受信」の場合、受信した信号を“取り扱える”ソフトが QLC+ くらいしか存在しないので、実質的に本記事はQLC+に関する記事になります。ただし、QLC+を“経由”する形で、Art-Net、MIDI等ほかの信号に変換することはできますし、QLC+ はオープンソースソフトウェアですので、プログラミングができる方なら、これを参考に自前でDMX受信用アプリを作ることも可能でしょう。
通常動作確認
まずは QLC+ を用いて、普通の使い方、すなわちPCからDMXを出力 (送信) する方の動作が正常であることを確認してください。
受信動作確認
入力/出力設定から、DMX USBをダブルクリックします。
次に「Mode」を、通常は「Open TX」に設定されていますが、「Open RX」に変更します。(Tx = Transmit = 送信、Rx = Receive = 受信 を意味します)
すると、「DMX USB」のチェックボックスが通常の「出力」側ではなく、「入力」側に出現します。
外部DMX卓を接続し、操作すると、外部入力アイコンが表示されるはずです。
あとはMIDIコントローラー等と同様に、QLC+のバーチャルコンソール機能で外部フェーダーとして活用することができます。
制約
この方法はうまくいけば非常に強力ですが、制約が多いことが分かっています。いくつか制約を述べます。
Windows ではうまく受信動作しない
Windows PC を使っている場合、Open DMX USB で送信は問題なくても、受信がうまくいかない可能性が高いです。これは QLC+ に Open DMX での受信機能を追加した人が明言していて (http://www.qlcplus.org/forum/viewtopic.php?t=13489)、要約するとWindowsが使っているドライバ「FTD2XX」が、DMX信号の「ブレーク」をうまく読み取ることができないから、と言われています。
少し詳しく述べると、DMX信号では、個々の値に信号上でアドレス情報を付与しておらず、「ブレーク」から数えて何番目の値か、ということだけでアドレスを判別しています。人間の言葉で言うなら、「アドレス1 は 10、アドレス2 は 50、アドレス3 は 100、……」という伝え方ではなく、「ブレーク、10、50、100、…」という伝え方をしていて、受け取る側が「ブレークから数えて何番目だったか」を理解していないと成立しない仕組みです。
ということは、「ブレーク」を解釈できないFTD2XXドライバでは、DMXの受信がうまくできない、ということになります。
ちなみに DMX USB PRO、DoctorMX 等の高級な USB-DMX デバイスでは、この「ブレークの解釈」をOSに任せずにインターフェースボックスの内部で実施しているので、こうした問題は起こりません。
DMX の相性問題が強そう
筆者が試した環境 (Macbook Air 2020 (Intel Mac), QLC+ 4.12.7, Mac OS Monterey 12.6.1) では、DMXの送信アドレス数が上限の512付近になると受信動作が不安定になる傾向にありました。おおむね 500ch 以内であればやや安定して動作しました。(DoctorMX の「レギュレーター」機能を使って、送信側のアドレス数を変化させて実験しました)
すなわち、しっかり512ch送信している「まともな」卓と相性が悪く、安価な24chしか出していないような卓だと逆に安定する、といった現象が起こる可能性があります。
ほかにも、ブレークの長さ、ブレーク後マーク (MAB) の長さなど、DMXの規格内での「相性」に属する部分で相当シビアに感じました。もしかすると他のアプリやOSの忙しさ等も影響している可能性があり、本番のきっかけ操作などを任せられるレベルではないかもしれません。
Linuxではもう少し安定して動作するかもしれませんね。
ENTTEC の Open DMX USB では不可能
ある意味「本家」とも言える ENTTEC Open DMX USB (青箱) では、上記の受信機能は不可能です。
この「青箱」では、内部の FTDI FT232RL というICチップの「RxD (データ受信)」端子に接続自体がされていないものと思われます。
よって、ENTTECとしては「青箱」は送信専用として作っているのでしょう。あえてこのような仕様にしているということは、やはり元からDMXの受信には不向きなデバイス構成である、ということかもしれません。
今後の展望
DMXをどうにかしてPCに取り込みたい、という用途としては DoctorMX, DMX USB PRO (黒箱) 、各種Art-Netノード等、さまざまなデバイスが存在しますが、できれば Open DMX USB レベルで安価なデバイスで実現したいところ。その目的としては、DMXを受けてUSB-MIDIで送信するデバイス、というのが最も有力になる気がします。そのようなデバイスを Arduino や ESP32 ベースで簡単に作製できないか考えているところです。
コメント