
概要 📖 – Ableton Link によるテンポ・拍同期
Ableton Link CHOPは、ネットワーク上の Ableton Link セッションに参加し、テンポと拍位置を共有・出力する CHOPです。Link 対応の DAW やアプリと同一 LAN に居るだけで、共通の BPM・小節・拍同期信号を受け取り、ビジュアルや演出をリアルタイムに駆動できます。
主な用途 🎯
- Ableton Link 対応アプリ・デバイスとのテンポ同期(BPM・小節・拍位置の共有)
- DAW(Ableton Live など)とのライブ演奏連動とビジュアル同期
- 0-1 ランプ・パルス・サイン波の小節/拍ベース信号生成
- ネットワーク内の Link 対応端末数や同期状態のステータスモニタリング
- Start/Stop 同期による複数端末間の演奏開始・停止イベント共有
データフロー 🔄
入力: ローカル LAN 上の Ableton Link セッション
↓
接続管理(Active / Enable)
↓
Signature・Start Stop Sync の調停
↓
テンポ・拍位置の解析
↓
出力: tempo / beat / bar / phase / ramp / pulse / sine 等のチャンネル
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
Ableton Page 📋
接続制御パラメータ 🔌
Active .active ✅
– CHOP の出力を有効・無効に切り替えるトグル
– オフのときはチャンネル出力が停止
Enable .enable 🔗
– Ableton Link セッションへの接続を初期化
– オンにするとローカル LAN 上の Link 対応端末と peer-to-peer で接続
Start Stop Sync Enable .startstopsync ▶️
– Ableton Link セッション全体での Start/Stop 同期を有効化
– Link セッション内の peer グループ間で開始・停止信号を共有
Signature .signature 🎼
拍子(Time Signature)の指定。最初の数値が 1 小節あたりの拍数、2 番目の数値が 1 拍を構成する音価:
- Beats per measure: 1 小節あたりの拍数(最初の数値)
- Note value per beat: 1 拍を構成する音価(2 番目の数値)
Callbacks DAT .callbacks 📜
受信した各イベントに対するコールバックを記述した DAT へのパス:
- Callbacks DAT パス: 受信した各イベントに対するコールバックを記述した DAT への参照パス
Output Page 📤
Status Channels .status 📡
Link セッションの状態を表すステータスチャンネル:
- numpeers: ネットワーク上で検出された Ableton Link 対応端末・アプリの数
- linked: Ableton Link CHOP が Link ネットワークに接続できているとき 1
- waiting: Ableton Link CHOP が待機状態で同期できていないとき 1
- synced: Ableton Link CHOP が Link ネットワークと同期できているとき 1
出力信号パラメータ 🎵
Ramp .ramp 📈
– 1 小節ごとに 0-1 のランプ信号を出力
– 小節周期の連続的な動きの駆動に利用
Pulse .pulse 💥
– 1 小節ごとにパルス信号を出力
– 小節先頭でのトリガー処理に利用
Sine .sine 〰️
– 1 小節ごとにサイン波を出力
– 滑らかな周期的アニメーションに利用
Count .count 🔢
– 1 小節ごとにカウント値が増加
– 経過小節数のカウンタとして利用
Count+Ramp .countramp 📊
– 小節がリセットされるまでカウントアップするランプ
– カウントとランプを合成した値
Bar .bar 📏
– 現在の小節番号を出力
– 小節単位でのスケジューリングに利用
Beat .beat 🥁
– 現在の拍番号を出力
– 拍単位の発音・トリガー判定に利用
Sixteenths .sixteenths 🎶
– 現在の 16 分音符単位の値を出力
– 細かなリズム解析や微小タイミング制御に利用
Ramp Bar .rampbar 📈
– 1 小節ごとに 0-1 のランプを出力(小節基準)
– Ramp と同等だが小節周期を明示
Ramp Beat .rampbeat 📈
– 1 拍ごとに 0-1 のランプを出力(拍基準)
– 拍周期の連続的な動きの駆動に利用
Tempo .tempo ⏱️
– 現在のテンポ(BPM, Beats Per Minute)を出力
– DAW やアプリと共有された BPM をリアルタイム取得
Beats .beats 🥁
– セッション開始からの累積拍数を出力
– 全体経過の拍数カウンタとして利用
Phase .phase 🌀
– 小節内における現在の位相(phase)を出力
– 小節相対位置を 0-1 等で取得(公式仕様参照)
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: Ableton と TouchDesigner のテンポ同期 🎚️
Ableton Live (Link On) → Ableton Link CHOP (tempo / beat / bar) → Math CHOP → ビジュアル制御
Ableton Live を同一 LAN で Link オンにし、TouchDesigner 側に Ableton Link CHOP を配置するだけで、Live のテンポと小節位置を共有できます。tempo / beat / bar チャンネルをビジュアル要素にバインドし、ライブの演奏と完全同期した映像演出を組みます。
- Ableton Live で Link を ON、TouchDesigner で Ableton Link CHOP を配置し Active と Enable を ON
- 出力 Output Page で
Tempo/Beat/Barをオンに設定 - Math CHOP でビジュアルパラメータの値域に変換
- Live のテンポ変更が即座にビジュアルへ反映されることを確認
Example 2: 拍ベースのパルストリガーで照明制御 💡
Ableton Link CHOP (rampbeat / pulse) → Logic CHOP → DMX Out CHOP
Ableton Link CHOP の rampbeat や pulse をトリガーとして、拍ごとに照明の点滅や色変化を駆動します。LAN 内のすべての Link 対応端末で同一の拍タイミングが共有されるため、複数機器をまたいだ正確な拍同期演出を構築できます。
- Ableton Link CHOP の Output Page で
PulseまたはRamp Beatをオン - Logic CHOP で拍頭でのトリガーを判定
- DMX Out CHOP で照明機材へ送信し、拍に合わせて点滅・色変化
Example 3: Link セッションの接続状態モニタリング 📡
Ableton Link CHOP (Status Channels) → Select CHOP → Text TOP
Status Channels をオンにすると numpeers / linked / waiting / synced が出力されます。これらを Text TOP で画面表示し、ライブ現場での Link 接続状態をオペレータが一目で確認できるダッシュボードを作ります。
- Output Page の
Status Channelsをオン - Select CHOP で
numpeers/linked/syncedを抽出 - Text TOP に値を表示し、現場でのトラブルシュート時にステータス確認
関連オペレータ 🔗
類似機能OP 🔍
- Beat CHOP — TouchDesigner 内蔵タイムラインに基づく BPM・拍位置生成
- Timer CHOP — ローカルクロックで時間ベースの信号を生成
- Audio Spectrum CHOP — 音声入力からの周波数解析(テンポ抽出は別アプローチ)
組み合わせ推奨OP 🔄
- Math CHOP — tempo / beat / phase の値域を演出用にスケーリング
- Logic CHOP — pulse / rampbeat 出力で拍頭イベントを判定
- Select CHOP — numpeers / synced 等のステータスチャンネルを抽出
- Switch CHOP — synced 状態に応じてフォールバックタイムラインへ切替
- Trigger CHOP — 拍頭の pulse から ADSR エンベロープを起動
前処理・後処理CHOP 🎯
- 前処理: Constant CHOP、Math CHOP、Filter CHOP
- 後処理: Math CHOP、Logic CHOP、Select CHOP、Switch CHOP、Trigger CHOP
Info CHOP情報 📊
Ableton Link 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: Link が他端末を検出しない(numpeers が 0 のまま)
✅ Solution:
- 全端末が同一 LAN(同一サブネット)に接続されていることを確認
- OS / ルーターのファイアウォールが Ableton Link のマルチキャスト通信を遮断していないか確認
- Ableton Link CHOP の
ActiveとEnableが両方オンになっているか確認
❌ Problem: テンポは取得できるが拍がずれる・synced にならない
✅ Solution:
Status Channelsをオンにしてlinked/synced/waitingの値を実際に確認- 拍子(
Signature)が他端末側の設定と合致しているか確認 - Time Slice を有効化して、フレーム間隔と拍解析がずれないように調整
❌ Problem: Start / Stop が他端末と連動しない
✅ Solution:
Start Stop Sync Enableをオンにし、Link セッション全体での Start/Stop 同期を有効化- Ableton Live 等のホスト側でも Start/Stop 同期オプションが有効になっているか確認
- 対応していない古い Link バージョンの端末が混在していないか確認
❌ Problem: 出力信号がカクつく・滑らかでない
✅ Solution:
- Filter CHOP を後段に挿入して値を平滑化
- Time Slice モードを有効化し、フレームレート差による段差を緩和
- Sample Rate Match の設定で他 CHOP と整合するレートを選択
参考資料 📚
その他 🔗
- TouchDesigner Wiki — CHOP 概要
- TouchDesigner Wiki — Category:CHOPs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group

