Audio Devices DAT 完全ガイド | 使い方・パラメータ解説【TouchDesigner】

※当サイトにはプロモーションリンクが含まれます。

Audio Devices DAT がシステム上の入出力オーディオデバイスをテーブル化する図

記事更新の通知はXでアナウンス٩(๑❛ᴗ❛๑)
@maru6o6をフォロー

概要 📖 – システム上のオーディオ I/O デバイス一覧の取得

Audio Devices DATは、システム上で利用可能なオーディオデバイスをドライバ別にスキャンしてテーブルとして列挙する DATです。Driver メニューで対象ドライバ (DirectSound / CoreAudio / ASIO 等) を選択し、Input Devices / Output Devices トグルで入出力フィルタを設定すると、合致するオーディオデバイスが DAT テーブルに出力されます。Audio Device In CHOP / Audio Device Out CHOP のデバイス選択肢と連携させて、運用環境のデバイス構成に動的追従するオーディオパイプラインを構築できます。

主な用途 🎯

  • システム上のオーディオデバイス一覧の取得として、入力 / 出力デバイスをドライバ別にテーブル化
  • Audio Device In/Out CHOP のターゲット選定として、検出したデバイス名を下流のオーディオ I/O OP の参照先に動的バインド
  • ASIO / Blackmagic / AJA などプロドライバの利用可否確認として、低遅延ドライバが現環境で使えるかをパッチ実行前にチェック
  • デバイス抜き差しのコールバック監視として、外部オーディオインタフェース接続変化を即座に検知し UI / ログに反映
  • マルチ機材インスタレーションでのデバイス再構成として、PC 入替時にデバイス名が変わってもテーブル参照で配線を自動追従

データフロー 🔄

入力: OS が認識しているオーディオドライバ・デバイス情報

Audio Devices DAT がドライバ / 入出力フラグでフィルタしながらデバイスを enumerate

出力: 検出デバイス一覧テーブル (ドライバ / デバイス名 / 入出力種別 等)

Tips

初心者の方は、以下日本語書籍も手元にあると安心です。

まる。
まる。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!


パラメータ解説 ⚙️

Audio Devices Page 📋

Driver .driver 🎚️

デバイス列挙の対象とするオーディオドライバの選択

項目 内部名 説明
default (DirectSound/CoreAudio) .default OS 標準のオーディオサブシステム (Windows: DirectSound / macOS: CoreAudio)
ASIO .asio 低遅延プロオーディオ用ドライバ (Windows)
DataPath (RGBEASY) .datapath DataPath RGBEASY キャプチャ製品系オーディオ
Blackmagic .blackmagic Blackmagic Design キャプチャデバイス上のオーディオ
AJA .aja AJA キャプチャ / IO デバイス上のオーディオ
Deltacast .deltacast Deltacast 放送 IO カード上のオーディオ

All Drivers .alldrivers 🌐

Driver 設定を無視して全ドライバのデバイスを列挙するトグル:

  • All Drivers トグル: alldrivers オンにすると Driver の選択を無視し、利用可能な全ドライバのデバイスをまとめてテーブル化

Input Devices .input 🎤

入力系デバイスの列挙トグル:

  • Input Devices トグル: input オンにすると入力 (マイク / ライン入力 / キャプチャ入力 等) デバイスをテーブルに追加

Output Devices .output 🔊

出力系デバイスの列挙トグル:

  • Output Devices トグル: output オンにすると出力 (スピーカ / ヘッドフォン / ライン出力 等) デバイスをテーブルに追加

Callbacks DAT .callbacks 🔔

デバイステーブルの変化に応答するコールバックスクリプト:

  • Callbacks DAT: callbacks テーブルに変化 (デバイス出現 / 消失 / 状態変化) があるたびに 1 回実行されるスクリプト DAT へのパス

Common Page 🔧

Language .language 📝

DAT が動作するスクリプト言語の決定方法

項目 内部名 説明
Input .input 入力 DAT のスクリプト言語を使用
Node .node この DAT 自身のスクリプト言語を使用

Edit/View Extension .extension 📄

外部エディタに公開するファイル拡張子の選択

