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

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

Shuffle CHOP のチャンネル・サンプル再構成機能を示す図

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

概要 📖 – チャンネルとサンプルの再構成

Shuffle CHOPは、チャンネルとサンプルの並びを再構成する CHOP(転置・連結・分割を 1 オペレータで切替)です。Method メニューで転置・順次連結・分割を選び、入力データの構造を目的に合わせて組み替えます。

主な用途 🎯

  • チャンネルとサンプルの転置(Swap Channels and Samples による行列転置)
  • 名前ベースのチャンネル順次連結(Sequence Channels by Name で chan1, chan2, chan3 をひとつなぎに)
  • 複数チャンネルを 1 本の長いチャンネルに統合(Sequence All Channels によるシリアライズ)
  • サンプルごとの分割によるチャンネル化(Split All Samples で時系列データをスナップショット群に展開)
  • N サンプル単位の分割・連結(Sequence N Channels / Split N Samples による粒度制御)

データフロー 🔄

入力: 複数チャンネル × 複数サンプルの CHOP

Method 選択(転置 / 連結 / 分割)

N Value で粒度指定(Sequence N / Split N の場合)

Use First Sample Only で代表値抽出(オプション)

出力: 再構成されたチャンネル・サンプル構造

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

Shuffle Page 🔀

Method .method 🔀

チャンネルとサンプルをどう再構成するかを決めるメニューパラメータ

項目 内部名 説明
Off .off 何もしない(パススルー)
Swap Channels and Samples .swap チャンネルとサンプルを転置。N チャンネル × M サンプル → M チャンネル × N サンプル(例: 25ch × 33samp → 33ch × 25samp)
Sequence Channels by Name .seqname 同じアルファベット名を持つチャンネルを番号順に連結(chan1, chan2, chan3 をひとつなぎに)
Sequence All Channels .seqall 全チャンネルを連結して 1 本の長いチャンネルにする
Sequence N Channels .seqn N チャンネルずつグループ化して連結(N=4 なら 0–3, 4–7, … を順次連結)
Sequence All Samples .sallsamples 全サンプルをシリアライズして連結(チャンネル方向→サンプル方向の順)
Split All Samples .splitall 各チャンネルを 1 サンプルずつに分割し、別チャンネルとして展開
Split N Samples .splitn 各チャンネルを N サンプルごとのセグメントに分割(N は nval で指定)

N Value .nval 🔢

Sequence N / Split N モードでの粒度指定:

  • N Value: Sequence N Channels / Split N Samples / Sequence Every Nth Channel / Split Every Nth Sample で使う N の値

Use First Sample Only .firstsample 1️⃣

代表値(先頭サンプル)のみで再構成するトグル:

  • Use First Sample Only: オン: 各チャンネルの最初のサンプルのみを使用。複数サンプル CHOP から代表値(先頭)だけを取り出して再構成したい場合に有効

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: チャンネル × サンプル の転置 🔄

Constant CHOP (N channels) → Shuffle CHOP (Swap Channels and Samples) → Output (N samples × 1 channel)
  1. 複数チャンネル(例: 25 ch × 33 samp)を持つ CHOP を入力
  2. Shuffle CHOP の Method を Swap Channels and Samples に設定
  3. 出力は 33 ch × 25 samp に転置される
  4. 行方向のデータを列方向に切替えて扱いたい場合の定番パターン

Example 2: 名前順での自動連結(番号付きチャンネルの統合) 🧵

Multiple Constant CHOPs (chan1, chan2, chan3) → Merge CHOP → Shuffle CHOP (Sequence Channels by Name) → Single sequenced channel
  1. chan1, chan2, chan3 等の番号付きチャンネルを Merge CHOP で集約
  2. Shuffle CHOP の Method を Sequence Channels by Name に設定
  3. アルファベット名(chan)が共通のチャンネルが番号順に 1 本に連結される
  4. 時系列ログや段階別データを順次つなぎたい場合に便利

Example 3: 全サンプルを別チャンネルに展開 📤

Pattern CHOP (10 samples) → Shuffle CHOP (Split All Samples) → 10 channels × 1 sample
  1. 複数サンプルを持つ 1 チャンネル CHOP(例: 10 サンプル)を入力
  2. Shuffle CHOP の Method を Split All Samples に設定
  3. 出力は 10 個の独立チャンネル × 1 サンプルになる
  4. 時系列データをスナップショット群として扱いたいとき、または個別チャンネル参照を作りたいときに使用

関連オペレータ 🔗

類似機能OP 🔍

  • Rename CHOP — チャンネル名のリネームに特化、構造の再構成は行わない
  • Reorder CHOP — チャンネルの並び順だけを変更(サンプル構造は維持)
  • Merge CHOP — 複数 CHOP のチャンネルを連結(構造の転置・分割はしない)

組み合わせ推奨OP 🔄

  • Merge CHOP — Shuffle 前にチャンネルを集約してから順次連結
  • Select CHOP — Shuffle 後に特定チャンネルを取り出す
  • Math CHOP — 転置後のチャンネルに統計演算をかける
  • Trail CHOP — Shuffle 出力の時間履歴を可視化
  • Pattern CHOP — テスト用の多サンプル入力を生成して Shuffle の挙動確認

前処理・後処理CHOP 🎯


Info CHOP情報 📊

Shuffle 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: Swap Channels and Samples の結果が想定と違う
✅ Solution:

  • 入力の チャンネル数 × サンプル数 と出力の関係を確認(25ch × 33samp → 33ch × 25samp の転置)
  • Time Slice モードがオンの場合、サンプル数が 1 になり転置の意味が変わる点に注意
  • 前段に Trail CHOP を入れて意図したサンプル数を確保してから Shuffle に渡す

❌ Problem: Sequence Channels by Name で順序が想定と違う
✅ Solution:

  • アルファベット名(数字を除いた部分)が共通か確認。chan1val1 は別グループ扱い
  • 数字部分は自然な数値順で並ぶ(chan1, chan2, chan10 の順)
  • リネームが必要な場合は前段に Select CHOP や Rename CHOP を挟む

❌ Problem: Split N Samples / Sequence N Channels が機能しない
✅ Solution:

  • N Value(nval)パラメータが 0 や負の値になっていないか確認
  • Method が Sequence N / Split N 系に正しく設定されているか確認(Off では N Value は無視される)
  • 入力サンプル数 / チャンネル数が N で割り切れない場合の挙動を公式 docs で確認

参考資料 📚

その他 🔗

公式リソース 📖

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