
概要 📖 – CHOP シーケンスとトランジション制御
Sequencer CHOPは、DAT テーブルで指定した複数の CHOP を順番にシーケンス再生し、クリップ間のトランジションを制御する CHOPです。Blend Scope / Add Scope でチャンネル単位に遷移方法を切替えられ、Queue・Trigger・Reset でライブパフォーマンス的な制御も可能です。
主な用途 🎯
- 複数 CHOP の順次再生(シーケンス再生)
- CHOP 間のトランジション(ブレンド・加算・ジャンプ)制御
- ライブ演出でのキュー(Queue)による一時停止と次クリップ待機
- トリガー(Trigger)即時切替による即応性の高い切替演出
- DAT テーブル駆動のプレイリスト管理(曲・モーション・パラメータプリセット)
データフロー 🔄
入力: DAT List(CHOP パス一覧)
↓
現在クリップの参照解決
↓
トリガー/キュー判定
↓
トランジション処理(Blend / Add / Jump)
↓
Reset 判定
↓
出力: 合成されたチャンネル
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
Sequencer Page 📋
DAT List .datlist 📑
DAT List .datlist 📑
– シーケンスする CHOP のパス一覧を持つ DAT テーブルを指定
– テーブルの各行が 1 クリップに対応し、Sequencer はこの順序で CHOP を順次再生する
Blend Scope .blendscope 🎚️
Blend Scope .blendscope 🎚️
– トランジション時にブレンド(線形補間)で遷移させるチャンネルを指定するパターン文字列
– 指定外のチャンネルは Add Scope / ジャンプの対象になる
Add Scope .addscope ➕
Add Scope .addscope ➕
– トランジション時に加算で遷移させるチャンネルを指定するパターン文字列
– Blend にも Add にも該当しないチャンネルはトランジション時にジャンプ(瞬時切替)する
Queue .queue ⏸️
Queue .queue ⏸️
– キュー(一時停止)動作を制御する参照チャンネル
– このチャンネルが真の間、現在のクリップ終端で停止して次クリップへの遷移を待機する
Trigger .trigger ⚡
Trigger .trigger ⚡
– 現在の CHOP の終了を待たずに、即座にトランジションを開始するパルス入力
– ライブ演出で待ち時間なしの切替を実現する用途に使う
Reset .reset 🔁
Reset .reset 🔁
– オンの間、シーケンスをデフォルトの先頭 CHOP にリセットして保持する
– オフに戻すとそのクリップから再びシーケンス再生が始まる
Reset Pulse .resetpulse 🔄
Reset Pulse .resetpulse 🔄
– 押した瞬間にシーケンスを即座にリセット(パルス動作)
– Reset を保持せずワンショットで先頭に戻したいときに使う
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: DAT テーブル駆動の BGM クリップ切替 🎵
Table DAT (CHOP パス一覧) → Sequencer CHOP (DAT List 指定) → Audio Device Out CHOP
ライブ DJ セット用に複数の Audio File In CHOP クリップを Table DAT に並べ、Sequencer で順次再生する基本構成。Blend Scope を `*` にすれば全チャンネルがクロスフェードでつながる。
- Table DAT に再生したい Audio File In CHOP のパスを 1 行 1 クリップで列挙
- Sequencer CHOP の DAT List にその Table DAT を指定
- Blend Scope に `*` を入れて全チャンネルブレンドを有効化
- 出力を Audio Device Out CHOP に渡して再生
Example 2: MIDI トリガーで即座にクリップ切替 🎹
MIDI In CHOP → Math CHOP (パルス整形) → Sequencer CHOP (Trigger) → 出力
MIDI コントローラの note on をパルス化して Sequencer の Trigger に渡し、現在クリップの終端を待たずに次のクリップへ即時遷移する構成。VJ 用途で曲とビジュアルを同期させる際の定番パターン。
- MIDI In CHOP で物理コントローラのノートを取得
- Math CHOP でノート値を 0/1 のパルス信号に整形
- そのチャンネルを Sequencer CHOP の Trigger 参照に指定
- Add Scope に envelope 系チャンネル名を入れて加算的に重ねる
Example 3: プリセットアニメーションの順次再生(モーション切替) 🎬
複数 Animation COMP → Table DAT (path 一覧) → Sequencer CHOP → Geometry COMP のパラメータ
ジオメトリの動きを表す複数の Animation COMP プリセットを Sequencer で順次再生し、Reset Pulse でショー開始タイミングに合わせて先頭からリスタートする運用例。
- プリセットごとに Animation COMP を用意し、それぞれパスを Table DAT に列挙
- Sequencer CHOP の DAT List にそのテーブルを指定
- Blend Scope に transform 系チャンネル名(tx ty tz 等)を入れて滑らかに遷移
- ショー開始時に Reset Pulse を 1 回叩いて先頭プリセットからスタート
関連オペレータ 🔗
類似機能OP 🔍
- Switch CHOP — 複数入力 CHOP の中から 1 つを index で選択(トランジション非対応)
- Cross CHOP — 2 つの CHOP 間を 1 パラメータでクロスフェード
- Blend CHOP — 重み付きで複数 CHOP をブレンド合成
組み合わせ推奨OP 🔄
- Table DAT — DAT List 入力として CHOP パス一覧を保持する基本テーブル
- Trigger CHOP — Sequencer の Trigger 入力にパルス信号を供給
- Constant CHOP — Queue / Reset チャンネルを手動制御するソース
- Audio Device Out CHOP — 音声クリップシーケンサとしての出力先
前処理・後処理CHOP 🎯
- 前処理: Audio File In CHOP、Trigger CHOP、Constant CHOP
- 後処理: Math CHOP、Filter CHOP、Audio Device Out CHOP、Null CHOP
Info CHOP情報 📊
Sequencer 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: トランジション時に一部チャンネルがジャンプして滑らかに繋がらない
✅ Solution:
- Blend Scope のパターンに対象チャンネル名が含まれているか確認(含まれないチャンネルはブレンドされない)
- Add Scope と Blend Scope のどちらにも該当しないチャンネルは瞬時ジャンプになる仕様
- 全チャンネルをブレンドしたい場合は Blend Scope に
*を指定
❌ Problem: DAT List で指定した CHOP に切替わらない
✅ Solution:
- Table DAT 内の各セルが有効な CHOP パス(例:
/project1/audio1)になっているか確認 - 参照先 CHOP のチャンネル構成が現在のクリップと一致しているか確認(不一致のチャンネルはジャンプ扱い)
- Queue チャンネルが真のままだとクリップ終端で停止し続けるため、Queue 参照を一度オフにする
❌ Problem: Trigger を入れているのに即座に切替わらない
✅ Solution:
- Trigger はパルス入力のため、立ち上がりエッジが必要(常時 1 では動作しない)
- 前段に Math CHOP や Logic CHOP を入れて 0 → 1 のパルスを成形
- Reset / Reset Pulse が同時にアクティブだとシーケンスが先頭に戻るだけになるので併用に注意
❌ Problem: Reset を解除してもシーケンスが進まない
✅ Solution:
- Reset チャンネルが真の間はデフォルト CHOP に保持される仕様、Reset 参照を 0 に戻す
- Reset Pulse は瞬時リセットのため、保持したい場合は Reset(保持トグル)を使う
- Queue が真のままになっていないか合わせて確認
参考資料 📚
その他 🔗
- TouchDesigner Wiki — CHOP 概要
- TouchDesigner Wiki — Category:CHOPs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group

