CUSTOM COMP」カテゴリーアーカイブ

カスタムコンポーネントのドキュメント

TDAbleton System Components

TDAbletonシステムコンポーネントは、Abletonとの間でリアルタイムデータの送受信環境を提供します。 これらのコンポーネントを使用するには、tdAbletonSystemからプロジェクトにコンポーネントをコピーするだけです。 一般に、これらはCHOPチャンネルを使用してAbleton Liveからのデータ、コンポーネントを設定するカスタムパラメータを受信、Liveへデータを送信します。
TDAbletonコンポーネントを使用するには、まずTDAbletonを適切にセットアップする必要があります。
参照:Creating Custom TDAbleton Componentsの章とTDAbletonCompBaseExt Extensionの章

tdAbleton Master コンポーネント

TDAbleton Masterコンポーネントは、TouchDesignerとAbleton Live間の通信を維持します。 Liveに接続されていない場合、エラー状態になります。そのため、TDAbletonが接続の問題を抱えていることを簡単に知ることができます。
通常、 MasterコンポーネントはTDAbletonコンポーネントのカスタムパラメーターページのみと通信します。 以下のパラメーターが使用可能です。

Help Page

TDAbleton wiki ページを開きます。

Update Ableton Comps

.toeファイル内のすべてのTDAbletonコンポーネントが更新されます。

Connect

Ableton Liveとの通信を接続/切断します。

Listen Only

オンの場合、TDAbletonはAbletonセットへの送信・変更を許可しません。

Report Duplicate Names

Abletonセットで重複する名前が見つかったときに表示される警告の種類を設定します。 名前が重複すると、TDAbletonで問題が発生します。

In Port

TouchDesignerがAbletonからメッセージを受信するために使用するUDPポート番号。

Ableton Address

Ableton Liveを実行しているコンピューターのIPアドレス。 localhost も受け入れます

Ableton Port

メッセージを受信するためにAbleton Liveが使用するポート。

Max Port

メッセージを受信するためにTDAbleton Maxデバイスが使用するポート。

Ping

接続をテストするため、 Textportでpingの結果をレポートします。

Open Console

TouchDesigner Ableton Remote ScriptにシンプルなPythonコンソールを開きます。

Ableton Log File

これを設定すると、リモートスクリプトエラーが報告されるAbleton Liveログファイルに簡単にアクセスできます。 Abletonのヘルプページを参照してください。

Log TDA Debug Msgs

オンの場合、TouchDesigner Remote Scriptは追加のデバッグ情報をAbletonログファイルに記録します。

Open Log File

上記で設定したログファイルを開きます。

TDAbletonコンポーネントの共通機能

TDAbletonコンポーネントは共通のフレームワーク上に構築されているおり、次の機能を共有します。

CHOPの出力

TDAbletonコンポーネントを介したAbletonからの出力は、CHOPを通じて提供されます。 チャネル名でソース情報を提供します。 特定のケースでは、複数の出力が存在する場合があります。 カスタマイズして追加の出力を得ることが出来ます。

TDAbletonページ

このページには、TDAbletonシステムに関する情報と、TDAbletonコンポーネントで使用される共通のユーティリティパラメータが含まれています。

TDAbleton Comp

関連するTDAbleton Master コンポーネントのロケーション。

TDAbleton Version

このコンポーネントが更新されたTDAbletonバージョン番号。

Update

tdAbleton master がこのコンポーネントと異なるバージョン番号を持っている場合、このパラメーターは有効になります。Update を押すと、クローンソースからコンポーネントが複製され、バージョン番号が更新され、更新に必要なその他の特別なタスクが実行されます。

Help Page

このwiki ページを開きます。

Connect

オンの場合、このコンポーネントをAbletonに接続します。 オフにすると、すべてのAbletonリスナーが無効になります。

Clear CHOP

このコンポーネントの標準出力CHOPをクリアします。 TDAbletonコンポーネントに他の出力CHOP(abletonMIDIなど)がある場合、それらには独自のクリアパルスパラメーターがあります。

Strip CHOP Prefix Segments

CHOPチャネル名は自動で長くなる可能性があるため、これによりアドレスセグメントを削除するオプションが提供されます。 もちろん、CHOPの名前を変更することでより深いカスタマイズを実現できますが、一般に処理が遅くなります。

Timeslice OSC Chops

タイムスライスをオンにすると、CHOP出力が絶えずcookされますが、cook時間が速くなる場合があります。 これをオフにすると、データの受信時にのみ出力がcookされます。 プロジェクトごとに適した設定が異なります。

Send Only

オンの場合、コンポーネントは制御データをLiveに送信するだけで、何も受信しません。 これにより、OSC入力が完全にオフになります。

Live Object Model パラメータ

Live Object Modelパラメーターは、各TDAbletonコンポーネントのメインパラメーターページにあります。 トラック、デバイス、カスタムパラメーターは、TDAbletonシステムを使用して、Abletonセット内のオブジェクトへのアクセス環境を提供します。 さらに、パラメータChain [1-4]、Chain [1-4] Device パラメータは、ネストされたチェーンへより深くアクセスします。 通常、有効なオプションのみが使用可能です。 システムは、別のオプションが選択されるまで Not Found の選択を保持します。 この Not Found 状態は、Abletonのオブジェクトが削除された場合、または指定されたオブジェクトを含まないLiveセットがロードされた場合に発生する可能性があります。

