WCAN mini AS vol.9 にて「アニメーションの可聴化に挑戦してみた」という内容の発表をしました。
以前、こちらのイベントに参加した際に、初めて可聴化という言葉を聞いたのですが、それから気になっていたので挑戦してみました。結局思ったところまでは行けなかったのですが、FlashPlayer10の新機能を試したりできて面白かったです。
スライドとか適当だったので、内容をこちらにまとめてみます。
可聴化とはなに?
・可視化 -> 見えるようにする
・可聴化 -> 聞こえる用にする
他にも「可触化」「可臭化」「可味化」などあるらしい。
この辺りは、研究段階のもので、インターフェースとして制作されてる物もあるようです。
可聴化の例としては金属探知機などがあります。
可聴化できたらなにがいいのか?
個人的な考えなのですが、可聴化できることで目に見えない情報を得ることができたり、目に見えている情報でもそれを補完してくれる作用があるんじゃないかと考えてます。
例えば、レースゲームをするさいに、エンジンの回転数を知りたいとします。エンジンの回転数は、画面に出ているタコメーターを見れば言い訳ですが、レースをしているのでコースに集中する必要もあります。そんなときエンジンの回転数が聞こえると、それをもとにある程度の回転数を予測することができます。
可聴化をすることで、視覚+αの情報をユーザーに届けることができるんじゃないかなと思いました。あとは音と同期したコンテンツは見ていて気持ちいいので、アニメーションを可聴化することで、アニメーションと同期した音を奏でることができるのでは、というところが今回挑戦しようと思った動機です。
それでFlashで音を再生するには以下の方法があります。
・MP3なんかを読み込んでSoundクラスで再生。
・タイムラインに読み込んだサウンドを貼付ける。
Flash Player10から新たにサウンドの機能が増えました。
それが「Dynamic Sound Generation」です。
Dynamic Sound Generation とは動的に生成した波形から音を作ることができる機能で、ASから生成した波のデータを音として再生することができます。
ここから実際のデモを交えながら話をさせていただきました。
デモとして以下のモノを用意しました。音があまりよろしくなかったりするのは、私の実装が悪いからだと思います><
※全部音が出るので気をつけてください。
・オブジェクトが動いている間、音がなる
・スピードによって音量が変わる
・スピードによって音質が変わる
・スピードによって音量、音質が変わる
・スピードによって音量、音質が変わる(動きをランダムに)
・スピードによって音量、音質が変わる(クラスにしてみた)
・Box2Dのコンテンツを可聴化(重くてだめ)
・Box2Dのコンテンツを可聴化(オブジェクト1個)
・Box2Dのコンテンツを可聴化(オブジェクト3個)
ソースはこちらからダウンロードできます。
http://labs.un-q.net/wcan/vol9/demo/wcanminias_vol9_src.zip
すべてCS4で作ったのでCS4じゃないと開けません。あと実験的なコードなのでいろいろ大変なことになってると思いますw
今回のデモではスピードのみをパラメータにしていますが、これをオブジェクトの大きさや色などを利用していくと、もっとバリエーションが出てきて面白いんじゃないかなと思います。
最終的にはパーティクルの可聴化をやってみたかったのですが、そこまでたどり着くことができませんでした。もうちょっと時間見つけてやってみたいと思います。
まだこんなのでは実用的ではないですが、Dynamic Sound Generationを使って、アニメーションに合わせた音を鳴らすことで、アニメーション自体の説得力を上げることができるんじゃないかなーと思います。
特に動的なアニメーションの場合、Dynamic Sound Generationが効果を発揮しそうです。
そんな感じで、実は音とか全く詳しくなくて分からないことばかりでしたが、なかなか楽しかったです。