大福未来研究所

大福フューチャーラボのなんか色々なアレ。プログラミング(C++/DirectX/Unity/UE4あたりやりたい)とか音楽とかの。

【C++/DirectX】リアルタイムで音声波形をテクスチャに書き込んで表示してみる:その1 必要な作業を割り出してみる

最初の記事がこれってどうなの?と関係各所から突っ込まれそうではありますが…

 

音声波形をリアルタイムでテクスチャに書き込んで表示したい

 

って書くと何言ってるのかよくわからない感じありますよね。

手っ取り早く書くと音楽プレイヤーとか最近のニコ動のボカロ曲の動画とかでよく表示されてるスペアナ(音域ごとの音量を示す棒グラフだったり折れ線グラフだったりがみょんみょん動いてるアレ)を表示させてみようというやつです。

 

実はこれ、冬コミで出した「KAMIKAZE BEAT TUBE」というゲームの背景で使っている機能なんです。

つまり、ある程度のスペックを持ったパソコン上で動かすことを考えるなら、リアルタイムで音声データを変換→テクスチャへ書き込むという流れは(私みたいなへっぽこ学生プログラマでも)可能なのです。

 

最初の記事では、この「音声波形をリアルタイムでテクスチャに書き込んで表示したい」という作業を細かく分けて、どの段階でどんな処理をするのかから書いていきたいと思います。

 

まず音声波形を表示するわけだから、音が必要ですね。

となると、音声ファイルを読み込まなければいけません

次に、その音声ファイルを読み取ってから、鳴らすだけではなくて視覚化出来るような処理をしなければいけません。

そんでもって、視覚化出来るようなデータが出来上がったら、それをテクスチャに焼き付けなければいけませんから、まずテクスチャを確保して、それに書き込む線やら図形やらの事前処理をしなければいけません。

そこまでやってようやく、音声波形をテクスチャに書き込むことが出来るのです。

 

というわけで、

その2:音声ファイルの読み込み

その3:音声データを変換する

その4:テクスチャに書き込むとは

その5:いざ書き込み

その6:まとめ

ぐらいの長さで公開していけたらと思っております。

何卒よろしくお願いいたします。