FFTを用いてドレミの周波数解析のプログラムを作ろうと勉強しています。
そこで理論的にわかっていないため質問させていただきました。
ハミング窓の使い方についてです。
ドレミファソラシドと1secごとに変化していくWAVEファイルがあった場合。(0-1秒=ド 1-2秒=レ)
1:0~50msハミング窓を与えてやる
2:その区間をFFTする。(データ数は512で考える)
3:求まった基本周波数からドレミの判定を行う
4:50msずらす
5:1に戻る
※汚いですが手書きで自分の↑のイメージを書いて見ました。http://www.jpdo.com/link/1/img/49864.jpg
このようにして9秒まで分割して計算すればドレミの解析が出来るはずだと思っているのですが、どうやってハミング窓を0~50msなどという風に使えばいいのかがわかりません。
このあたりの概念がさっぱりなので、
どうすれば0~50msの区間をハミング窓で得られるのか。
ハミング窓で得た区間をFFTするにはどう考えるのか。
を是非教えてください。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>for(i=0; i<8000 ;i=i+j){
> for(j=0; j<4000 ;j++){
> /*元のWAVEデータに窓関数を掛ける*/
> }
>}
これだと、i=i+j の、jは未定義ってことになってしまいますが。
for(i=0; i<8000-0.05*8000; i+=0.03*8000) { // 30msごとずらす
for(j=0; j<0.05*8000; j++) { // 50ms幅の窓関数をかける
clippedData[j] = data[i+j] * hamming[j];
fftresult = FFT(clippedData);
}
}
みたいな感じになるはずです。
なるほど 参考になります。
これを参考にしてちょっと色々といじってみます。ありがとうございました。
また質問があったときはよろしくお願いします!
No.1
- 回答日時:
フローはだいたい合ってると思います。
で、肝心の質問なんですが、
>どうすれば0~50msの区間をハミング窓で得られるのか
ていう質問の意味がよく分かりません。
つまり1~5のうちの何が分からないと言っているのですか?
台(サポート)が0~50msがなるハミング関数がわからないってことですか?
日本語が変で申し訳ないです。
自分もよくわかってないため日本語にうまくできないのですが
1:の 一定区間ごとにハミング関数を掛ける方法がわかりません。
時間ごとの周波数変化を見るためには、区間で分割してハミング関数をかけてFFTすればいい。
これはわかっているのですが、区間で分割するってどうするんだろう?と。
JPGの方でもイメージは掴めているのですが、実際どう使えばいいのかがわかりません。
例えば1秒のWAVEでサンプリング周波数が8000の場合
>for(i=0; i<8000 ;i=i+j){
> for(j=0; j<4000 ;j++){
> /*元のWAVEデータに窓関数を掛ける*/
> }
>}
このようにすれば、0-50msと50-100msには同じ形の窓関数が適用されるという事でしょうか?
1つのファイルを何個かに区切って窓関数を掛けたりDFTする方法とかがよくわかりません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 物理学 風力発電での音 1 2023/04/16 08:55
- 数学 「FFTの基本は、DFTはサンプル数Nが偶数なら 2つのDFTに分解できるということ。 分解するとD 3 2022/03/31 21:01
- 物理学 風車が回転する理由 5 2023/05/08 08:03
- 物理学 流体力学の勉強方法 2 2023/04/25 23:18
- その他(自然科学) 風車音の測定 3 2023/04/28 07:12
- 数学 フーリエ変換後の負の周波数成分の扱いについて 4 2022/09/03 10:18
- 教育・学術・研究 仕事の方向性を変えたい。経営分析→数値解析 1 2023/06/18 16:51
- 物理学 2種類の風切り音の周波数の違い 1 2023/04/20 07:39
- 物理学 波動方程式のようなもの 1 2023/05/13 07:23
- 物理学 フーリエ級数展開をExcelのFFTでシミュレートする 5 2023/07/03 22:02
このQ&Aを見た人はこんなQ&Aも見ています
-
好きな人を振り向かせるためにしたこと
大好きな人と会話のきっかけを少しでも作りたい、意識してもらいたい…! 振り向かせるためにどんなことをしたことがありますか?
-
一番最初にネットにつないだのはいつ?
ネットユーザーもいろんな世代が生まれていますが、始めて接続したときのワクワクは同じはず! 人生で一番最初にネットに接続したときの思い出を教えて下さい。
-
これが怖いの自分だけ?というものありますか?
人によって怖いもの(恐怖症)ありませんか? 怖いものには、怖くなったきっかけやエピソードがあって聞いてみるとそんな感覚もあるのかと新しい発見があって面白いです。
-
自分の通っていた小学校のあるある
進学したり大人になってから、「あれって自分の小学校だけだったのかな」と思うことありますよね。 逆に「他の小学校ってそんなことするの!?」と思ったり。 そんな「自分の通っていた小学校」のあるあるを教えてください!
-
「黒歴史」教えて下さい
若気のいたりでやってしまったけれど、いまとなっては封印したい… そんなあなたの黒歴史を教えて下さい。
-
窓関数(方形窓)について
その他(自然科学)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「黒歴史」教えて下さい
- ・2024年においていきたいもの
- ・我が家のお雑煮スタイル、教えて下さい
- ・店員も客も斜め上を行くデパートの福袋
- ・食べられるかと思ったけど…ダメでした
- ・【大喜利】【投稿~12/28】こんなおせち料理は嫌だ
- ・前回の年越しの瞬間、何してた?
- ・【お題】マッチョ習字
- ・モテ期を経験した方いらっしゃいますか?
- ・一番最初にネットにつないだのはいつ?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
ユーザーフォームのテキストボ...
-
フォートランでの相互相関関数...
-
【EXCEL VBA】ブック内の特定の...
-
EXCELVBAでSQLserverからデータ...
-
【エクセル】測定時間がバラバ...
-
エクセルで2つの時系列のデー...
-
カンマからスラッシュに
-
VBにおいてフォーム間の変数の...
-
C言語プログラム変更
-
VB RS-232C 通信プログラム
-
UCLとLCLってなんですか?予備...
-
S9タイプからXタイプにデータ...
-
特定のデータの抽出方法を教え...
-
GETはできるがPOSTができない、...
-
VBA 空白セルを削除ではない方...
-
配列でデータが入っている要素...
-
バブルソートの実行時間について
-
大学のゼミのレポートがムカつ...
-
[C言語] コメント文字列を無視...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
【エクセル】測定時間がバラバ...
-
多量のSUMIF式を軽くしたい
-
VBA 空白セルを削除ではない方...
-
配列でデータが入っている要素...
-
メモ帳(テキストデータ)をExc...
-
ブレーカー落ちで壊れたりしな...
-
特定のデータの抽出方法を教え...
-
この行は既に別のテーブルに属...
-
EXCELVBAでSQLserverからデータ...
-
CString型の文字列連結について
-
[C言語] コメント文字列を無視...
-
Accessで該当データにフラグを...
-
エクセルで2つの時系列のデー...
-
S9タイプからXタイプにデータ...
-
プログラミング python pandas ...
-
ユーザーフォームのテキストボ...
-
カンマからスラッシュに
-
Excel VBAでのオートフィルター...
-
C# でDataTableの更新を高速化...
おすすめ情報