
概要 📖 – オーディオ帯域オシレータによる波形・音響信号生成
Audio Oscillator CHOPは、Sine / Gaussian / Triangle / Ramp / Square / White Noise の 6 波形をオーディオ帯域で発振し、Pitch Control による指数ピッチ制御で音響信号を生成する CHOPです。Base Frequency と Pitch Control・Units per Octave の組合せで MIDI ノート的なピッチ表現が可能で、Smooth Pitch Changes をオンにすればサンプル単位のグリッサンドを実現できます。
主な用途 🎯
- オーディオ帯域の周期波形生成(Sine / Gaussian / Triangle / Ramp / Square / White Noise の 6 波形)
- Pitch Control 入力と Units per Octave による MIDI ノート的な指数ピッチ制御
- Base Frequency / Amplitude / Offset / Phase によるオーディオ波形の基本制御
- Bias による Triangle / Gaussian / Square 波形のシェイプ整形
- Smooth Pitch Changes によるサンプル単位のグリッサンド(音響的ステップ除去)
- Reset / Reset Condition による外部トリガー同期と位相リセット
データフロー 🔄
入力: Pitch Control / Reset 入力
↓
波形タイプ(Type)選択
↓
Base Frequency × Pitch Control × Units per Octave で発振周波数決定
↓
Bias / Phase による形状制御
↓
Amplitude × 値 + Offset で振幅・直流成分付与
↓
Smooth Pitch Changes でサンプル単位補間
↓
Reset Condition による位相リセット
↓
出力: オーディオ帯域チャンネル波形
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
Waveform Page 📋
Type .wavetype 🎛️
繰り返し再生する波形の種類を選択するメニュー(Playback Source 入力で上書きされない場合)
| 項目 | 内部名 | 説明 |
|---|---|---|
| Sine | .sin |
サイン波(-1 〜 1) |
| Gaussian | .normal |
ガウス曲線(ベルカーブ・正規分布カーブ、0 〜 1) |
| Triangle | .tri |
三角波(-1 〜 1)。Bias でピーク位置を移動可能 |
| Ramp | .ramp |
ランプ波(0 〜 1 へ立ち上がる鋸状波) |
| Square | .square |
矩形波(-1 〜 1)。Bias で立ち上がり / 立ち下がりの幅を制御 |
| White Noise | .whitenoise |
-1 〜 1 のランダムサンプル列(無相関ノイズ) |
波形パラメータ 〰️
Base Frequency .frequency 📡
– Pitch Control が 0 のときの 1 秒あたりのサイクル数(Hz)
– オーディオ帯域なので 20 Hz 〜 20 kHz 程度の範囲を指定可能
Units per Octave .octave 🎵
– Pitch Control が 1 オクターブ分ピッチを上げるのに必要な単位量
– デフォルト 1 では Pitch Control の +1 がそのまま 1 オクターブ上昇
– 0.08333(= 1/12)に設定すると Pitch Control の +1 が半音 1 つに対応し、MIDI ノート番号を Pitch Control 入力として使える
Offset .offset ➕
– 出力値に加算される直流成分(DC オフセット)
– 波形の中心位置をシフトしたいときに使用
Amplitude .amp 🔊
– 出力値全体に掛ける振幅スケール
– 信号の強度を線形にスケーリング
Bias .bias ⚖️
– Triangle / Gaussian / Square 波形のシェイプ制御
– Triangle ではピーク位置を移動、Square では矩形のデューティ比を変化、0 で対称
Phase .phase 🔃
– 波形の位相シフト量
– 0.5 で 180 度(半周期)、1.0 で 360 度(1 周期)のシフト
Smooth Pitch Changes .smooth 🪶
– オフ時は Pitch Control 入力がフレーム単位(既定 60 fps)で階段状にピッチが上下し、可聴ステップが発生
– オンにするとオーディオサンプル単位で補間され、滑らかなグリッサンドが得られる(追加 CPU コスト)
Reset Condition .resetcondition 🔁
Reset 入力がチャンネルのリセットをどのタイミングで発火するかを決定するメニュー
| 項目 | 内部名 | 説明 |
|---|---|---|
| Off to On | .offtoon |
Reset 入力が Off → On に変わった瞬間にリセット |
| While On | .on |
Reset 入力が On の間リセット値を保持し続ける |
| On to Off | .ontooff |
Reset 入力が On → Off に変わった瞬間にリセット |
| While Off | .off |
Reset 入力が Off の間リセット値を保持し続ける |
リセット制御 ⏹️
Reset .reset 🔁
– On の間チャンネルを 0 にリセット
– 波形を頭出しして外部信号と同期したいときに使用
Reset Pulse .resetpulse ⚡
– 一度押すと瞬時にチャンネルを 0 にリセット
– パルス的な再スタートトリガー用ボタン
Channel Page 🎚️
サンプルレート 🎚️
Sample Rate .rate ⏱️
– CHOP のサンプルレート(サンプル毎秒)
– オーディオ帯域出力では 44100 / 48000 等の音響用レートを指定するのが一般的
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: Sine波で純音を生成・再生 🎵
Audio Oscillator CHOP (Type=Sine, Base Frequency=440) → Audio Device Out CHOP → スピーカー
- Audio Oscillator CHOP の Type を「Sine」、Base Frequency を 440 Hz(A4)に設定
- Sample Rate を 44100 Hz に変更しオーディオ品質を確保
- 出力を Audio Device Out CHOP に接続して PC の出力デバイスから再生
- リファレンス音叉のような純音トーンが鳴る基本セットアップが完成
Example 2: MIDIノート番号でメロディ発音 🎹
MIDI In CHOP → Audio Oscillator CHOP (Pitch Control 入力, Units per Octave=0.08333) → Audio Device Out CHOP
- Audio Oscillator CHOP の Units per Octave を 0.08333(= 1/12、半音単位)に設定
- Base Frequency を 8.176 Hz(MIDI ノート 0 相当の C-1)に設定
- MIDI In CHOP からのノート番号チャンネルを Pitch Control 入力に接続
- MIDI ノート番号がそのまま音程として発音されるシンセサイザの最小構成が完成
Example 3: Smooth Pitch Changes でグリッサンド演奏 🎚️
LFO CHOP → Audio Oscillator CHOP (Smooth Pitch Changes On) → Audio Device Out CHOP
- Audio Oscillator CHOP の Smooth Pitch Changes をオンに設定
- 後段ではなく Pitch Control 入力に LFO CHOP の出力をゆっくりと(例 0.2 Hz)接続
- Sample Rate を 48000 Hz に上げてオーディオ品質を最大化
- サンプル単位で補間されたピッチがゆるやかに上下し、可聴ステップのないグリッサンドが得られる
関連オペレータ 🔗
類似機能OP 🔍
- LFO CHOP — 低周波(制御信号帯域)の周期波形生成。Audio Oscillator のオーディオ帯域版に対する制御信号版
- Wave CHOP — より柔軟な波形生成。Source Wave 入力に任意波形を指定可能
- Pattern CHOP — 数式や関数で任意のパターン波形を生成
組み合わせ推奨OP 🔄
- Audio Device Out CHOP — Audio Oscillator の出力をシステムオーディオ出力に流す最頻出の後段
- Math CHOP — オシレータ出力の振幅・オフセットを後段でスケーリング
- Filter CHOP — 後段でローパス / スムージングを適用してエイリアシング軽減
- MIDI In CHOP — MIDI ノート番号を Pitch Control 入力に渡してシンセサイザ化
- Trigger CHOP — Reset 入力源として Audio Oscillator の位相リセットに接続
前処理・後処理CHOP 🎯
- 前処理: MIDI In CHOP、LFO CHOP、Constant CHOP
- 後処理: Audio Device Out CHOP、Math CHOP、Filter CHOP、Limit CHOP
Info CHOP情報 📊
Audio Oscillator 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:
Amplitudeが 0 になっていないか確認Base Frequencyが可聴域外(20 Hz 未満 / 20 kHz 超)になっていないか確認- 後段の
Audio Device Out CHOPの出力デバイス選択と OS 側の音量を確認
❌ Problem: Pitch Control を変えても音程が変わらない / 想定と違う
✅ Solution:
Units per Octaveの値を確認(デフォルト 1 では Pitch Control +1 が 1 オクターブ)- MIDI ノート番号を直接渡したい場合は
Units per Octaveを 0.08333(= 1/12)に設定 - Pitch Control 入力側の値を Math CHOP でレンジ確認
❌ Problem: Bias を変えても波形が変化しない
✅ Solution:
Biasは Triangle / Gaussian / Square のみ有効。Sine / Ramp / White Noise では無効- Type を Triangle / Square に切り替えて再確認
- Bias = 0 が対称、±1 に近づくほど非対称化
❌ Problem: ピッチ変化が階段状で耳障りなステップが聞こえる
✅ Solution:
Smooth Pitch Changesをオンに切り替え(サンプル単位補間)- Pitch Control 入力側の信号を前段の Filter CHOP でスムージング
Sample Rateを 44100 / 48000 等のオーディオレートに設定
参考資料 📚
その他 🔗
- TouchDesigner Wiki — CHOP 概要
- TouchDesigner Wiki — Category:CHOPs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group