Auto Sync パラメータ

Live Object Modelパラメーターのページには、通常、送信データの制御に役立つ次の自動同期パラメーターがあります。

Auto Sync Pars To CHOP

多くのTDAbletonコンポーネントには、値をAbletonに送信するカスタムパラメータがあります。 このパラメーター(オンの場合)は、これらの送信パラメーターを着信値に同期させます。 これにより速度が低下し、場合によってはネットワークエコーが発生する可能性があるため、自動同期はオプションです。 注:Abletonの値がTouchDesignerの送信パラメーターによって変更されると、そのパラメーターの自動同期は1秒間無効になります。

Sync Pars To CHOP

自動同期がオフの場合、Syncパラメーターが使用可能になり、出力パラメーターの1回の同期が実行されます。

TDAbleton コンポーネント

以下は、各標準TDAbletonコンポーネント個別の情報です。

abletonSong

現在起動しているAbleton Live Setへのアクセス環境を提供します。 タイムライン、シーン、キューポイント(別名ロケーター、別名マーカー)データを含む情報を提供します。 また、TDA Master Deviceへのインターフェイスも提供します。 このコンポーネントは、トリガーされたシーンと渡されたキューポイントのコールバックも提供します。 注:キューポイントのコールバックと更新は、Include Time Dataトグルがオンの場合にのみ実行されます。

追加出力

cuePointsはキューポイントのテーブルであり、scenesはシーンのテーブルです。

abletonSongコンポーネントは、プレイバックを制御するために以下の関数を提供します:

FireScene(scene=None)

シーンを起動します。
scene:intの場合、起動するシーンの番号。 strの場合、起動するシーンの名前。 Noneの場合、シーンはScene To Fireパラメータで選択されます。

StopAllClips()

曲のすべてのクリップを停止します。 abletonTrackコンポーネントは、個々のクリップの再生を制御することに注意してください。

JumpToCuePoint(cuePoint)

選択したキューポイントにジャンプします:
cuePoint:ジャンプするキューポイントのインデックスまたは名前。

GetCuePointByName(name) → Cue point info dict

キューポイントの情報を取得する
name:キューポイントの名前

abletonTrack

選択した(Trackパラメーターを介して)Ableton Live Trackへのアクセス環境を提供します。 選択したトラックにこれらの機能がない場合、一部のカスタム出力パラメーターが無効になる場合があります。 このコンポーネントには、再生ヘッドの位置やループポイントなど、クリップとclipSlotsに関する情報もあります。 このコンポーネントは、クリップがトリガーされて再生されるときにコールバックを提供します。

追加出力

clipsはソースファイルを含むトラックのクリップ情報のテーブルです。
clip_statusはトリガーされたクリップと再生中のクリップを示すテーブルです

クリップのコントロール

abletonTrackコンポーネントはクリップの再生を制御する以下の関数を提供します:

FireClipSlot(index)

指定されたインデックスでクリップを起動します。

StopClipSlot(index)

指定されたインデックスでクリップを停止します。

StopAllClips()

トラック上のすべてのクリップを停止します。
abletonSongコンポーネントには、曲のすべてのクリップを停止するこの関数のバージョンがあります。

abletonChain

abletonTrackコンポーネントに似ていますが、Ableton RackやDrum Padsなどネストされたチェーンにアクセスします。 Live Object Modelを介したアクセスが制限されているため、チェーンはトラックよりも提供する情報が少ないことに注意してください。

abletonClipSlot

トラックのクリップスロットへのアクセス環境を提供します。 Ableton Trackパラメーターページでトラックを選択し、Ableton Clip Slotページでクリップスロットを選択します。 このコンポーネントは、クリップがトリガーされて再生されるときにコールバックを提供します。

追加出力

clipsはソースファイルを含むトラックのクリップ情報のテーブルです。
clip_statusはトリガーされたクリップと再生中のクリップを示すテーブルです。
MIDIクリップスロットが選択されている場合、midiClipの出力は、MIDI Clip Time Range パラメータとMIDI Clip Note Range パラメータで指定された範囲のMIDIノートのリストを提供します。

クリップ関数

abletonClipSlotコンポーネントはクリップを操作するために次の関数を提供します。

SetNotes(notes)

選択したクリップにノート設定コマンドを送信します。
notes:フォームのタプルのタプル(ピッチ、時間、持続時間、ベロシティ、ミュート)
pitch:MIDI(0-127 int)
time:ビート(0-4フロート)
duration:ビート
velocity:MIDI(0-127 int)
mute:1はミュート、0は再生

RemoveNotes(timeStart, pitchStart, timeEnd, pitchEnd)

指定された範囲で始まるすべてのノートを削除します。 時間はビート、ピッチはmidi値(0-127)です。
timeStart:ビート(0-4フロート)
pitchStart:MIDI(0-127 int)
timeEnd:timeStartから削除エリアの終了までの拍数(0-4 float)
pitchEnd:pitchStartから削除領域の下部までのノートの数(0-127 int)

