今回は Audio data Visualization の勉強をしていきます!
サンプルファイル
chimanaco/takara-univ-media-programming-2021
07が本日のディレクトリです。
TouchDesigner では Audio を扱うオペレーターがたくさんあります。OP Create Dialog で見ると、Audio から始まる CHOP が並んでいまして、これらが Audio 関連のオペレーターになります。
Audio IN/OUT /project1/Audio_in_and_out
まずは Audio file を再生してみましょう。Audio file の再生には Audio File In CHOP
を使用します。これをネットワークエディタに配置すると自動的に再生されます。Audio file をご用意頂いている場合は File
からパスを指定してください。
再生している様子は分かるのですが、このままだと何も聞こえません。スピーカーを通して出力をするには Audio Device Out CHOP
を配置して出力先を Device
から選択します。Volume
や Pan
などのパラメーターもあります。
注意!Audio Device Out CHOP に接続をする前に必ず PC の音量を確認してください!予想外に大音量で再生される可能性もあります。
オーディオインターフェイスやマイクなどを使用して外部デバイスから Audio を取り込む場合は Audio Device In CHOP を使用します。
また、Movie に Audio が含まれている場合は、Audio Movie CHOP
で Audio の情報を取得することができます。Movie File In TOP
で Audio を取得したい Movie を指定します。
Audio 音量の解析 /project1/Audio_volume_analyze
Audio data visualization の方法としてはいくつかあるんですが、まずはAnalyze CHOP
を使用して音量を解析する方法をご紹介します。Function
にある設定の中で Maximum
が最大値、RMS Power
はRMS (root-mean-square)は二乗した値の中央値(平均値)の平方根です。いい感じに平均をとるものと考えてください。これらが生成する値を使って、視覚化を行うことができます。
Trail CHOP
と インスタンシングを使った Visualization
Audio Filter CHOP
では特定の周波数範囲のみ取り出すフィルターを作ることができます。Filter
パラメーターで Low Pass
で低周波、Band Pass
で中周波、High Pass
で高周波をそれぞれ通過させることができます。
これらを使いやすくしたコンポーネントも TouchDesigner にデフォルトでついています。
Palette > Tools > audioAnalysis
Audio Spectrum を表示する /project1/Audio_spectrum_CHOP_TOP
別の Audio data visualization の方法として、スペクトラムもよく使われます。TouchDesigner では Audio Spectrum CHOP で FFT というアルゴリズムを使って Audio のスペクトラムを生成することができます。
ここでは2D でテクスチャを作ってそれを 3D に起こすという手法を使います。
以下のような手順になります。
Audio Spectrum CHOP
でスペクトラム生成Resample CHOP
でサンプル数を変更CHOPTo TOP
でテクスチャに変換- Feedback を使ってテクスチャを作る
Audio Spectrum をインスタンシングでビジュアライズする /project1/Audio_spectum_Instancing
できたテクスチャを元に Instancing を使ってビジュアライズした例です。
Audio Spectrum を SOP でビジュアライズする /project1/Audio_spectum_SOP
できたテクスチャを元に SOP に変形を加えてビジュアライズした例です。
余裕があったら Beat CHOP
と Audio Oscillator CHOP
をご紹介します。
BEAT CHOP /project1/Beat
Audio Oscillator CHOP /project1/Audio_oscillator
本日の課題: Audio data visualize してみる
今日勉強した Audio data visualization の手法を使って、作ってみてください。プロジェクトフォルダごと Teams に提出してください。