• 本当は、田舎に庵を建てて隠遁生活したいけど、先立つものも無いので自宅で..。

NAudio キャプチャしたデータをFFTして表示し、WaveOutで音も出してみる。

昨日のdataavailableコールバック関数の中では、キャプチャしたデータをそのままbufferedwaveprobiderに渡していたけど、同じ関数の中にFFTの処理を追加した。

FFTのデータ数は、2のべき乗にする必要があるので、データ数を4096にしている。 また、音声データは、2チャンネル分あるけど、FFTをするのは1チャンネルだけ。

FFTの実装..といってもNAudioにある関数を使っているので、ちょー簡単。

データにハミング窓をかけてからFFTに渡す。 FFTへの入力データは複素数なので、虚部を0にした複素数に変換する。

FFTの最初の引数をfalseにすると逆フーリエ変換になる。 2つ目の引数は、データ数を2のべき乗で表した時のべき数。

結果の絶対値を取って、logに変換して表示。

ちょっと怪しい気もするけど、この表示が最終目的じゃないので、とりあえずこのまま次に進める。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA