音声ファイルを連続で​FFTを行い、順次保​存するには

17 Ansichten (letzte 30 Tage)
一秀 近藤
一秀 近藤 am 4 Nov. 2022
Kommentiert: 一秀 近藤 am 20 Jan. 2023
サンプリングレート44100Hzの音声データ(wavファイル)のものを1秒単位(44100データごと)でFFT解析を行いたいと考えています。
またそのFFT解析の結果を"fftsave_0001"のような形でcsvファイルに順次保存したいと考えています。
またFFTの窓関数はhamming窓を使う予定です。
大変ではありますが、ご教授お願いいたします。

Akzeptierte Antwort

Hernia Baby
Hernia Baby am 4 Nov. 2022
まずデータを用意します
clc,clear,close all;
f = 50:50:500;
Fs = 44100;
t = (0:1/Fs:3-1/Fs)';
x = sum(sin(2*pi*f.*t),2);
そしてFs = 44100点ずつ切り出して、FFTをかけた後出力します
n = floor(length(t)/Fs);
w = hamming(Fs);
for ii = 1:n
y = fft(w.*x(Fs*(ii-1)+1:Fs*ii));
writematrix(y,sprintf('fftsave_%03d.csv',ii))
end
ここで確認したいのですが、本当にfftがほしい結果なのでしょうか?
スペクトラムを出したい場合はpspectrumをおすすめします
  2 Kommentare
一秀 近藤
一秀 近藤 am 7 Nov. 2022
返信遅くなりすいません。
プログラムの提案ありがとうございます。ぜひ参考にさせていただきたいと思います。
また、集めたいデータとしてはFFTを行った後のベクトルを使いたいと思っております。
スペクトラムは今のところ使う予定ではないです。
ご丁寧な回答本当にありがとうございました。
一秀 近藤
一秀 近藤 am 20 Jan. 2023
いきなりすいません。
やはりいろいろ考えたうえでスペクトラムのほうが必要になってきており、自分なりに作成している最中です。pspectrumを用いた場合、ベクトルの数値が4096となりサンプリングレートに関係なくその数値になるのかわかっておりません。よろしければ教えていただきたいと思います。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!