
概要 📖 – オーディオチャンネルのファイル書き出し
Audio File Out CHOPは、入力されたオーディオチャンネルを WAV / OGG / MP3 / AIFF ファイルとしてディスクに書き出す CHOPです。Record トグルでセッション中の任意のタイミングで録音開始・停止を切り替え、ライブパフォーマンスやインスタレーションの音声記録に利用します。
主な用途 🎯
- オーディオ入出力チャンネルのファイル書き出し(WAV / OGG / MP3 / AIFF)
- ライブパフォーマンスやインスタレーションの音声記録(Record トグルで開始・停止)
- マイク・ライン入力の長時間レコーディング(Audio Device In CHOP の出力をディスクに保存)
- 合成オーディオやプロシージャル音響の書き出し(Audio Oscillator など内部生成音源のキャプチャ)
- ファイル名の自動連番化によるテイク管理(Unique Suffix / N で衝突回避)
データフロー 🔄
入力: オーディオチャンネル CHOP
↓
File Type / Codec / Bit Rate 設定
↓
File パス + Unique Suffix / N
↓
Record トグル ON
↓
ディスクに音声ファイル書き出し
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
Audio File Out Page 📋
File Type .filetype 🗂️
出力ファイルのコンテナ形式を選択するメニュー
| 項目 | 内部名 | 説明 |
|---|---|---|
| WAV | .wav |
.wav 形式。Codec パラメータでオーディオコーデックを選択可能 |
| OGG | .ogg |
.ogg 形式。コーデックは Vorbis、ギャップレス再生に対応 |
| MP3 | .mp3 |
.mp3 形式。コーデックは MP3、ギャップレス再生は不可(Vorbis/.ogg が代替推奨) |
| AIFF | .aiff |
.aiff 形式。コーデックは Uncompressed 16-bit (PCM) |
Unique Suffix .uniquesuff 🔢
オンにすると me.fileSuffix がユニークなサフィックスを返すため、File パラメータと組合せてファイル名衝突を自動回避できる
| 項目 | 内部名 | 説明 |
|---|---|---|
| Unique Suffix | .uniquesuff |
オン: me.fileSuffix が一意なサフィックスになり、File パラメータで参照することで上書きを防止。オフ: me.fileSuffix は N パラメータの値をそのまま返す。 |
N .n #️⃣
| 項目 | 内部名 | 説明 |
|---|---|---|
| N | .n |
Unique Suffix オフ時、me.fileSuffix がこの値をそのまま返す。手動で連番管理したい場合に使用。 |
File .file 📁
出力する音声ファイルのパスとファイル名を指定する。拡張子は File Type と一致させる必要がある
| 項目 | 内部名 | 説明 |
|---|---|---|
| File | .file |
保存先のフルパス。me.fileSuffix を埋め込むことでテイクごとの自動連番化が可能(例: take_`me.fileSuffix`.wav)。 |
Codec .codec 🎚️
WAV または AIFF 出力時の圧縮コーデックを選択するメニュー(AIFF の Big Endian オプションは AIFF 業界標準)
| 項目 | 内部名 | 説明 |
|---|---|---|
| Uncompressed 16-bit (PCM) | .pcm16 |
非圧縮 16-bit パルス符号変調オーディオ |
| Uncompressed 24-bit (PCM) | .pcm24 |
非圧縮 24-bit パルス符号変調オーディオ |
| Uncompressed 32-bit (PCM) | .pcm32 |
非圧縮 32-bit パルス符号変調オーディオ |
Bit Rate .bitrate 📈
MP3 出力時のビットレートを選択するメニュー
| 項目 | 内部名 | 説明 |
|---|---|---|
| 96 kb/s | .b96 |
低ビットレート(音声・podcast 向け) |
| 128 kb/s | .b128 |
標準的な MP3 ビットレート |
| 192 kb/s | .b192 |
中音質、楽曲用途に多用 |
| 256 kb/s | .b256 |
高音質、配信向け |
| 320 kb/s | .b320 |
MP3 規格最高ビットレート |
Record .record ⏺️
オンにすると音声ファイルを開いて録音を開始、オフにするとファイルをクローズして読み書きロックを解放する
| 項目 | 内部名 | 説明 |
|---|---|---|
| Record | .record |
オン: 音声ファイルを開き録音開始。オフ: ファイルをクローズし read/write lock を解放(他アプリから安全に読み込める状態にする)。 |
Pause .pause ⏸️
音声ファイルへの録音を一時停止する
| 項目 | 内部名 | 説明 |
|---|---|---|
| Pause | .pause |
オン: 録音を一時停止(ファイルは開いたまま)。オフ: 録音を再開。 |
Header Source DAT .headerdat 🏷️
出力ファイルに書き込むヘッダーメタデータを保持する Table DAT のパス。1 列目にキー、2 列目に値を書く
| 項目 | 内部名 | 説明 |
|---|---|---|
| Header Source DAT | .headerdat |
Table DAT のパスを指定。1 列目=キー、2 列目=値の key-value ペア形式でヘッダーに書き込まれる。サポートされるメタデータの詳細は公式 File Metadata ページを参照。 |
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: ライブパフォーマンスのマイク入力を録音 🎤
Audio Device In CHOP → Audio File Out CHOP (WAV / PCM 24-bit) → ディスク
- Audio Device In CHOP でマイク入力チャンネルを取得
- Audio File Out CHOP の File Type を WAV、Codec を Uncompressed 24-bit (PCM) に設定
- File パラメータに保存先パスを指定(
take_`me.fileSuffix`.wavで自動連番化) - Record トグルをオンにして録音開始、オフでファイルクローズ
Example 2: プロシージャル合成音をディスクに書き出し 🎼
Audio Oscillator CHOP → Math CHOP (ゲイン調整) → Audio File Out CHOP (OGG)
- Audio Oscillator CHOP で正弦波などの合成音を生成
- Math CHOP の Multiply で出力レベルを調整
- Audio File Out CHOP の File Type を OGG に設定(Vorbis 圧縮、ギャップレス再生対応)
- Record をオンにしてセッション中の合成音をすべてキャプチャ
Example 3: Header Source DAT でメタデータ付き録音 🏷️
Audio Device In CHOP → Audio File Out CHOP (Header Source DAT 連携)
- Table DAT を作成し、1 列目に
artist/title/album等のキー、2 列目に値を入力 - Audio File Out CHOP の Header Source DAT パラメータでその DAT を指定
- Record オンで録音開始時にヘッダーメタデータがファイルに書き込まれる
- 後段のオーディオプレイヤーやライブラリでメタデータが認識される
関連オペレータ 🔗
類似機能OP 🔍
- Audio Movie CHOP — Movie File In TOP の音声トラックを CHOP として取り出す(ファイル書き出しではなく読み込み側)
- Audio Stream Out CHOP — ファイルではなくネットワークへ音声をストリーミング送信
組み合わせ推奨OP 🔄
- Audio Device In CHOP — マイクやライン入力を取得して Audio File Out へ流す上流ソース
- Audio Oscillator CHOP — 合成音の生成元、書き出し前段に配置
- Math CHOP — 出力レベル調整・ノーマライズ用の前段処理
- Filter CHOP — 書き出し前のノイズスムージング
- Audio Filter CHOP — 周波数領域フィルタを掛けてから書き出す
前処理・後処理CHOP 🎯
- 前処理: Audio Device In CHOP、Audio Oscillator CHOP、Audio Filter CHOP、Math CHOP
- 後処理: Null CHOP、Info CHOP、Trigger CHOP
Info CHOP情報 📊
Audio File 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: Record をオンにしてもファイルが生成されない
✅ Solution:
- File パラメータの保存先ディレクトリが存在し、書き込み権限があるか確認
- 拡張子(.wav / .ogg / .mp3 / .aiff)が File Type と一致しているか確認
- 別アプリで同じファイルを開いていないか確認(read/write lock 競合)
❌ Problem: 録音した音声がノイズだらけ・歪む
✅ Solution:
- 前段に Math CHOP を入れて Multiply でレベルを下げ、クリッピング(±1 超え)を回避
- Sample Rate Match の設定で複数入力 CHOP のサンプルレートを揃える
- Codec を Uncompressed 24-bit (PCM) 等の高ビット深度に切り替えて量子化ノイズを低減
❌ Problem: ファイル名が上書きされてしまう
✅ Solution:
- Unique Suffix をオンにし、File パラメータに
`me.fileSuffix`を埋め込む - Unique Suffix オフ運用なら N パラメータを手動でインクリメントして連番管理
- 保存先パスにタイムスタンプ(
tdu.legalName(absTime.seconds)等)を組合せる
❌ Problem: Record をオフにしてもファイルが解放されない
✅ Solution:
- Pause がオンになっていないか確認(Pause オン中は録音停止だがロックは継続する場合あり)
- 別の Audio File Out CHOP が同じパスを参照していないか確認
- TouchDesigner プロジェクトを保存・再起動して読み書きロックを強制解放
参考資料 📚
その他 🔗
- TouchDesigner Wiki — CHOP 概要
- TouchDesigner Wiki — Category:CHOPs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group