ClipCommand(command)

このコマンドを選択したクリップに送信します。

command

.の形式でLiveクリップオブジェクトに送信されるクリップコマンドのリストについては、http://julienbayle.net/PythonLiveAPI_documentation/Live9.6.xmlでClip.Clipを検索してください。

abletonDeviceParameters

選択したデバイスのすべてのパラメーターへの読み取り専用のアクセス環境を提供します。 Parameters List パラメータを使用すると、すべてのパラメータが必要ない場合にデバイスパラメータをフィルタリングできます。

abletonParameter

選択したAbleton Live Deviceパラメーターへのアクセス環境を提供します。 Abletonの値のタイプに関係なく、送信のValue Sendパラメータは常にfloatです。

abletonMIDI

TDA MIDI Max for Liveデバイスとのインターフェースにより、Abletonで発生するMIDIイベントへの入出力アクセス環境を提供します。 このデバイスは、AbletonまたはコンポーネントのAdd TDA MIDI Deviceパラメーターをクリックして作成します。

MIDI 入力

MIDIイベントは、TDA MIDIデバイスによってLiveからTouchDesignerに中継されます。これは、ノート、コントロールメッセージ、プログラムメッセージなどを含むすべてのタイプのMIDIデータを送信します。これらはすべて、abletonMIDI のCHOP出力に表示されます。便宜上、最後に受信したMIDIノートと最後に受信したMIDIベロシティも自動的に追跡されます。
MIDIイベントはTouchDesignerのフレームよりも高速に発生する可能性があるため、CHOPチャネルを使用するとデータが失われる可能性があります。このため、 abletonMIDIコンポーネントは、コールバックシステムで単一のコールバックを提供します:onMIDIEventは、情報辞書で addressとargsを提供します。これらのコールバックは、受信したMIDI CHOPデータに正確に対応しますが、フレームレートが原因でイベントを見逃すことはありません。
作成されるチャンネル名の一部はAbletonのTDA MIDIデバイスの名前です。この名前は、AbletonまたはDevice Nameパラメータを使用して変更できます。注:MIDIデータが他のデバイスによって変更される場合、チェーン内のデバイスの配置は重要です。

MIDI 出力

MIDIイベントは、Pythonを使用してTouchDesignerからTDA MIDIデバイスに送信できます。 TDA MIDIデバイスに送信されたMIDIイベントは、TouchDesignerにレポートされます。 MIDIイベントを送信するには、以下のabletonMIDIコンポーネントメソッドを使用します。

  • SendMIDI (type, data)
    接続されたTDA MIDIデバイスにMIDIコマンドを送信します。引数は、MIDIコマンド文字列と0〜2の整数データ項目です。
  • note <pitch value> <velocity>
  • pressure <aftertouch pressure> <pitch value>
  • control <control value> <controller number>
  • program <program change value>
  • aftertouch <aftertouch pressure>
  • pitchbend <pitchbend amount>
  • channel <MIDI channel>
  • flush (no arguments, stops all MIDI notes)

注:pitchbendは高解像度のMIDIデータ-8192〜8191を使用します
重要:MIDIイベントを送信するには、LiveのマスタートラックにTDA Masterデバイスが必要です。 abletonMIDIコンポーネントを使用して追加できます。

abletonLevel

このコンポーネントは、TDA Level Max for Liveデバイスとのインターフェースにより、Ableton Liveからレベルデータを提供します。 レベルは、表示されるチェーン内で分析されます。これにより、個々のトラックのレベルを分析し、マスタートラックへ送信して、曲全体を分析できます。 レベルはトラックミキサーレベルが適用される前に、チェーン内で測定されます。 Mix / Raw設定を使用して、レベル分析の前にデバイスのトラックにミックスを適用します。 注:レベルデバイスは、完全なオーディオ情報を送信するのではなく、受信する音量レベルのみを送信します。

Output モード

abletonLevelコンポーネントは、単一のTDA Level デバイス、またはラック内の複数のデバイスとインターフェースできます。 Output パラメーターで使用するモードを選択します。どちらのモードでも、Live内でデバイスを作成するか、Add TDA Level Device ****パラメーターとAdd TDA Audio Analyzer Rack パラメーターを使用して作成できます。注:これらのパラメーターはサブチェーンではなくAbletonトラックへのデバイ追加のみ使用できますが、Liveでデバイスを手動で配置して、TDAbletonコンポーネントでそれらを指定することにより、サブチェーン内でも使用することが出来ます。
Rackモードは、スペクトル分析に非常に役立ちます。デフォルトのRackはシンプルな例で、LiveのEQ Threeデバイスを使用した典型的な低/中/高の配置があります。これに限らず、ラック内では、Ableton LiveフィルターまたはEQデバイスを使用して、TouchDesignerにレベルを出力する前に、周波数の選択、レベルの変更、またはオーディオに対する他の操作を実行できます。 abletonLevel コンポーネントは、Rackのチェーン内のすべてのTDAレベルデバイスからのデータをレポートします。

abletonRack

