none
FFT解析について RRS feed

  • 質問

  • プログラムに関して全くの初心者です。

    現在、Visual C++2005 Express Edition を使ってWAVEファイルをFFT解析し、波形表示させるアプリケーションの作成を目指しています。

    メイン画面をデザインし、「解析開始」といったボタンの作成をしたのですが、FFT解析のプログラムをはじめその先が分かりません。

    最終的にはFFT解析をしたデータを用いてMIDIファイルに変換させたいのですが、プログラム方法や関連サイトなどの情報があれば教えていただきたいです。

    抽象的な内容でごめんなさい。

    2007年11月4日 10:28

すべての返信

  • あまりに漠然としていてどこから突っ込んでいいやら ^^;

    [1] まず "FFTのなんたるや"はわかっていますか?

    [2] FFTのコードを入手/作成してください。"高速フーリエ変換"を検索サイトで探せば山ほど見つかります。
    [3] 画面や入出力ファイルと[2]とを繋いでください。必要に応じて[2]に修正/調整を施しながら。

    > FFT解析をしたデータを用いてMIDIファイルに変換させたいのですが

     

    ...わかんない。FFTを通すと時間軸が周波軸に変換されます。それをどうやってMIDIに?
    逆FFTかけて再び時間軸に戻すのでしょうか。

    MIDIというからにはFFT解析の結果から"音階とその継続時間"の列を生成しなければならないわけですが...

    2007年11月4日 14:28
  • FFT解析のプログラムをはじめその先が分かりません。

    何が問題なのか(アルゴリズム?それともPG自体の問題?)見えないので、てきと~に

    資料を案内しておきます。

     

    翔泳社出版 Windowsサウンドプログラミング 3,990円

     

    確か、上記の書籍に外部音声からのFFTによる表示プログラムが載せられていたと思います。

    FFTに関しての詳細は書かれていなかったと思いますが、FFT表示としての参考にするなら十分かと

    思われます。

     

    最終的にはFFT解析をしたデータを用いてMIDIファイルに変換させたいのですが、

    プログラム方法や関連サイトなどの情報があれば教えていただきたいです。

    「Wave Midi 変換」あたりでググると窓の杜で「採譜の達人」というソフトがヒット

    しますので、その説明を読めば何かしらつかめるのではないでしょうか。

     

    私が妄想する限りでの主な流れとしては、FFT→オクターブ変換→ある程度のパワが

    あればそれを譜として出力、だと思うのですがやったことがないので怪しい限りですが。

     

    # 確か、Spectrumだとか、Spectraとか、そのようなソフト名で、パワスペクトル表示と

    # オクターブ表示の2つの方法が切り替えられる表示ソフトがあったので、それが案内

    # できるとイメージがハッキリすると思うのですが。

    2007年11月5日 2:44