DMX Out CHOP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】

※当サイトにはプロモーションリンクが含まれます。

DMX Out CHOP の DMX512 信号送出機能を示す図

記事更新の通知はXでアナウンス٩(๑❛ᴗ❛๑)
@maru6o6をフォロー

概要 📖 – 舞台照明・LED への DMX512 信号送出

DMX Out CHOPは、入力されたチャンネル値を DMX512 信号としてシリアル・USB・Art-Net・sACN・KiNET 経由で照明・LED デバイスへ送出する CHOPです。Interface (Serial / Enttec USB Pro / Art-Net / sACN / KiNET) の選択、Packet Per Sample / Channel フォーマット切替、Net / Subnet / Universe アドレッシング、Routing Table によるマルチユニバース振り分け、Rate (最大 44Hz) による送出制御を 1 オペレータで行います。

主な用途 🎯

  • 舞台照明・ムービングライトのディマー・カラー・パン/チルト制御 (DMX512 プロトコル)
  • Art-Net / sACN / KiNET によるネットワーク経由の照明制御 (LAN 上の複数 universe 送出)
  • Enttec USB Pro / DMXking 等の USB-DMX インターフェイスを介したシリアル送出
  • LED ピクセルマッピング (CHOP のチャンネル値を 0-255 の DMX 値として LED に直接マッピング)
  • マルチユニバース構成での Routing Table によるチャンネルから universe への振り分け

データフロー 🔄

入力: 制御値の CHOP チャンネル (0-255 にマッピング済み)

Active トグルで送出開始

Interface 選択 (Serial / Enttec USB Pro / Art-Net / sACN / KiNET)

Format 選択 (Packet Per Sample / Packet Per Channel)

Routing Table で channel → universe 振り分け

Rate (Hz) でフレーム送出

出力: 物理デバイス・ネットワークへの DMX512 信号

Tips

初心者の方は、以下日本語書籍も手元にあると安心です。

まる。
まる。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!


パラメータ解説 ⚙️

DMX Page 📋

Active .active 🔌

デバイスへの送出開始切り替え:

  • Active トグル: オン: 接続デバイスへの DMX 送出を開始 / オフ: 送出停止

Interface .interface 🔀

デバイスとの接続方式を選択するメニュー

項目 内部名 説明
Enttec Generic Serial .serial OS のシリアル API を使ってデータ書き込み (汎用 USB-シリアル DMX アダプタ向け)
Enttec USB Pro .enttecusbpro Enttec USB Pro 専用のドライバ経由で接続
Enttec USB Pro Mk2 .enttecusbpromk2 Enttec USB Pro Mk2 専用のドライバ経由で接続 (2 universe 対応)
Art-Net .artnet Art-Net プロトコルでネットワーク経由の DMX 送出
sACN .sacn sACN (E1.31) プロトコルでネットワーク経由の DMX 送出
KiNET .kinet Philips Color Kinetics の KiNET プロトコルで送出

Format .format 📦

送出パケットのフォーマット選択:

  • Packet Per Sample: 1 サンプルにつき 1 パケットを送出 (単一 universe 向け)
  • Packet Per Channel: チャンネルごとに別パケット (Routing Table を使ったマルチ universe 構成で使用)

Rate .rate ⏱️

毎秒のデータ送出レート設定:

  • Rate (Hz): 1 秒あたりに送出するフレーム数。DMX512 デバイスは仕様上最大 44Hz、これを超えると受信側で取りこぼしが発生するため Rate <= 44 が推奨値

Serial Page 🔌

Serial Port .serialport 🔌

Generic Serial で使用する COM ポートの選択:

  • Serial Port (COM): Interface = Generic Serial のときに利用するシリアル (COM) ポートを選択。OS が認識している COM3 等のポートが列挙される

DMXking Port .dmxkingport 🔌

DMXking ハードウェアでの送出ポート選択:

  • DMXking Port: DMXking 製ハードウェアの送出先ポートを選択 (Default 等)

Device .device 🎛️

Enttec USB Pro 等の接続済み DMX デバイス選択:

  • Device: メニューに列挙された接続済み DMX デバイスから対象を選択

Network Page 🌐

Net (0-127) .net 🔢

Art-Net の net アドレス設定:

  • Net (0-127): Interface = Art-Net のときに設定。net は 16 個の連続する subnet (= 256 universe) を束ねた単位。範囲は 0-127。これはネットワーク IP アドレスとは別の Art-Net 内部のアドレス階層

