[TouchDesigner 模板] 麥克風輸入

本文介紹了一個簡單的 TouchDesigner 模板,使用 Audio Device In 取得麥克風接收的音訊,再透過 Analyze 來分析當下的音訊中的最大音量,並運用 Logic 作為音量閾值的判斷,當音量高於閾值時,將產生一道脈衝訊號。脈衝訊號可用於觸發其他 OP 的功能,例如:場景切換、重置。

模板說明

這個模板首先將透過 Audio Device In 取得麥克風的音訊,並使用 Analyze 計算音訊的最大音量,並以 Logic 來設定音量的閾值,當最大音量高於閾值時將變成 1,否則為 0。

當 Logic 從 0 變成 1 時,Count 也會變成 1,但 Count 會在下一幀時歸零,而形成一道脈衝訊號。脈衝訊號是指僅有一瞬間是 1,其餘時間皆為 0 的訊號,可以用於觸發其它 OP 的功能。

模板包含的 OP 如下:

OP類型說明
Audio Device InCHOP麥克風音訊輸入
AnalyzeCHOP計算音訊最大音量
LogicCHOP設定音量閾值
CountCHOP產生脈衝訊號
NullCHOP暫存狀態與分割功能

連接方式

建立 Audio Device In、Analyze、Logic、Count 與 Null 後,按照順序直接連接即可。

  • Audio Device In CHOP > Analyze CHOP > Logic CHOP > Count CHOP > Null CHOP

TouchDesigner 麥克風輸入模板連接方式

參數設定:Analyze

分析當下的麥克風音訊,取得最大音量的數值。

  • Analyze > Function:Maximum

TouchDesigner 麥克風輸入模板 Analyze 參數設定

參數設定:Logic

設定閾值,當麥克風的最大音量高於指定數值時,Logic 將變為 1,否則為 0。

  • Logic > Convert Input:Off When Outside Bounds
  • Logic > Bounds:0.2 (範例)

TouchDesigner 麥克風輸入模板 Logic 參數設定

參數設定:Count

當麥克風的最大音量超過閾值時,Count 的數值會 + 1,再下一幀時則會重置為 0,形成一道脈衝訊號。由於麥克風接收的音訊可能會造成短時間內高頻率重複觸發脈衝的現象,因此可以考慮加上觸發的延遲 (冷卻時間)。

  • Trigger > Re-Trigger Delay:0.5 (範例)
  • Count > Off to On:Increase Count
  • Count > While On:Reset Count to Zero
  • Count > On to Off:None
  • Count > While Off:Reset Count to Zero

TouchDesigner 麥克風輸入模板 Count 產生脈衝訊號參數設定 Trigger

TouchDesigner 麥克風輸入模板 Count 產生脈衝訊號參數設定 Count

相關文章

Ted Liou

雲科碩士在讀中,專注於 Unity C#、TouchDesigner 技術,常把技術筆記分享到部落格,偶爾還直接挪用文章來當教材的研究生。