このコンポーネントは、TDA Rack … Max for Liveデバイスを通じて、より高速で正確なOSC通信を提供します。また、TouchDesignerから複数のLiveパラメーターを制御するのにも役立ちます。 abletonRack コンポーネントは、Live Rack、特にマクロを使用して、深く接続された8つのパラメーターセットを作成します。目的のタイプのRackを作成する最良の方法は、3つのパルスパラメーター:Add TDA Audio Effect Rack、Add TDA Instrument Rack,、Add TDA MIDI Effect Rack のいずれかを使用することです。Rackを手動で作成することもできますが、TDA Rack …デバイスを手動で追加し(以下を参照)、そのパラメーターをRackのマクロにマップする必要もあります。注:これらのパラメーターはサブチェーンではなくAbletonトラックにデバイスを追加するためにのみ使用できますが、Liveでデバイスを手動で配置し、TDAbletonコンポーネントでそれらを指定することにより、サブチェーン内で使用することが出来ます。
コンポーネントは、CHOP出力でRackのマクロ値をレポートします。 rackというプレフィックスが付いたチャネルは、OSCを使用してMaxから直接送信されます。これは、MIDI Remote Scriptから送信されるTDAbletonの値よりも高速でスムーズです。 abletonRackコンポーネントは、MacrosパラメーターページでRackのマクロをコントロールする環境も提供します。
重要:TDAbleton Rackデバイスを使用する場合、ラックマクロ名にスペースを使用しないでください。 TDAbletonはこの問題を自動的に修正できません。

TDA Rack…Max デバイス

abletonRackコンポーネントは、TDA_Rack_OSCおよびTDA_Rack_MIDI_OSC Maxデバイスを使用して情報を送受信します。 これらは、TouchDesignerから作成する時、Rackにあらかじめ配置されています。 すべての機能を使用するには、これらのデバイスの1つがRackのデバイスチェーンに存在する必要があります。 これらのMaxデバイスには、Rack以外の機能はありません。
各Rackマクロには、Rack OSC Maxデバイスに対応するInおよびOutトグルがあります。 これらは、AbletonがTouchDesignerとの間でデータを送受信するかどうかを設定します。

Live Rack マクロへのCHOPデータの送信

abletonRackコンポーネントには、非常に効率的な方法でデータをRackのマクロに送信するためのCHOP inputおよびOSC Input CHOPパラメーターがあります。 受信CHOPチャネルは、CHOPに表示される順序で受信マクロにマッピングされます。 この順序を変更する場合は、マッピングする順序でチャネル名をReorder パラメーターに入力します。

abletonMapper

TDA Rackデバイスと同様に、このコンポーネントはTDA_Mapper Max for Liveデバイスを介して、より高速で正確なOSC通信環境を提供します。 TouchDesignerから複数のLiveパラメーターを制御するのに便利ですが、Rackシステムとは異なり、Ableton Live Mappingシステムを使用してLiveセットのパラメーターを制御できます。 abletonMapperコンポーネントを設定するには、Liveアプリケーションを使用して、制御するパラメーターをマッピングする必要があります。 abletonMapperデバイスを作成する最良の方法は、Add TDA Mapper Deviceのパルスパラメーターを使用することです。
注:このデバイスを使用してパラメーターを制御しても、Liveの取り消しスタックにステップは追加されません。 これは、TouchDesignerから常に変化する値を送信するときに便利です。

TDA Mapper Max デバイス

TDA Mapper Maxデバイスは、TouchDesignerからOSCデータを直接受信し、選択したLiveパラメーターに値を割り当てます。 制御するパラメーターを選択するには、TDA MapperデバイスのMAPボタンをクリックしてから、Live上制御するパラメーターをクリックします。 LiveとTouchDesignerの間でパラメーターの制御を切り替えるには、MAPボタンの下のボタンをクリックします(TDまたはLiveと表示されます)。 パラメータのマッピングを解除するには、Unmapボタンをクリックします。
TouchDesignerからのデータは0〜1の間で正規化する必要がありますが、LiveまたはTouchDesigner内で設定できるMin and Max valuesを使用して出力マッピングをスケーリングできます。

TDA Mapperからのデータ送信

abletonMapperコンポーネントには、非常に効率的な方法でデータをマッパーに送信するためのCHOP入力とOSC Input CHOPパラメーターがあります。 入力したCHOPチャネルは、CHOPに表示される順序でマクロにマッピングされます。 この順序を変更する場合は、マッピングする順序でチャネル名をReorderパラメーターに入力できます。 CHOP入力で制御されない値は、Map ValuesページのabletonMapperコンポーネントのパラメーターを使用して制御できます。

abletonValueListener

このコンポーネントは、Ableton Live Object Modelのすべてのリスナーを作成するためのパラメーターアクセス環境を提供します。 LOMパラメーターを介してLOMオブジェクトを選択し、作成されたLOM式に追加できます。 OSC戻りアドレスを指定することもできます。 参照:Setting up listenersの章

abletonComp

このコンポーネントは、カスタムのTDAbletonコンポーネントを作成するための出発点です。 それ自体では何も行いませんが、上記のLive Object Modelパラメーターを含むすべての必要なオペレータが含まれています。 詳細については、Creating Custom TDAbleton Componentsの章を参照してください。

