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

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

Audio Device In CHOP のオーディオ入力取得機能を示す図

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

概要 📖 – オーディオデバイスからの音声入力取得

Audio Device In CHOPは、オーディオデバイスから音声入力を取得しチャンネル波形として出力する CHOPです。DirectSound/CoreAudio・ASIO・Blackmagic・AJA・DataPath といった複数ドライバに対応し、Mono/Stereo/Multi-channel での入力取得が可能です。

主な用途 🎯

  • マイク・オーディオインターフェース等からのリアルタイム音声入力取得
  • ライブパフォーマンス・インスタレーションでのオーディオリアクティブ演出
  • ASIO ドライバ経由での低レイテンシー多チャンネル入力
  • 音声波形からの解析(RMS Power・スペクトラム・ピーク検出)への入力ソース
  • Blackmagic / AJA / DataPath 等キャプチャデバイスのオーディオストリーム取得

データフロー 🔄

入力: 物理オーディオデバイス(マイク・オーディオI/F・キャプチャカード)

ドライバ選択(DirectSound/CoreAudio/ASIO/native)

入力チャンネル選択

出力: 音声サンプルのチャンネル波形

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

Audio Device In Page 📋

Driver .driver 🎛️

使用するオーディオドライバを選択するメニューパラメータ

項目 内部名 説明
DirectSound/CoreAudio .default OS 標準のオーディオドライバ(Windows: WDM / DirectSound、macOS: CoreAudio)
ASIO .asio オーディオインターフェース付属の低レイテンシードライバ(Windows)
DataPath (RGBEASY) .datapath DataPath 製キャプチャデバイスからのオーディオ取得用ネイティブドライバ
Blackmagic .blackmagic Blackmagic Design 製デバイスからのオーディオ取得用ネイティブドライバ
AJA .aja AJA 製デバイスからのオーディオ取得用ネイティブドライバ

Format .format 🔊

DirectSound 使用時の入力チャンネル構成(Mono/Stereo/Multi-channel)

項目 内部名 説明
Mono .mono モノラル 1 チャンネルで入力
Stereo .stereo ステレオ 2 チャンネル(左右)で入力

※ 注意: Driver が DirectSound の場合のみ Format パラメータが有効になります。Multi-channel に設定した場合はチャンネル数を Input 1 / Input 2 ページで選択する必要があります。

引用元: 公式 docs

デバイス選択・入力設定 🎙️

Active .active 🟢
– オーディオ入力のオン/オフ切り替え
– オフ時は CHOP がクックされず CPU 負荷を抑えられる

Device .device 🎚️
– 入力対象のオーディオデバイスを選択するメニュー
default 選択時は OS の既定の録音デバイス(Windows: コントロールパネル>サウンド>録音)を使用

Error if Missing .errormissing ⚠️
– 指定されたデバイスが見つからない場合に CHOP をエラー化
– デバイス未接続時の事故検出用に有効化推奨

Inputs .inputs 🎛️
– Driver が ASIO(Windows)または CoreAudio(macOS)の場合に使用する入力チャンネルを選択
– 多チャンネルオーディオI/F の特定入力のみを取り出す用途

Rate .rate 📐
– オーディオ入力のサンプルレート(samples/sec)
– 一般的には 44100 / 48000 / 96000 等を指定

Buffer Length .bufferlength 📏
– 入力バッファのサイズ。レイテンシーに直接影響
– 大きいほど安定するがレイテンシーが増加、小さいほど低遅延だが音切れリスクが上がる

Number of Channels .numchan 🔢
– Driver が Blackmagic / AJA の場合に使用するチャンネル数を指定


Input 1 Page 🎚️

Input 1 チャンネル選択 🎙️

Multi-channel モード時に有効化する入力チャンネル(前方・低周波・後方系):

  • Front Left: frontleft – 前方左チャンネル(利用可能な場合は有効化、または追加チャンネルとして使用)
  • Front Right: frontright – 前方右チャンネル
  • Front Center: frontcenter – 前方中央チャンネル
  • Low Frequency: lowfrequency – 低周波(サブウーファ)チャンネル
  • Back Left: backleft – 後方左チャンネル
  • Back Right: backright – 後方右チャンネル
  • Front Left of Center: frontleftcenter – 前方中央左寄りチャンネル
  • Front Right of Center: frontrightcenter – 前方中央右寄りチャンネル
  • Back Center: backcenter – 後方中央チャンネル

Input 2 Page 🎛️

Input 2 チャンネル選択 🎙️

Multi-channel モード時に有効化する入力チャンネル(側方・上方系):

  • Side Left: sideleft – 側方左チャンネル
  • Side Right: sideright – 側方右チャンネル
  • Top Center: topcenter – 上方中央チャンネル
  • Top Front Left: topfrontleft – 上方前方左チャンネル
  • Top Front Center: topfrontcenter – 上方前方中央チャンネル
  • Top Front Right: topfrontright – 上方前方右チャンネル
  • Top Back Left: topbackleft – 上方後方左チャンネル
  • Top Back Center: topbackcenter – 上方後方中央チャンネル
  • Top Back Right: topbackright – 上方後方右チャンネル

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: マイク入力でオーディオリアクティブ照明 🎤

