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

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

Out CHOP がコンポーネントの出力コネクタへチャンネルを送出する図

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

概要 📖 – コンポーネント外部へ 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 出力コネクタ → 親ネットワーク
  1. Base COMP の内部で Audio Device In CHOP から音声入力を取得
  2. Math CHOP で 0〜1 に正規化
  3. Out CHOP を配置し Label に「audio_level」を設定
  4. COMP の出力コネクタとして親ネットワークから参照可能になり、複数シーンで同じ音声処理 COMP を再利用できる

Example 2: 複数出力を持つセンサー処理 COMP 📊

Serial CHOP → Filter CHOP → 複数 Out CHOP (raw / smoothed / triggered) → 親ネットワークの個別出力
  1. Container COMP 内でセンサー入力を Serial CHOP で取得
  2. raw・smoothed・triggered の 3 系統を内部で生成
  3. それぞれに Out CHOP を配置し Label で識別(「raw」「smoothed」「triggered」)
  4. 親ネットワーク側で COMP の 3 つの出力コネクタを別々のオペレータに接続して用途別に分岐

Example 3: 階層型エフェクト COMP の制御信号送出 🎛️

MIDI In CHOP → Lag CHOP → Out CHOP → 親 COMP → Geometry COMP の Transform
  1. コントローラ用 Base COMP 内部で MIDI 入力を Lag CHOP で滑らかに整形
  2. Out CHOP を配置して Label に「ctrl_smooth」を設定
  3. 親ネットワークから COMP の出力を取り出し、Geometry COMP の Transform にエクスポート
  4. コントローラ 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 🎯


Info CHOP情報 📊

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: 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 を独立配置した方が依存関係を明示しやすい

参考資料 📚

その他 🔗

公式リソース 📖

この記事は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をコピーしました