TDAbleton

TDAbletonは、TouchDesignerをAbleton Liveと緊密にリンクするためのツールです。 Abletonセットで行われる、ほぼすべての表示と設定完全にアクセスできます。 TDAbletonシステムには、双方向通信用の多数のコンポーネント、カスタムコンポーネント、機能を構築するためのフレームワークが含まれています。
TDAbletonはAbletonのMIDIリモートスクリプトシステムと、必要に応じてMax for Live(M4L)デバイスを介して動作します。 TouchDesignerとの通信は、OSC経由(UDP使用)です。 完全にネットワーク対応であるため、TouchDesignerをAbletonと別のマシンで実行することも可能です。
参照:TDAbleton System Components, Creating Custom TDAbleton Components、TDAbletonCompBaseExt Extension

はじめに
システム要求
  • Ableton Live 9.7.2以降。
  • Max for Live 7.3.3以降。 (注:Max 7.3.3にはMIDIピッチベンドバグがあります。7.3.4を使用してください!)
  • TDAbletonは、TouchDesignerバージョン099 2018.28070以降のバージョンにインストールされています。 TDAbletonバージョンがTouchDesignerバージョンより古い状態になると、機能しない場合があります。
TDAbletonシステムのインストール
  1. TouchDesignerのHelpメニューでBrowse Samplesを選択し、TDAbletonフォルダーを入力して、Samples / TDAbletonフォルダーを開きます。
  2. TouchDesignerフォルダーをAbleton Remote Scriptsフォルダーにコピーします
    Windows標準インストールの場合
    \ ProgramData \ Ableton \ Live x.x \ Resources \ MIDI Remote Scripts \
    Mac標準インストールの場合
    / Contents / App-Resources / MIDI Remote Scripts /

このフォルダの場所と詳細については、Abletonの「サードパーティのリモートスクリプトをインストールする方法」を参照してください。

Ableton Liveのセットアップ
  1. Ableton Liveを起動します。
  2. TouchDesigner Remote Scriptフォルダー(上記でコピーしたフォルダー)をLiveのブラウザーサイドバー(左側)のPLACESセクションにドラッグします。 Liveでこの新しいフォルダーを選択すると、ブラウザー(右)にTDA MIDI.amxdおよびTDA Master.amxdデバイスが表示されます。
  3. OptionsメニューのAbleton preferencesを開き、左側のLink MIDIタブを選択します。 いずれかのControl SurfaceのドロップダウンでTouchDesignerを選択します。 入力と出力をNoneに設定する必要があります。
  4. ライブセットをリロードします。
TouchDesignerのセットアップ、接続の確認
  1. パレットのTDAbletonセクションに tdAbletonPackage.tox があります。 これをプロジェクトにドロップします。 Ableton Liveに接続していない場合、エラーが発生します。
  2. Ableton LiveとTouchDesignerが同じコンピューターで実行されている場合、ネットワーク設定は必要ありません。 異なるコンピューターで実行されている場合、Liveのアドレスに接続するようにTouchDesignerを設定する必要があります。 tdAbletonPackage / tdAbleton コンポーネントで、Ableton AddressパラメーターをAbleton Liveを実行しているコンピューターのネットワークアドレスに設定します。
  3. tdAbletonコンポーネントに切断エラーフラグがない場合、接続は成功しています。 (エラーメッセージが表示されるか、接続されていない場合は、以下のトラブルシューティングセクションを確認してください。)
  4. abletonSongコンポーネントの Add TDA Master Device ****パラメーターを使用して、LiveセットのマスタートラックにMaster Maxデバイスを追加します。 TDAbletonの一部の機能はこれがなくても機能しますが、機能は制限されます。
TDAbletonのアップデート

すべてのTDAbletonコンポーネントには、TDAbletonページにバージョン番号があります。 パレットおよびフォーラムコンポーネントのバージョン番号と照合して、最新版があるかどうか確認できます。 最新のアップデートは、TDAbletonのフォーラムスレッドのトップエントリから入手できます。 インストール手順を参照することもできます。
また、新しいTouchDesignerをインストールすると、新しいバージョンにアップグレードされます。

  1. 上記の「TDAbletonシステムのインストール」に従って、アップデートされたTouchDesigner Remote ScriptをAbleton Remote Scriptsフォルダーに再びコピーし、Liveセットを再起動します。
  2. プロジェクトの tdAbletonPackageを削除します。
  3. 新しい tdAbletonPackageをパレットからプロジェクトにコピーします
  4. tdAbletonPackageのtdAbletonコンポーネントで、Update Ableton Compsパラメーターをパルスします。

重要:いずれかの場所からインストールする場合、セット内のTouchDesigner Maxデバイス(名前はTDA_で始まります)を個別に保存した場合は、新しいバージョンに置き換える必要があります。 セット内のデバイス名の上にマウスを置いたときに下部のAbleton info バーに表示されるパスを見ることで、現在のフォルダー(MIDI Remote Scripts/TouchDesigner内)を使用しているかどうかを確認できます。 また、TDA Demoセット内のデバイスはそこを指していないため、Abletonセットをそのファイルに基づいている場合は交換する必要があります。 セット内のデバイスを再作成するか、セットのファイル構造内のファイルを置き換えることができます。

