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の章を参照してください。