項目 内部名 説明
dat .dat 汎用的なファイル拡張子 dat を使用
From Language .language DAT のスクリプト言語に応じた拡張子を自動選択
Custom Extension .custom Custom Extension で指定したカスタム拡張子を使用

Custom Extension .customext 🔤

Edit/View ExtensionCustom Extension のときに適用される拡張子:

  • Custom Extension 文字列: Edit/View Extensioncustom のときに使用される任意のファイル拡張子

Word Wrap .wordwrap 🔁

ノード表示でのワードラップ (折り返し) の有効化

項目 内部名 説明
Input .input 入力 DAT の Word Wrap 設定を継承
On .on Word Wrap を有効化 (ノード上の長い行を折り返し表示)
Off .off Word Wrap を無効化 (折り返さずそのまま表示)

実践アイデア 💡

Example 1: 機器名でAudio Device In CHOPを自動接続 🎤

Audio Devices DAT (Input=on) → Select DAT (target row 抽出) → Audio Device In CHOP (Device パラメータに参照式)

Audio Devices DAT で入力デバイスを列挙し、Select DAT で目的のオーディオインタフェース行を抜き出して、Audio Device In CHOP の Device パラメータに参照式で接続する基本フロー。PC を入れ替えてもデバイス名さえ揃っていれば配線を維持できる。

  1. Audio Devices DAT を配置し Input Devices をオン、Output Devices をオフに設定
  2. Driver をデフォルト (DirectSound/CoreAudio) または ASIO に設定
  3. Select DAT でターゲットインタフェース名を含む行を抽出
  4. Audio Device In CHOP の Device パラメータに Select DAT のセル参照式を記入
  5. デバイス出現順や OS のインデックスに依存しない動的バインドが完成

Example 2: デバイス抜き差しのコールバック監視 👀

Audio Devices DAT (callbacks=script_dat) → Text DAT (Python callback) → UI / ログ表示

Audio Devices DAT の Callbacks にスクリプト DAT を指定し、外部オーディオインタフェースの抜き差しが発生したタイミングで Python 側がデバイステーブルの差分を取り、UI 通知やログ出力に流す監視構成。

  1. Text DAT を作成し callbacks 用の Python スクリプトを記述 (デバイス出現・消失・状態変化のハンドラ)
  2. Audio Devices DAT の Callbacks DAT パラメータにそのスクリプト DAT を指定
  3. デバイステーブル更新時に前回テーブルとの差分を計算しイベント発火
  4. UI Table COMP に「接続中」「切断」のステータスをハイライト表示

Example 3: ASIO 利用可否のプリフライトチェック 🚦

Audio Devices DAT (Driver=ASIO) → Info CHOP (num_rows) → Logic / Switch CHOP → サブシステム切替

Driver を ASIO に固定して Audio Devices DAT を実行し、Info CHOP で num_rows を取得することで「現環境で ASIO ドライバ経由のデバイスが見えるか」をパッチ起動時に判定。ASIO 不在の PC では DirectSound 系の代替経路にフォールバックする運用に使える。

  1. Audio Devices DAT の Driver を ASIO、Input/Output Devices を必要に応じてオン
  2. Info CHOP で対象 Audio Devices DAT を参照し num_rows チャンネルを取得
  3. Logic CHOP / Switch TOP-COMP で num_rows ≥ 1 のとき ASIO 系オーディオパスを有効化
  4. num_rows = 0 の場合は default ドライバ経路に切替えて警告メッセージを表示

関連オペレータ 🔗

類似機能OP 🔍

  • Art-Net DAT — ネットワーク上の Art-Net 照明デバイスを検出する DAT
  • Serial Devices DAT — シリアル接続デバイス一覧を取得する DAT
  • Video Devices DAT — 接続中のビデオ入力デバイス一覧を取得する DAT
  • Monitors DAT — 接続中のディスプレイ・モニタ情報を取得する DAT

組み合わせ推奨OP 🔄

  • Audio Device In CHOP — 検出デバイスを入力ソースとしてオーディオ信号を取り込む
  • Audio Device Out CHOP — 検出デバイスを出力先としてオーディオ信号を送出
  • DAT Execute DAT — デバイステーブルの行・列変化に応じてスクリプトを起動
  • Table DAT — 検出結果を保持・加工して下流から参照しやすい形に整理
  • Info CHOP — DAT 自身の num_rows / num_cols 等のメタ情報取得

