音をモニタリングしてインタラクションのトリガーを決める。

More than 1 year has passed since last update.

あんまり面白いことやってません。
普通の処理です。
が、どこかでだれかの役にたてればうれしいです。

特定の音をトリガーにする。

さて、昨年やった神社×vvvvでは、参拝のときに叩く手の音からインタラクションを起こしました。
IMAGE ALT TEXT HERE
https://youtu.be/xFspE4ID9d0

一口に音といっても、周囲の雑音やマイクのノイズなど、インタラクションのトリガーとして使うのには調整が必要になってきます。
しかし、雑音の大きさ、使うマイクの種類、配線、感度によって調整しなければいけないので、現場で調整をしなくてはいけません。
そんな時は、UIを作っておくと便利ですね。

このときはこんな調整用のUIを事前に作ってから臨みました。

ff2-compressor.gif

まず現場での音の波形を右のRendererで確認しながら、手を叩いてみてどういった形になるか見てみます。横軸は周波数、縦軸は大きさです。
そこから自分で雑音を出してみたりして、どんな形になるかを確認しつつ、手を叩く音で特異的に大きい値を出す周波数を確認して取得するように設定します。
設定する周波数は青の縦線が載っている部分になるようになっていて、視覚的に確認できます。

今度は左のRendererを確認して、トリガーとする閾値を決めます。横軸は時間、縦軸は大きさです。
白い波形が、先ほど設定した周波数から取得した値です。
設定する閾値はRendererのオレンジの線の位置と連動していて、閾値を上げ下げするとこの線の位置も変わるようにしてあります。こうすることでこちらも、どういう音が閾値を越えるか視覚的にわかるようになります。

このようにRendereをUIとして使用することで、速やかな調整を行うことができます。

 注意

ちなみにこのようにパッチにRendererを埋め込むには、ショートカットのAlt+2を使えばokです。
が、vvvvの挙動として、Rendererが1つでもディスプレイの表示面から外れると全体のフレームレートが落ちるという現象が起きることがあります。
その時はAlt+3でRendererを非表示にするか、表示画面内まで持ってくる必要があります。必ず起こるとは限りませんが、異様にフレームレートが落ちる場合はこの現象を疑ってみてください。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.