Subnet (0-15) .subnet 🔢

Art-Net の subnet アドレス設定:

  • Subnet (0-15): Interface = Art-Net のときに設定。subnet は 16 個の連続する universe を束ねた単位。範囲は 0-15。ネットワークのサブネットマスクとは別物

Universe .universe 🔢

Art-Net の universe アドレス設定:

  • Universe: Interface = Art-Net のときに設定。512 ch の単一 DMX フレームを 1 universe と呼ぶ。範囲は 0-15

Multicast .multicast 📡

sACN multicast 送出の有効化:

  • Multicast トグル: sACN の multicast 送出を有効化。Net / Subnet / Universe から自動的に IP を構築し、複数 universe を 1 回の送出で複数デバイスへ届ける

Network Address .netaddress 🌐

送信先 IP アドレスの指定:

  • Network Address: 受信デバイスの IP アドレスを指定。デフォルトの 255.255.255.255 はネットワーク内の全デバイスへ broadcast 送出。Art-Net の Net / Subnet / Universe は受信側と一致が必須

Local Address .localaddress 🌐

multi-NIC 構成での送信元アダプタ IP 選択:

  • Local Address: 送信側マシンに複数のネットワークアダプタがある場合、送信元として使用するアダプタの IP アドレスを指定して経路を固定する

Local Port .localport 🔌

送信元ポートのカスタム指定:

  • Local Port: 送信元のポート番号を明示指定する稀少ケース用パラメータ。デフォルトの -1 は OS 任せ (自動割当)

Use Custom Port .customport 🛠️

受信側ポートのカスタム指定切替:

  • Use Custom Port トグル: オン: 次の Network Port パラメータで受信側ポートを明示指定 / オフ: 規定のポートを使用

Network Port .netport 🔢

受信側ハードウェアのポート番号:

  • Network Port: 受信ハードウェアのポート番号を指定。Art-Net の仕様デフォルトは 6454、特殊用途以外は変更不要

Send ArtSync .sendartsync 🔄

ArtSync 同期パケット送出の有効化:

  • Send ArtSync トグル: オン: 全 ArtDmx パケットの送出完了を待ってから ArtSync パケットを送出し、複数 universe を一斉同期させる / オフ: 同期しない

ArtSync Timeout .artsynctimeout ⏱️

ArtSync 待機タイムアウト設定:

  • ArtSync Timeout (ms): 全 ArtDmx パケットの送出完了を ArtSync が待機する制限時間 (ミリ秒)。タイムアウトに達した場合 ArtSync は中止され、新しい ArtDmx フレームの送出が始まる

CID .cid 🆔

送信元の一意 ID 設定:

  • CID: 送信元を識別する一意 ID。sACN では受信側がソース識別に利用する

Source .source 🏷️

送信元の表示名 (情報用):

  • Source: ユーザが指定する送信元の名前 (情報目的)。sACN 受信側でのソース表示に使われる

Priority .priority

複数ソース時の優先度設定:

  • Priority: 同 universe に複数ソースが存在する場合の優先度。受信側は priority の高いソースを採用する

KiNET Version .kinetversion 🔀

KiNET プロトコルのバージョン選択

項目 内部名 説明
DmxOut (v1) .v1 KiNET v1 の DmxOut パケット形式
PortOut (v2) .v2 KiNET v2 の PortOut パケット形式 (broadcast / 個別ポート指定対応)

Use Custom KiNET Port .customkinetport 🛠️

KiNET v2 カスタムポート指定の切替:

  • Use Custom KiNET Port トグル: オン: 次の KiNET Port パラメータで KiNET v2 用のカスタムポートを指定 / オフ: broadcast ポート (255) を使用

KiNET Port .kinetport 🔢

KiNET v2 用のポート番号設定:

  • KiNET Port: KiNET v2 インターフェイスで使用するポート番号 (Use Custom KiNET Port が有効時)

Routing Table .routingtable 📋

Packet Per Channel フォーマット時の universe 振り分けテーブル:

  • Routing Table DAT: Format = Packet Per Channel + Interface = Art-Net / sACN のときに利用。docked Table DAT で channel ごとの net / subnet / universe / netaddress を行単位で指定。各カラムは省略可で、省略時は本パラメータ群の値を流用。Routing Table を外すと最初のチャンネルが指定アドレス、以降は連番で割り当てられる (sACN は universe 1 始まり、universe 0 はシステム予約)

