
概要 📖 – コンポーネント外部へ CHOP チャンネルを送出する
Out CHOPは、コンポーネント内部の CHOP チャンネルを親ネットワークの出力コネクタへ送出する CHOPです。COMP 内部のロジックをまとめつつ必要な信号だけを外部に公開する、モジュール化の基本オペレータです。
主な用途 🎯
- コンポーネント内部のチャンネルを親ネットワークへ送出するための出力コネクタ生成
- カスタム COMP(Base / Container / Geometry COMP 等)の CHOP 出力インターフェース定義
- COMP 内部処理をブラックボックス化しつつ必要な信号だけ外に公開するモジュール化
- 1 つの COMP から複数の独立出力を提供(Out CHOP を複数配置)
- 親階層の他コンポーネントや他 CHOP との階層間チャンネル受け渡し
データフロー 🔄
入力: COMP 内部の CHOP チェーン
↓
Out CHOP(Label 設定 + Common Page 整形)
↓
COMP の出力コネクタ(順番に並ぶ)
↓
出力: 親ネットワークの他オペレータへ
Tips
初心者の方は、以下日本語書籍も手元にあると安心です。
リンク
リンク

まる。
実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
Out Page 📤
Label .label 🏷️
出力コネクタのポップアップラベル:
- Label 文字列: 親ネットワーク上で COMP の出力コネクタにマウスをかざすと表示される識別ラベル(複数 Out CHOP がある COMP で出力の意味を判別しやすくする)
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: カスタム COMP の音声レベル出力インターフェース 🎵
Audio Device In CHOP → Math CHOP (Range) → Out CHOP → COMP 出力コネクタ → 親ネットワーク
- Base COMP の内部で Audio Device In CHOP から音声入力を取得
- Math CHOP で 0〜1 に正規化
- Out CHOP を配置し Label に「audio_level」を設定
- COMP の出力コネクタとして親ネットワークから参照可能になり、複数シーンで同じ音声処理 COMP を再利用できる
Example 2: 複数出力を持つセンサー処理 COMP 📊
Serial CHOP → Filter CHOP → 複数 Out CHOP (raw / smoothed / triggered) → 親ネットワークの個別出力
- Container COMP 内でセンサー入力を Serial CHOP で取得
- raw・smoothed・triggered の 3 系統を内部で生成
- それぞれに Out CHOP を配置し Label で識別(「raw」「smoothed」「triggered」)
- 親ネットワーク側で COMP の 3 つの出力コネクタを別々のオペレータに接続して用途別に分岐
Example 3: 階層型エフェクト COMP の制御信号送出 🎛️
MIDI In CHOP → Lag CHOP → Out CHOP → 親 COMP → Geometry COMP の Transform
- コントローラ用 Base COMP 内部で MIDI 入力を Lag CHOP で滑らかに整形
- Out CHOP を配置して Label に「ctrl_smooth」を設定
- 親ネットワークから COMP の出力を取り出し、Geometry COMP の Transform にエクスポート
- コントローラ COMP を差し替えるだけで制御ソースを切り替えられるモジュール構成が実現する
関連オペレータ 🔗
類似機能OP 🔍
- In CHOP — Out CHOP と対をなす入力側オペレータ。COMP の入力コネクタから内部にチャンネルを取り込む
- Null CHOP — 同一ネットワーク内での参照ポイント用。コネクタ送出ではない
- Select CHOP — 他ネットワークの CHOP を絶対パスで参照(コネクタ経由ではない)
組み合わせ推奨OP 🔄
- In CHOP — 送出側 Out と受け側 In をペアで使い COMP の入出力インターフェースを定義
- Null CHOP — Out CHOP の直前に置いて命名を固定(内部参照と外部出力の境界を明示)
- Math CHOP — COMP 内で値域変換してから Out CHOP で公開
- Filter CHOP — 外部公開する前にスムージングをかけて出力ノイズを抑える
- Merge CHOP — 複数系統をまとめて 1 つの Out CHOP で送出
前処理・後処理CHOP 🎯
- 前処理: Null CHOP、Math CHOP、Filter CHOP、Rename CHOP、Merge CHOP
- 後処理: In CHOP、Select CHOP、Null CHOP、Math CHOP
Info CHOP情報 📊
Out 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: エラー数
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: COMP の出力コネクタが表示されない / 増えない
✅ Solution:
- COMP 内部に Out CHOP を配置すると、親ネットワーク上の COMP に出力コネクタが自動的に追加される
- Out CHOP を複数配置した場合、親 COMP の出力コネクタは Out CHOP の名前のアルファベット順に並ぶ
- 親側で接続済みのコネクタ位置が変わるため、Out CHOP の名前変更時は外部接続も合わせて確認する
❌ Problem: 親ネットワークで Out CHOP の値が想定外
✅ Solution:
- Out CHOP の Common Page の Scope でチャンネルが意図せず絞られていないか確認
- 前段に Null CHOP を挟んでデバッグポイントを作り、内部と外部で値を比較する
- Sample Rate Match の設定が複数入力の合成結果を変えていないか確認
❌ Problem: COMP の出力コネクタの順序を変えたい
✅ Solution:
- Out CHOP のオペレータ名がアルファベット順に並ぶため、名前頭にプレフィックス(
out1_/out2_等)を付けて順序を制御する - Label パラメータでマウスオーバー時の表示名を別に与えれば、内部の OP 名と外部 UI 表示を分離できる
- 順序変更後は親ネットワーク側で再接続が必要になる場合があるので注意
❌ Problem: チャンネル名がリネームされてしまう
✅ Solution:
- Common Page の Rename from / Rename to パラメータが空でないとリネームが適用される
- 意図しないリネームを防ぐには Rename from / Rename to を空に戻す
- 命名整形が目的なら、前段に Rename CHOP を独立配置した方が依存関係を明示しやすい
参考資料 📚
その他 🔗
- TouchDesigner Wiki — CHOP 概要
- TouchDesigner Wiki — Category:CHOPs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group

