
概要 📖 – NDI ストリーム音声の取り込み
Audio NDI CHOPは、NDI In TOP が受信する NDI ストリームから音声トラックを取り出して CHOP チャンネルとして出力する CHOPです。映像を NDI In TOP で受け、音声は本 CHOP で同期取得することで、ネットワーク越しの映像+音声を 1 セットで TouchDesigner に取り込めます。
主な用途 🎯
- NDI In TOP が受信中の NDI ストリームから音声トラックを抽出
- ネットワーク経由での低遅延・高品質な音声入力(NewTek NDI プロトコル)
- 映像と音声の統合受信(NDI In TOP で映像、Audio NDI CHOP で音声を取得)
- リモート音源を CHOP チェーンに合流させてエフェクト・解析・録音
- Play パラメータでの音声出力 ON/OFF 切替(無音化や条件付き再生)
データフロー 🔄
入力: NDI In TOP(NDI ストリーム受信)
↓
ndiintop パラメータで参照
↓
Audio NDI CHOP(音声トラック抽出)
↓
Play で出力切替
↓
出力: 音声チャンネル(後段の解析・出力へ)
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
NDI Audio Page 🎚️
NDI Audio パラメータ 📡
Play .play ▶️
– On: 音声を再生し、チャンネルから音声信号を出力
– Off: チャンネルは出力されず、無音状態になる
NDI In TOP .ndiintop 🎛️
– 音声を取得する対象の NDI In TOP のパス
– 同じ NDI ストリームに接続している NDI In TOP を指定し、その音声トラックを抽出する
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: NDI 配信スタジオから音声を受信 📡
NDI In TOP (映像受信) → Audio NDI CHOP (音声抽出) → Audio Device Out CHOP (スピーカー出力)
別 PC や別ソフト(OBS / vMix / NDI Tools 等)から NDI で配信される映像と音声を、TouchDesigner 側で映像と音声を分けて取り込みスピーカーへ出力する基本構成。
- 送信側で NDI 配信を有効化(OBS の NDI Output 等)
- TouchDesigner 側で NDI In TOP を作成し、対象ストリームを選択
- Audio NDI CHOP を作成し、ndiintop パラメータに上記 NDI In TOP のパスを指定
- 後段に Audio Device Out CHOP を接続して受信音声をモニタリング
Example 2: NDI 受信音声をリアルタイム解析 📊
NDI In TOP → Audio NDI CHOP → Audio Spectrum CHOP → Analyze CHOP → 制御信号
ネットワーク越しに受け取った音声をスペクトル解析し、ライブ演出のリアクティブビジュアル制御に流用する例。
- Audio NDI CHOP で NDI ストリームの音声を取得
- 後段に Audio Spectrum CHOP を入れて周波数領域へ変換
- Analyze CHOP で帯域ごとのピーク値を抽出
- 抽出した値を Light Intensity / GPU シェーダ uniform 等のビジュアル制御に Export
関連オペレータ 🔗
類似機能OP 🔍
- Audio Device In CHOP — OS のオーディオ入力デバイスから直接音声取得(NDI 経由ではなくローカル)
- Audio Stream In CHOP — MP3 / Icecast 等のネットワークストリームから音声取得(NDI 専用ではなく汎用ストリーム)
組み合わせ推奨OP 🔄
- Audio Spectrum CHOP — NDI 受信音声の周波数解析
- Audio Device Out CHOP — 受信した音声をローカルスピーカーで再生
- Analyze CHOP — 音声振幅の統計値(RMS / ピーク / 平均)を抽出
- Filter CHOP — 受信音声のスムージング・低周波抽出
- Math CHOP — 音声振幅の正規化・ゲイン調整
前処理・後処理CHOP 🎯
- 前処理: Audio Device In CHOP、Audio Stream In CHOP
- 後処理: Audio Spectrum CHOP、Audio Device Out CHOP、Filter CHOP、Analyze CHOP
Info CHOP情報 📊
Audio NDI CHOPは Info CHOP による詳細情報取得に対応しています。
CHOP固有情報 🎚️
start: CHOPインターバルの開始(サンプル単位)length: CHOPのサンプル数sample_rate: フレーム毎秒のサンプルレートnum_channels: CHOPのチャンネル数time_slice: タイムスライス有効時は1、無効時は0export_sernum: Export接続の更新回数
汎用オペレータ情報 🔄
total_cooks: プロセス開始からのクック回数cook_time: 最後のクック時間(ミリ秒)cook_frame: 最後にクックされたフレーム番号warnings: 警告数errors: エラー数
Audio NDI CHOP固有情報 📡
ndi_has_audio: 参照中の NDI ストリームに音声トラックが含まれているかどうかのフラグqueue_length: 受信側で未消費のオーディオサンプルキューの長さ
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: 音声が出力されない / 無音になる
✅ Solution:
- Play パラメータが
Offになっていないか確認 - ndiintop パラメータが正しい NDI In TOP のパスを指しているか確認
- Info CHOP の
ndi_has_audioが 1 になっているか確認(送信側に音声トラックが含まれていない場合は 0)
❌ Problem: NDI In TOP が指定できない / リストに出てこない
✅ Solution:
- 送信側 NDI ソースが同じネットワーク(同 LAN セグメント / マルチキャスト到達範囲)にあるか確認
- Windows ファイアウォールで NDI ポートが許可されているか確認
- TouchDesigner 側で先に NDI In TOP を作成・接続してから Audio NDI CHOP の ndiintop に指定する
❌ Problem: 音声と映像のタイミングがずれる
✅ Solution:
- 送信側 / 受信側の Sample Rate Match 設定を確認し、リサンプル方式を統一
- Info CHOP の
queue_lengthが常に大きい場合は受信が間に合っていない可能性、ネットワーク帯域・送信側のフレームレートを見直す - 後段に Filter CHOP を入れてジッターを抑制
❌ Problem: 音声にプチプチ・ノイズが混ざる
✅ Solution:
- 送信側のサンプルレートと受信側プロジェクトのサンプルレートが一致しているか確認
- ネットワーク帯域不足が原因の可能性、有線接続 / 解像度・フレームレート低減で帯域を確保
- Audio Device Out CHOP の Buffer Length を増やして再生バッファを確保
参考資料 📚
その他 🔗
- TouchDesigner Wiki — CHOP 概要
- TouchDesigner Wiki — Category:CHOPs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group