前処理・後処理DAT 🎯


Info CHOP情報 📊

Audio Devices DAT は Info CHOP による詳細情報取得に対応しています。num_rows / num_cols でテーブル規模を、total_cooks / cook_time / cpu_time で実行統計を参照でき、デバイス再列挙のトリガ判定や負荷監視に利用できます。

DAT 固有情報 📋

  • num_rows: DAT の行数
  • num_cols: DAT の列数
  • type: DAT の型 (table / text)
  • is_table: テーブル形式の場合 1、テキスト形式の場合 0

汎用オペレータ情報 🔄

  • total_cooks: プロセス開始からのクック回数
  • cook_time: 最後のクック時間 (ミリ秒)
  • cook_frame: 最後にクックされたフレーム番号
  • warnings: 警告数
  • errors: エラー数

トラブルシューティング ⚠️

よくある問題と解決策 🔧

❌ Problem: 想定したオーディオデバイスがテーブルに現れない
✅ Solution:

  • Driver パラメータが対象デバイスの所属ドライバと一致しているか確認 (ASIO デバイスを default で見ようとしていないか等)
  • All Drivers をオンにして全ドライバ横断で列挙し対象デバイスがどのドライバに紐付くかを特定
  • Input Devices / Output Devices のトグルが目的に合っているか確認 (入力デバイスを見たいのに Input がオフだと出ない)

❌ Problem: ASIO を選択しても行が 0 件
✅ Solution:

  • OS / オーディオインタフェース付属の ASIO ドライバが PC にインストール済か確認
  • ASIO ドライバが他アプリケーション (DAW 等) に占有されていないか確認し、必要なら他アプリを終了
  • ASIO 不在環境向けに Audio Devices DAT を Driver=default で並列配置し、Switch CHOP-COMP でフォールバック経路を用意

❌ Problem: デバイス抜き差しに反応せずテーブルが更新されない
✅ Solution:

  • Callbacks DAT パラメータに指定したスクリプト DAT のパスが正しいか確認
  • AudiodevicesDAT_Class の Python API ドキュメントに沿ったコールバック関数名・シグネチャになっているか確認
  • Text DAT の Language が Python になっており構文エラーが無いかテキストポート (textport) で確認

❌ Problem: デバイス名は出るが Audio Device In/Out CHOP で選択できない
✅ Solution:

  • Audio Device In CHOP / Audio Device Out CHOP の Driver パラメータが Audio Devices DAT の Driver 設定と一致しているか確認
  • デバイス名に Unicode や全角文字が含まれている場合はパッチ全体で同一文字列が使われているか確認 (細かな差で照合不一致が起きる)
  • OS のサウンド設定でデバイスが「有効」かつ「既定」になっているか確認し、再ポーリング (DAT の再 cook) を実行

参考資料 📚

その他 🔗

公式リソース 📖

この記事はLLMと共に内容を執筆、更新しています。
最新バージョンとの項目差異など、情報の不一致を見つけた心優しい方はXもしくはInsta、メールなどよりサイト管理者までご連絡ください😎


まる。

お仕事のご依頼はDM又はメールにて。
━━━━━━━━━━━━━━━━━
Python/Touchdesigner/M5Stackをこよなく愛すフルスタックエンジニア。
専門は生理心理学、趣味はヨガやサウナ、EMS電気風呂などヘルスケア全般。
脳波や筋電、心拍を中心とした生体情報のセンシング&インタラクティブアートづくりがライフワーク。

普段はワントゥーテンという会社で空間演出エンジニアをしています。
リファラル採用お繋ぎできますので、我こそはという尖った方は経歴と希望職種添えてDMください(エンジニア以外、営業職等もOK)。
ご飯行きましょう。

↓日常垢
Instagram:@malmal0v0

まる。をフォローする
その他の記事はこちら
Math Combine POP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
ZED Select TOP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
ZED POP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
Window COMP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
Widget COMP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】

タイトルとURLをコピーしました