トップページ > 記事閲覧
フーリエ解析について
名前:リカオン 日時: 2022/08/23 04:34

FFTをすることのできるアプリケーションはあるのですが、自力でしてみたいのでそのための数学的データの取得記方法を探しています。 p.s.高校の数学の課題で、フーリエ解析について小論文を書くためです。 ピアノの音声データから音の波の関数を取得したいのですが方法が見つかりません。何かございますでしょうか? 音声データの関数から解析し、違った周波数の波を解析し、楽器の音色の特徴について書こうと思っています。
メンテ

Page: 1 |

Re: フーリエ解析について ( No.1 )
名前:管理人 日時:2022/08/24 00:31

リカオンさんが取得したいとご要望されている『数学的データ』とは具体的には何を指しますでしょうか? pcmの波形データのことでしたら、LoadSoftSound で wavファイルなどを読み込み、ReadSoftSoundData を 使用することで波形データの 1サンプルの量子化値を取得することが出来ます ↓こちらは test.wav を読み込んで、波形データを画面に描画するサンプルプログラムです #include "DxLib.h" #define SCREEN_W 1280 #define SCREEN_H 720 #define SCREEN_H_HALF (SCREEN_H / 2) int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { int SoftSoundHandle ; LONGLONG SampleNum ; int Channels, BitsPerSample, SamplesPerSec ; int Max ; // ウインドウモードで起動 ChangeWindowMode( TRUE ); // 画面解像度を設定 SetGraphMode( SCREEN_W, SCREEN_H, 32 ) ; // DXライブラリの初期化 if( DxLib_Init() < 0 ) return -1; // 画像の読み込み SoftSoundHandle = LoadSoftSound( "test.wav" ) ; // サンプル数の取得 SampleNum = ( int )GetSoftSoundSampleNum( SoftSoundHandle ) ; // フォーマットを取得 GetSoftSoundFormat( SoftSoundHandle, &Channels, &BitsPerSample, &SamplesPerSec ) ; // 最大振幅値を算出 Max = ( 1 << ( BitsPerSample - 1 ) ) - 1 ; // 画面に波形を描画する for( int i = 0 ; i < SCREEN_W ; i++ ) { int Ch1, Ch2 ; // 振幅値を取得 ReadSoftSoundData( SoftSoundHandle, i * SampleNum / SCREEN_W, &Ch1, &Ch2 ) ; // 画面に描画 DrawLine( i, SCREEN_H_HALF, i, Ch1 * SCREEN_H_HALF / Max + SCREEN_H_HALF, GetColor( 255,255,255 ) ) ; } // キー入力待ち WaitKey() ; // DXライブラリの後始末 DxLib_End(); // ソフトの終了 return 0; }
メンテ
Re: フーリエ解析について ( No.2 )
名前:リカオン 日時:2022/08/24 03:13

ありがとうございます。 私の取得したい数学的データとはフーリエ解析を実際する上で必要となる情報です。 音の波の関数を取得できると良いなと思っています。 レスポンスの方で言及していただいた、ファイルの方を確認してみようと思います。
メンテ
Re: フーリエ解析について ( No.3 )
名前:管理人 日時:2022/08/26 00:27

> 私の取得したい数学的データとはフーリエ解析を実際する上で必要となる情報です。 > 音の波の関数を取得できると良いなと思っています。 ご返答ありがとうございます DXライブラリで取得できるのは No.1 で使用している ReadSoftSoundData による量子化値だけなので、 申し訳ありませんがリカオンさんが望まれている数学的データを直接取得する機能は無さそうです (・・;
メンテ
Re: フーリエ解析について ( No.4 )
名前:リカオン 日時:2022/08/29 03:19

ありがとうございます! 助かりました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存