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

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

采纳的回答

Hernia Baby
Hernia Baby 2022-11-4
まずデータを用意します
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 个评论
一秀 近藤
一秀 近藤 2022-11-7
返信遅くなりすいません。
プログラムの提案ありがとうございます。ぜひ参考にさせていただきたいと思います。
また、集めたいデータとしてはFFTを行った後のベクトルを使いたいと思っております。
スペクトラムは今のところ使う予定ではないです。
ご丁寧な回答本当にありがとうございました。
一秀 近藤
一秀 近藤 2023-1-20
いきなりすいません。
やはりいろいろ考えたうえでスペクトラムのほうが必要になってきており、自分なりに作成している最中です。pspectrumを用いた場合、ベクトルの数値が4096となりサンプリングレートに関係なくその数値になるのかわかっておりません。よろしければ教えていただきたいと思います。

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 スペクトル測定 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!