一般的な Ableton のタスク

以下は、Ableton Liveで一般的に使用されているデータと、TDAbleton内でのデータを受信している箇所です。

  • Scene情報
    abletonSong コンポーネント、song / info / triggered_scene および song / info / last_started_scene チャンネル。コールバック経由でも利用できます。
  • タイム情報
    abletonSong コンポーネント、song / info / bars 、 song / info / beats 、 song / info / sixteenths 、 song / info / time チャンネル。注:Include Time Data パラメーターは On にする必要があります。
  • キューポイント(タイムラインロケーター)
    abletonSong コンポーネントの LastLocatorPassedプロパティ。コールバック経由でも利用できます。
  • 出力レベル
    abletonTrack コンポーネント。
    … / output_meter_left、… / output_meter_right、… / output_meter_level チャンネル。注:Ableton Live Object Modelのバグのため、これらはAbletonインターフェイスでメーターが表示されている場合にのみ更新されます!また、Include Audio DataパラメーターはOnにする必要があります。
  • Trackスロット情報
    abletonTrack コンポーネント。
    channels … / playing_slot_index 、 … / fired_slot_index 。
  • Clip情報
    abletonTrack コンポーネント。out_clips DAT出力。Include Playing Clip Data パラメーターがOnの場合、 abletonTrack のCHOP出力にはクリップタイムとループ情報も表示されます。
  • デバイスのパラメータ値
    abletonParameter または abletonChainParameter コンポーネント。
  • Ableton コントロールパラメータ(Undoステップは作成されません)
    abletonParameterコンポーネント。
  • MIDI データ
    abletonMIDI コンポーネント。
  • クリップ内のMIDI ノート
    abletonClipSlotコンポーネント。
  • オーディオ レベル
    abletonLevel コンポーネント。トラックごとのレベルデータが統合され、フィルターと組み合わせてスペクトル分析が可能です。
  • Rackマクロデータの送受信
    abletonRack コンポーネント。パラメータデータを受信する最もスムーズな方法です。
  • Ableton Liveセットの一部を無視する
    TouchDesignerが接続されている場合、大きなセットの読み込みと変更が遅くなることがあります。セットの一部を無視するには、トラックにTDA_IgnoreおよびTDA_Ignore_MIDIデバイスを追加します。これらのデバイスからデバイスチェーン内のすべてのものは、TDAbletonでは無視されます。
TDAbleton の機能

TDAbletonの基本を学ぶ最も簡単な方法は、提供されているデモを解析することです。 開始するには、/ Samples / TDAbletonフォルダーのTDAbletonDemo.toeファイルを実行します。(TouchDesignerのHelpメニューからBrowse Samplesを選択します)。 同じフォルダーにAbleton Live用のTDADemo Liveセットがあります。 そのフォルダー内で、TDADemo Set.als Ableton Setを開きます。 Ableton Liveで再生ボタンを押すと、TouchDesignerデモのTDAbleton ComponentsでCHOPデータの変化がすぐに表示されます。 そうでない場合は、Ableton Liveを適切にセットアップしてください。(Getting Startedの章を参照)

TDA Master デバイス

TDADemoセットのMasterトラックには、TDA Master デバイスがあります。 このデバイスは、LiveがTouchDesignerに接続されているかどうかを示し、Liveセットにいくつかのマスター設定を適用できます。 TouchDesignerにはLiveにロードされたファイル名にアクセスする方法がないため、Song IDは、曲を識別するために使用する数値フィールドを提供します。 TDA MASTER デバイスの名前は、TouchDesignerで読み取り可能なテキスト名として使用されます。 Ableton Portは、TouchDesignerリモートスクリプトがTouchDesignerからメッセージを受信するために使用するネットワークポートです。 Max In Portは、TDA MaxデバイスがTouchDesignerからメッセージを受信するために使用するネットワークポートです。
ヒント:abletonSong コンポーネントの Add TDA Master Device パルスパラメーターを使用して、TDA Masterデバイスをライブセットに追加できます(以下を参照)。

TDAbleton コンポーネントの詳細

TDAbletonコンポーネントの基本構造を見るために、abletonSong1を例として紹介します。

Ableton Liveからのデータ受信

オペレータビューアに表示されるデータは、Ableton Live Setの現在の状態を反映しています。 タイムデータを反映した複数のチャネル(例:song / info / beats)と、さまざまな状態を反映したチャネル(例:song / info / play)を確認できます。 Liveから受信するデータは通常CHOPデータで、nullSong CHOPのように、TDAbletonコンポーネントからオペレータを配線することでアクセスできます。 circle1 SOPのパラメーターを見て、受信データをビジュアルで使用する方法例を確認してください。 Liveの一部のデータはDAT形式で提供され、コンポーネントの出力から同様にアクセスできます。
場合によっては、受信データがコールバック経由で届くことがあります。 この例は、abletonSong1_callbacks DATにあります。 Pythonコールバックはこのガイドの説明範囲を超えていますが、Pythonの知識がある場合は、このDATを調べると、 locatorByCallback およびsceneByCallbackのtextTOPを設定する方法例が明らかになります。

