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

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

File In CHOP のファイル読み込み機能を示す図

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

概要 📖 – ファイルからチャンネルデータを読み込み

File In CHOPは、外部ファイルや URL からチャンネルデータを読み込んで CHOP として出力するオペレータです。サンプルレートの上書きやリサンプル、チャンネル名のリネーム、範囲外の延長条件を 1 オペレータで完結します。

主な用途 🎯

  • 外部ファイル(.chan / .clip / .bclip / .csv / .aiff / .wav 等)からのチャンネルデータ読み込み
  • 事前収録したモーションキャプチャ・センサーログの再生
  • 音声波形ファイルを CHOP チャンネルとして取り込み
  • URL 経由でリモートホスト上のチャンネルファイルをロード
  • サンプルレート不一致時のリサンプル・上書き制御

データフロー 🔄

入力: ファイルパス or URL

ファイルパース

サンプルレート調整(No Change / Override / Resample)

チャンネル名解決(In File / New / Filename)

範囲外延長(Extend Left / Right)

出力: チャンネルデータ

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

File In Page 📋

Channel File .file 📂

読み込むファイルのパス指定:

  • Channel File パス: 読み込むファイルのパスまたは URL(http:// プレフィックスでリモート指定可)

Name Options .nameoption 🏷️

ロードしたチャンネルの命名方法

項目 内部名 説明
Use Names In File .infile ファイルに保存されているチャンネル名をそのまま使用
Use New Names .new Name パラメータで指定した名前を使用
Use Filename .filename ファイル名をチャンネル名として使用

Name .name 🔤

Use New Names 時のチャンネル名:

  • Name パターン: Name OptionsUse New Names のとき、チャンネルに付ける名前パターン

Rate Options .rateoption

ロードしたチャンネルのサンプルレートをどう扱うか

項目 内部名 説明
No Change .nochange ファイルに記録されたサンプルレートをそのまま使用
Override .override Sample Rate パラメータの値で上書き(リサンプルはしない)
Resample .resample Sample Rate パラメータの値にリサンプリング(メモリ節約に有効)

Sample Rate .rate 📊

Override / Resample 時のサンプルレート:

  • Sample Rate 値: Rate Options が Override または Resample のとき適用する 1 秒あたりのサンプル数

Extend Left .left ◀️

チャンネル開始時刻より前を参照したときの延長条件

項目 内部名 説明
No Change .asis チャンネルをそのまま(範囲外を延長しない)
Hold .hold 範囲端の値を保持して延長
Slope .slope 範囲端の傾きを使って延長
Cycle .cycle チャンネルを繰り返し再生
Mirror .mirror 1 サイクル毎に反転して繰り返し再生
Default Value .default Default Value パラメータの定数値で埋める

Extend Right .right ▶️

チャンネル終了時刻より後を参照したときの延長条件

項目 内部名 説明
No Change .asis チャンネルをそのまま(範囲外を延長しない)
Hold .hold 範囲端の値を保持して延長
Slope .slope 範囲端の傾きを使って延長
Cycle .cycle チャンネルを繰り返し再生
Mirror .mirror 1 サイクル毎に反転して繰り返し再生
Default Value .default Default Value パラメータの定数値で埋める

Default Value .defval 🎯

Default Value 延長モード時の埋め込み値:

  • Default Value 値: Extend Left / Extend RightDefault Value のとき、範囲外に埋める定数値

Rename from / Rename to .rename 🔁

ロード後のチャンネル名をパターンで一括リネーム

Rename from .renamefrom 🔤
– リネーム対象のチャンネル名パターン
– パターンマッチング記法(*[1-10])が使用可能

Rename to .renameto 🔁
– 置換後のチャンネル名パターン
– デフォルトはリネームなし(空欄で素通り)

Value Override .overrid ✏️

特定チャンネルの値を別の定数値で上書きする

Value Override Pattern .overridpattern 🎯
– 値を上書きするチャンネルのパターン
– 空欄なら上書きを適用しない

Override Value .overridevalue 🔢
– パターンにマッチしたチャンネルへ適用する定数値
– センサーが故障したチャンネルを 0 で固定する等の用途

Refresh .refresh 🔄

ファイル変更を CHOP に反映するためのリロード制御

Refresh .refresh ♻️
– オンの間ファイルをリロードし続ける
– ファイルが書き換わったときに自動再読込したい場合に使用

Refresh Pulse .refreshpulse
– パルス起動でその瞬間に 1 度だけディスクから再読込
– 手動トリガーや DAT スクリプトからの呼び出しに使用


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: 事前収録したモーションキャプチャの再生 🎭

File In CHOP (.bclip) → Math CHOP (Range 変換) → Geometry COMP の Transform
  1. File In CHOP の Channel File に .bclip ファイルパスを指定
  2. Name Options を Use Names In File にして元のチャンネル名を保持
  3. Math CHOP で必要に応じてレンジを変換し Geometry の Transform に Export
  4. 本番ライブ前に収録したモーションを忠実に再生できる

Example 2: 音声ファイルの波形を CHOP として取り込み 🎵

File In CHOP (.wav) → Audio Spectrum CHOP → Visualizer
  1. File In CHOP の Channel File に .wav ファイルを指定
  2. Rate Options を No Change にしてファイル本来のサンプルレートを維持
  3. 後段の Audio Spectrum CHOP で周波数帯域を抽出
  4. オーディオビジュアライザの入力素材として活用

Example 3: CSV ログから時系列センサーデータを再生 📊

File In CHOP (.csv) → Filter CHOP → Visualization
  1. Channel File に時系列センサーログ .csv を指定
  2. Rate Options を Resample にしてプロジェクトの共通レートに合わせる
  3. Extend Right を Hold にしてループ終端の値を保持
  4. 実機がない開発環境でもセンサー駆動のシミュレーションが可能

Example 4: URL 経由でリモートのチャンネルファイルをロード 🌐

File In CHOP (http://...) → Refresh Pulse → 制御信号
  1. Channel File に http://server/data.chan 形式の URL を指定
  2. Refresh Pulse をクリックして任意タイミングで再ダウンロード
  3. Override Value Pattern で欠損チャンネルを定数で補完
  4. リモートで生成された制御データを TouchDesigner 側に取り込む

関連オペレータ 🔗

類似機能OP 🔍

  • Audio File In CHOP — 音声ファイル専用のローダー、再生位置の制御や音声特化機能を持つ
  • Constant CHOP — ファイルではなく定数値を直接指定するシンプルな入力源

組み合わせ推奨OP 🔄

  • Math CHOP — ロード後の値域変換やオフセット調整
  • Filter CHOP — ファイル由来のノイズや段差を平滑化
  • Resample CHOP — Rate Options に頼らず明示的にリサンプリング
  • Trim CHOP — 再生範囲の切り出し・ループ区間の指定
  • Analyze CHOP — ロードしたチャンネルの統計値(最大・平均・ピーク)を抽出

前処理・後処理CHOP 🎯


Info CHOP情報 📊

File In 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: ファイルがロードされず空のチャンネルになる
✅ Solution:

  • Channel File パスが絶対パスかプロジェクト相対で正しく指定されているか確認
  • URL 指定時は http:// プレフィックスが必要、https:// 非対応の場合あり
  • Refresh Pulse をクリックして強制的に再読込してみる

❌ Problem: サンプルレートがプロジェクトと合わずタイミングがズレる
✅ Solution:

  • Rate Options を Resample にしてプロジェクトのレートに揃える
  • メモリを節約したい場合は Resample、原音保持なら No Change を選択
  • 後段で Resample CHOP を使って明示的に揃える方法もある

❌ Problem: 再生位置が範囲外でデフォルト値や 0 が出てしまう
✅ Solution:

  • Extend Left / Extend Right が No Change のままだと範囲外で値が出ない
  • ループ再生したい場合は Cycle、最終値保持なら Hold を選択
  • Default Value モード時は Default Value パラメータの値が埋め込まれる点に注意

❌ Problem: チャンネル名がファイル内のものと違う
✅ Solution:

  • Name Options が Use New NamesUse Filename になっていないか確認
  • ファイル内の名前を保持したい場合は Use Names In File を選択
  • Rename from / Rename to で意図しないリネームが適用されていないか確認

参考資料 📚

その他 🔗

公式リソース 📖

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