Common Page 🔧

Time Slice .timeslice ⏱️

Time Slice モードの強制設定:

  • オン: チャンネルを「タイムスライス」モードに強制
  • タイムスライス: 前回のクックフレームから現在のクックフレームまでの時間

Scope .scope 🎯

影響を受けるチャンネルの絞り込み:

  • Scope 文字列: 影響を受けるチャンネルを指定する文字列
  • パターンマッチング: *[1-10] 等のパターンが使用可能

Sample Rate Match .srselect

複数の入力 CHOP のサンプルレートが異なる場合の処理方法

項目 内部名 説明
Resample At First Input’s Rate .first 最初の入力のレートで他をリサンプル
Resample At Maximum Rate .max 最高サンプルレートでリサンプル
Resample At Minimum Rate .min 最低サンプルレートでリサンプル
Error If Rates Differ .err レート不一致でエラー

Export Method .exportmethod 📤

CHOP チャンネルをパラメータに接続する方法

項目 内部名 説明
DAT Table by Index .datindex DAT テーブルのインデックスでチャンネルとパラメータを対応付け
DAT Table by Name .datname DAT テーブルの行名でチャンネルとパラメータを対応付け
Channel Name is Path:Parameter .autoname チャンネル名を `path:parameter` 形式で記述し直接対応付け

Export Root .autoexportroot 🌳

Channel Name is Path:Parameter モード時のパス基点:

  • Export Root パス: autoname モードでチャンネル名のパス部分を相対化する基点 OP のパス

Export Table .exporttable 📋

DAT Table エクスポート方式での参照 DAT:

  • Export Table DAT: datindex / datname モード時に参照する DAT のパス

Rename from .commonrenamefrom 🔤

リネーム対象チャンネルのパターン:

  • Rename from パターン: リネーム対象とするチャンネル名のパターンマッチング文字列

Rename to .commonrenameto 🔁

リネーム後の置換パターン:

  • Rename to パターン: Rename from にマッチしたチャンネルの新しい名前パターン (デフォルトはリネームなし)

実践アイデア 💡

Example 1: ムービングライト 1 台を Enttec USB Pro で制御 💡

Constant CHOP (8 ch) → Math CHOP (To Range 0-255) → DMX Out CHOP (Enttec USB Pro)
  1. Constant CHOP で 8 チャンネル (Dimmer / R / G / B / Pan / Tilt / Zoom / Strobe) を作成
  2. Math CHOP の To Range を [0, 255] に設定して DMX 値域へマッピング
  3. DMX Out CHOP の Interface を Enttec USB Pro、Active をオンに設定
  4. Constant の値を変えるとムービングライトの色とパン/チルトがリアルタイムに反映される

Example 2: Art-Net で複数 universe へマルチユニバース送出 🌐

Pattern CHOP (1024 ch) → Math CHOP (0-255) → DMX Out CHOP (Art-Net + Routing Table)
  1. Pattern CHOP で 1024 チャンネル (= 2 universe 分) のテストパターンを生成
  2. Math CHOP で値域を 0-255 に正規化
  3. DMX Out CHOP の Interface を Art-Net、Format を Packet Per Channel に設定
  4. docked Table DAT で channel 1-512 を universe 0、513-1024 を universe 1 に振り分け
  5. ネットワーク上の Art-Net 受信ノードに 2 universe 分の信号が同時送出される

Example 3: オーディオ波形を LED ピクセルマッピング 🎵

Audio Device In CHOP → Audio Spectrum CHOP → Math CHOP → DMX Out CHOP (sACN)
  1. Audio Device In CHOP でマイク・ライン入力を取得
  2. Audio Spectrum CHOP で周波数帯域ごとの強度を抽出
  3. Math CHOP で各帯域を 0-255 にマッピング
  4. DMX Out CHOP の Interface を sACN、Multicast をオンにして LED コントローラへ送出
  5. 音楽の周波数成分が LED ストリップの色・明るさにリアルタイムで反映される

関連オペレータ 🔗

類似機能OP 🔍

  • OSC Out CHOP — OSC プロトコルでチャンネル値を送出 (照明ではなく汎用制御プロトコル向け)
  • Serial CHOP — 汎用シリアル送出 (DMX に限らず任意のシリアルデバイス向け)
  • MIDI Out CHOP — MIDI プロトコルで制御値を送出 (シンセ・MIDI コントローラ向け)