Ableton Liveへのデータ送信

Abletonに送信されるデータは通常、パラメータを介して送信されます。 abletonSong1 のAbleton Songパラメータページに移動すると、Liveセットの対応する値を設定するPlay、Loop、およびTempoパラメータが表示されます。 abletonChainコンポーネントは、CHOP export を使用して送信パラメーターを自動的に変更し、それによってLiveの値を変更する例を示しています。
これらのパラメーター値は、Auto Sync Pars To CHOP トグルがオンになっている場合にのみ、受信するLiveデータで最新の状態に保たれます。 特定の場合に自動同期がTouchDesignerとAbletonの間でエコーの変更を引き起こす可能性があるため、このオプションが提供されます。

Live セットのナビゲーション

Ableton Live Object Model(またはLOM)は、トラック、デバイス、パラメーター、シーンなどを含むAbleton Live Setのすべての側面を参照します。LiveObject Modelの詳細については、LOM PythonリファレンスおよびLOM Max For Liveリファレンスを参照してください。

ここでは、例としてabletonParameter1を例に紹介します。

ほとんどのTDAbletonコンポーネントは、セットの特定部分を参照するために作られています。 例えば、abletonSong1はLiveセット全体のデータを表示します。abletonParameterコンポーネントは、単一のAbletonデバイスパラメーターの値を取得、設定するために使用します。 コンポーネントのパラメーターを見ると分かるように、これはTrack:1 Muugy、Device:Pitch、Parameter:Pitchを参照するように設定されています。 Ableton Liveでそのデバイスに移動すると、そのピッチ値がTouchDesignerでミラーリングされていることが分かります。

各TDAbletonコンポーネントは、パラメータメニューを使用してLIVE Object Modelをナビゲートします。 例えば、ReturnsおよびMasterを含むすべてのトラックがTrackパラメーターで参照されます。 トラックを選択すると、使用可能なデバイスがDeviceパラメーターで参照され、以降も同様に参照されます。 他の例を見るには、単一のトラックを参照する abletonTrack1 コンポーネントと、インストゥルメントラックなどのサブチェーン内のAbletonデバイスパラメーターへのアクセスを提供するabletonChainParameter1コンポーネントを参考にしてください。
注:abletonParameter1 の Value Send パラメーターを変更することで、Abletonのピッチ値を変更できますが、これにより、そのパラメーターのAbletonの自動化が無効になることに注意してください。 これは、自動同期が必ずしも望ましいとは限らないもう1つの例です。

MIDIデータ

abletonMIDI1コンポーネントにはユニークな機能があります。MIDIデータをAbleton Liveから取得するにはAbleton LiveにMax For Liveデバイスが必要です。 各abletonMIDIコンポーネントは、Liveの特定のTDA MIDIデバイスに接続されています。 Abletonセットで1 Muggyトラックを参照すると、TDA MIDIデバイスが表示されます。

LiveセットのTDA MIDIデバイスは、abletonMIDI コンポーネントのAdd TDA MIDI Device ****パラメーターを使用してTouchDesignerから作成する必要があります。 コンポーネントのTrackパラメータでトラックを選択してAdd TDA MIDI Deviceボタンを押すだけです。
TDAbleton MIDI機能の詳細については、abletonMIDIの章を参照してください。

MIDIの受信

TDA MIDIデバイスは、トラックに基づいて、TouchDesignerにMIDIデータを送信します。 たとえば、Pitchデバイス(Abletonトラックの左側)を変更することによって作成されたMIDIノートの変更がTouchDesignerに反映されます。

MIDIの送信

TDA MIDIデバイスは、Ableton LiveにMIDIコマンドの送信にも使用できます。 これを確認するには、abletonMIDI1コンポーネントの左にあるsableNoteボタンとpitchBendスライダーを使用します。

TDAbleton Rack デバイス

TouchDesignerからLiveのパラメーター値を制御および参照する最もスムーズな方法は、abletonRackコンポーネントとそれに対応するLiveのMaxデバイスを使用することです。 これらのRackは、abletonRackコンポーネントのパルスボタンを押してLiveに作成することが出来ます。 例えば、デモセットの2 Muggyトラックのデバイスチェーンを見てください。

TDA Rackデバイスは、TouchDesignerとRackマクロ間でデータを送受信する最初のチェーンに特別なMaxデバイスを備えた標準のAbleton Live Rackを含むLiveプリセットです。 上記スクリーンショットでは、このMaxデバイスはTDA_Rack_OSC です。 ほとんどの場合、このデバイスとやり取りする必要はありませんが、受値と送値のオン/オフコントロールがあります。
これらのラックを使用するための一般的な手順は、パラメーターを制御または参照したいLiveデバイスをRackに入れることです。 次に操作したいパラメーターをRackマクロにマップします。 これにより、これらのパラメーターと対応するabletonRackデバイス間の高速接続が設定されます。 詳細については、abletonRackの章を参照してください。

