音声ファイルから動画ファイルを生成する(38) – Ocean Renderer

公開:2014-02-13 20:45
更新:2017-07-29 13:17
カテゴリ:音声動画出力プログラム,windows,c++,audio

fluidcs11サンプルは主要な演算はCompute Shader、つまりGPUによって行われている。FFT処理もGPUで行えば、音声データを視覚化するのもかなり高速になるのではないかと思った。CPU -> GPU間のメモリ転送も発生しなくなりそうだしね。

すでにGPUを使ってFFTを行うライブラリはいくつかあるようだ。CUFFTとかね。GPUによるFFT処理を追っているうちにOcean Water RenderingにFFTが使われていることを知った。どの部分で使われているのかはよくわからないのだが。Ocean Water Renderingは下の動画のような画像表現の手法である。論文としては「Simulating Ocean Water」が有名のようである。

この波模様を生み出すデータとして音声波形を使うのはどうだろうかなと思っているのである。何かの変数に周波数解析結果をぶち込んでみたりすると面白い表現ができそうな気もする。この波描画の論文を読みかけたのだけれども内容はさっぱりわからず睡魔が襲ってくるのであった。どこかにソースコードが転がっていないだろうかね。。なんとかものにしたいのだがハードルはかなり高そうだ。しばらくは波描画方法のインターネット・リソースを漁ることにする。