Audio Device In CHOP → Analyze CHOP (RMS Power) → Math CHOP → Light Intensity
  1. Audio Device In CHOP の Device で使用するマイクを選択(または default で OS 既定)
  2. Active をオンにして入力開始、Format を Stereo に設定
  3. 後段の Analyze CHOP で Function を「RMS Power」に設定して音量を取得
  4. Math CHOP で値域を 0-1 に正規化し、ライトの強度パラメータに Export

Example 2: ASIO 経由の低レイテンシー多チャンネル入力 🎛️

Audio Device In CHOP (ASIO) → Audio Spectrum CHOP → Visualizer
  1. Driver を「ASIO」に切り替えてオーディオI/F のドライバを選択
  2. Inputs パラメータで使用する入力チャンネルを個別に有効化
  3. Buffer Length を低遅延設定(例: 128 サンプル)に下げる
  4. Audio Spectrum CHOP で周波数解析しビジュアライザに供給

Example 3: Blackmagic デバイスからのキャプチャ音声取り込み 📹

Audio Device In CHOP (Blackmagic) → Audio Device Out CHOP / Recording
  1. Driver を「Blackmagic」に変更
  2. Number of Channels で取得チャンネル数を指定
  3. 映像入力(Video Device In TOP)と同期させたオーディオを取得
  4. 後段で Audio Device Out CHOP に流すか、ファイル録音用に分岐

Example 4: 音声波形のピーク検出によるイベントトリガー 🔔

Audio Device In CHOP → Filter CHOP (De-spike) → Analyze CHOP (Index of Highest Peak) → Trigger CHOP
  1. Audio Device In CHOP でマイク入力を取得
  2. Filter CHOP の De-spike でクリック音や電源ノイズを除去
  3. Analyze CHOP で「Index of Highest Peak」を選択しピーク位置を抽出
  4. Trigger CHOP で閾値判定し音響イベントに同期した演出を起動

関連オペレータ 🔗

類似機能OP 🔍

  • Audio Stream In CHOP — ネットワークストリーミング経由の音声入力
  • Audio File In CHOP — ファイルからの音声入力(デバイスではなくファイルが入力ソース)

組み合わせ推奨OP 🔄

  • Analyze CHOP — 音声波形から RMS Power・ピーク等の統計値を抽出
  • Audio Spectrum CHOP — 後段で時間領域から周波数領域へ変換
  • Filter CHOP — ノイズ除去や De-spike による前処理
  • Audio Device Out CHOP — 入力した音声をそのままモニタリング出力
  • Trigger CHOP — 音量レベルから ADSR エンベロープを起動

前処理・後処理CHOP 🎯


Info CHOP情報 📊

Audio Device In CHOP は Info CHOP による詳細情報取得に対応しています。

CHOP固有情報 🎚️

  • start: CHOPインターバルの開始(サンプル単位)
  • length: CHOPのサンプル数
  • sample_rate: フレーム毎秒のサンプルレート
  • num_channels: CHOPのチャンネル数
  • time_slice: タイムスライス有効時は1、無効時は0
  • export_sernum: Export接続の更新回数

汎用オペレータ情報 🔄

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

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

よくある問題と解決策 🔧

❌ Problem: 音声入力が取得できない/無音になる
✅ Solution:

  • Active がオンになっているか確認
  • Device メニューで正しい入力デバイスが選択されているか確認(default は OS 既定の録音デバイス)
  • Error if Missing をオンにしてデバイス未接続のエラーを表面化
  • OS 側のサウンド設定(Windows: コントロールパネル>サウンド>録音)でデバイスが有効化されているか確認

❌ Problem: 音声入力にレイテンシーが大きい/音切れが発生する
✅ Solution:

  • Driver を ASIO(Windows)または CoreAudio(macOS)に切り替えてレイテンシーを下げる
  • Buffer Length を小さくしてレイテンシー短縮(小さすぎると音切れリスクあり、システム性能と要バランス)
  • Rate(サンプルレート)をデバイス側のネイティブレートに合わせて再サンプリングを回避

❌ Problem: Multi-channel 入力で意図したチャンネルが取得できない
✅ Solution:

  • Driver が DirectSound の場合は Format を「Multi-channel」に設定し Input 1 / Input 2 ページでチャンネルを有効化
  • Driver が ASIO/CoreAudio の場合は Inputs パラメータで使用チャンネルを個別選択
  • Driver が Blackmagic / AJA の場合は Number of Channels で取得チャンネル数を指定
  • 後段でSelect CHOPを使い必要なチャンネルだけを取り出す

❌ Problem: ノイズや電源ハムが入力に乗る
✅ Solution:

  • 後段にFilter CHOPの De-spike や Gaussian を入れて時間方向のノイズ除去
  • Math CHOPで DC オフセットを補正
  • ハードウェア側のゲイン設定や接地(グラウンドループ)を物理的に見直す

参考資料 📚

その他 🔗

公式リソース 📖

この記事は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をコピーしました