組み合わせ推奨OP 🔄

  • Constant CHOP — DMX 値の固定セット (シーン作成・初期値) を作る上流ソース
  • Math CHOP — 0-1 の制御値を 0-255 の DMX 値域に Range マッピング
  • LFO CHOP — 周期的な照明アニメーション (フェード・ストロボ) を生成
  • Pattern CHOP — ピクセルマッピング用のチャンネルパターンを生成
  • Audio Spectrum CHOP — 音響反応型ライティングのソース信号を生成

前処理・後処理CHOP 🎯


Info CHOP情報 📊

DMX Out CHOPは Info CHOP による詳細情報取得に対応しています。

CHOP固有情報 🎚️

  • start: CHOPインターバルの開始(サンプル単位)
  • length: CHOPのサンプル数
  • sample_rate: フレーム毎秒のサンプルレート
  • num_channels: CHOPのチャンネル数
  • time_slice: タイムスライス有効時は1、無効時は0
  • export_sernum: Export接続の更新回数

汎用オペレータ情報 🔄

  • total_cooks: プロセス開始からのクック回数
  • cook_time: 最後のクック時間(ミリ秒)
  • cook_frame: 最後にクックされたフレーム番号
  • warnings: 警告数
  • errors: エラー数

トラブルシューティング ⚠️

よくある問題と解決策 🔧

❌ Problem: 受信デバイスが反応しない / ちらつく
✅ Solution:

  • Rate を 44Hz 以下に設定 (DMX512 仕様の上限を超えると取りこぼし)
  • Active トグルがオンになっているか確認
  • Interface 設定が物理デバイスに合っているか確認 (Enttec USB Pro と Generic Serial の取り違え等)
  • 前段に Math CHOP を入れて値域が 0-255 範囲内か確認

❌ Problem: Art-Net で受信側が信号を受け取れない
✅ Solution:

  • Net / Subnet / Universe の値が受信デバイス側と完全一致しているか確認
  • Network Address を受信デバイスの IP もしくは broadcast (255.255.255.255) に設定
  • Local Address を multi-NIC 構成で正しい送信元アダプタに固定
  • 受信側のファイアウォールが UDP 6454 ポートをブロックしていないか確認

❌ Problem: マルチユニバースで一部の universe しか届かない
✅ Solution:

  • Format を Packet Per Channel に切り替え、Routing Table DAT で channel から universe への振り分けを明示
  • sACN 使用時は Multicast をオンにして複数 universe を一斉送出
  • Send ArtSync をオンにして複数 universe を同期させる
  • 前段に Constant CHOP でテスト用既知パターンを送り受信側を切り分ける

❌ Problem: 値が壊れる / 想定外の DMX チャンネルに化ける
✅ Solution:

  • 値域が 0-255 (8bit) 整数範囲に収まっているか Math CHOP で確認
  • Integer 化が必要な場合は Math CHOP の Integer = Round 等で離散化
  • Routing Table の channel 番号が 1 オリジン (sACN は universe 1 始まり) であることを確認
  • Format = Packet Per Sample のままマルチ universe を期待していないか確認

参考資料 📚

その他 🔗

公式リソース 📖

この記事はLLMと共に内容を執筆、更新しています。
最新バージョンとの項目差異など、情報の不一致を見つけた心優しい方はXもしくはInsta、メールなどよりサイト管理者までご連絡ください😎


まる。

お仕事のご依頼はDM又はメールにて。
━━━━━━━━━━━━━━━━━
Python/Touchdesigner/M5Stackをこよなく愛すフルスタックエンジニア。
専門は生理心理学、趣味はヨガやサウナ、EMS電気風呂などヘルスケア全般。
脳波や筋電、心拍を中心とした生体情報のセンシング&インタラクティブアートづくりがライフワーク。

普段はワントゥーテンという会社で空間演出エンジニアをしています。
リファラル採用お繋ぎできますので、我こそはという尖った方は経歴と希望職種添えてDMください(エンジニア以外、営業職等もOK)。
ご飯行きましょう。

↓日常垢
Instagram:@malmal0v0

まる。をフォローする
その他の記事はこちら
Math Combine POP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
ZED Select TOP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
ZED POP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
Window COMP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
Widget COMP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】

タイトルとURLをコピーしました