TDAbleton Packageの使用方法

tdAbletonPackage では、左上に tdAbleton Masterコンポーネントが表示されます。 このコンポーネントは、Ableton Liveへの接続を維持し、通常、接続が完了したら変更する必要はありません。
他のTDAbletonコンポーネントは、Abletonとの間でリアルタイムデータを送受信します。 これらのコンポーネントを使用するには、 tdAbletonPackage からプロジェクトにコンポーネントをコピーします。 これらはCHOPチャンネルを使用してAbleton Liveからデータとコンポーネントを設定するカスタムパラメータを受信し、Liveへパラメータを送信します。 各コンポーネントについては、TDAbleton System Componentsの章を参照してください。
TDAbletonシステムは、カスタムコンポーネントを作成する機能も提供します。 詳細については、Creating Custom TDAbleton Componentsの章を参照してください。

プロジェクトのセットアップ

これまで見てきたように、TDAbletonは、TouchDesignerがやり取りするLive Object Model毎に個別のコンポーネントを用意します。 すべてのオブザーバをセットアップするには、必要な分だけtdAbletonPackageからTDAbletonコンポーネントをコピーして、適切にセットアップします。 通常のように、重複するデータにSelect CHOPを使用すると、コンポーネントを重複して作成するよりも効率的です。

注意事項
  • 最重要事項:

システムは、同じトラック上または同じチェーン内の重複した名前のデバイスと重複した名前のデバイスによって混同されます。 場合によっては、有効なTouchDesignerチャンネル名に変換された後の同じ名前にも当てはまります。 TDAbletonは、重複する名前を見つけると警告ダイアログをポップアップし、重複する名前を自動的に変更するオプションを提供します。 この動作は、tdAbletonマスターコンポーネントのReport Duplicate Namesパラメーターで設定します。

  • TouchDesignerによって制御されているAbletonパラメーターは、値が別の値によって制御されている場合によくあるように、Abletonインターフェイスで無効になりません。 TouchDesignerがAbletonパラメーター値を変更すると、その値のAbletonオートメーションはAbletonインターフェイスでのみ復元できます。

重要:TouchDesignerからAbletonの値を変更すると、Abletonに元に戻すステップが作成され、値がLiveに常にストリーミングされている場合に元に戻す機能が破壊される可能性があります。

  • TDAbletonがLiveに接続されていないときにAbleton Liveオブジェクトの名前が変更された場合、TDAbletonが再接続されると接続が切断されます。 TDAbleton接続中に名前の変更が発生した場合、接続は適切に維持されます。
  • Compメニューを介して選択されたAbletonパラメーターは、Abletonで整数であっても常にデータをfloat値としてレポートします。
  • TDAbleton Rackデバイスを使用する場合、マクロ名にスペースを使用できません。
トラブルシューティング

TDAbletonはOSCを介してAbleton LiveのPythonリモートスクリプトにリンクされており、Pythonリモートスクリプトは低レベルのシステムを介してAbletonアプリにリンクされているため、トラブルシューティングは少し難しい場合があります。 問題がある場合、最も重要なツールはTextportです。 ほとんどのエラーはそこで報告されるため、トラブルシューティング中は必ず開いておいてください。

TDAbletonの最も一般的な問題は、接続に関するものです。 最も単純な接続テストは、tdAbletonマスターのPingパラメーターです。 それを押すと、テキストポートに応答が表示されます。 そうでない場合、tdAbletonのアドレスまたはポート設定が正しくない可能性があります。 マスターを含むすべてのTDAbletonコンポーネントには、Connectパラメーターがあります。 オンとオフを切り替えると、接続がリセットされ、多くの場合、問題に関する有用なエラーメッセージが出力されます。

接続していない場合は、Abletonポート(Live MasterトラックのTDA_Masterデバイス上)がAbleton Port パラメータ(TouchDesignerのtdAbletonコンポーネント上)と一致している事を確認してください。 一致している場合、システムで実行されている他の何かとOSCの競合が発生している可能性があります。 両方を別の一致する番号に変更します。 残念ながら、OSCポートが使用されているかどうかを判断する方法はないため、これは試行錯誤によって行わなければなりません。

それでも接続しない場合は、外部テキストエディターとTouchDesignerの他のサブプロセスを閉じてみてください。 何らかの理由で、OSCポートをこれらのサブプロセスに関連付けることができ、アプリケーションが閉じられるまでポートは再び開きません。

TDAbletonは、TouchDesignerリモートスクリプトからテキストポートにエラーを送信します。 ほとんどの場合、これで十分ですが、Abletonログファイルを確認する必要がある場合があります。 ログファイルを確認する方法はAbletonヘルプページを参照してください。 また、tdAbletonにはAbleton Log Fileパラメーターがあり、このパラメータでログの保存場所を設定して、TouchDesigner内のログの表示を取得するためにOpen Log Fileパラメーターをパルスできます。

ヒント:Log TDA Debug Msgsパラメーターは、Abletonのログファイルの詳細なデバッグをオンまたはオフにします。 このパラメータがオフの場合、エラーと最も基本的な情報のみがAbletonログに記録されます。