2024
11
21
2009
09
12
36. ゲームのためのシンプルな仮想音響生成スキーム
背景と目的 : 3DCGのように、仮想の3D空間内の物体や位置・姿勢や光線の写像をシミュレートして仮想映像を生成するシステムはポピュラーだが、同じように物理シミュレーションから音を作り出すことは一般的でない(あるにはあるし[1]結構API化されてたりもするが、少なくとも3DCGのごとくゲームなどには使われたりということは無いよね)。なぜなら、音の発生を模擬するためには、極限的には分子レベルでの物体の動きを再現しなければならないから(それもkHzオーダで)。まぁ実際にはもう少しマクロに微分方程式で記述するのだが。
しかし、もっといろいろ大ざっぱに発音システムを近似すれば、もう少し簡単に音をリアルタイム生成できるのではないか?という発想に基づき、3DCGエンティティの衝突から音を生成するという試みを考えてみる。上手くいけば格闘ゲームなどで、リアルかつ非ワンパターンな打撃効果音などが提供できる、という名目。
内容 : 音は基本的に物体(の全体あるいは部分)の固有振動の重ね合わせが空気に乗って耳に届くわけだが、無数の固有振動を模擬することはできない。そこで人間の可聴域20~20,000Hzを、思い切って8bitで256チャネルぐらいにざっくり分割する。ほんで各チャネルの中心周波数にだけパワーを入れ、他はオフ。これら256本の純音(正弦波)の総和が最終的な出力音になる。
各々のチャネルには3DCGエンティティから発される固有振動を割り当てることになるが、分子レベルでシミュレートするのは大変なので、エンティティに固有振動周波数を定義する「材質」プロパティを与えておき、これプラス衝突の種類や速度、角度などを用いて発生する音を決める。材質プロパティは64種類ぐらいでいいだろう。
考察 : 書いていて、何がしたいのか自分でもよく分からなくなった。しかも、そこまでしてリアルタイム生成された音に意味があるのか。
[1] “ピアノ音の物理シミュレーション : 弦・駒・響板の連成解析をめざして” ,
橋本・梅谷,情報処理学会研究報告.[音楽情報科学] pp.1-6,1999年2月
2009/09/12 (Sat.) Trackback() Comment(0) 日々のアイディア
Comments
Trackback
Trackback for this entry: