スペクトログラム画像を逐次保存したい。
Show older comments
こんにちは。
音声データをスペクトログラムに変換、そのスペクトログラム画像をプログラム内で逐次保存したいと考えております。
1~3までの.wavデータを用意して行っています。
スペクトログラムを表示するところまではできているのですが、エラーが出て保存することができない状況です。
スペクトログラムを1.png,2.png...のような名前で逐次保存できるようにするにはどのようにしたら良いでしょうか。
また、この状態でスペクトログラム画像を表示すると画像が正方形で表示されてしまうため、特徴量が見やすいよう横長方形での保存ができるとありがたいです。
ご教授願います。
for b=1:3
%ファイルの名前は数字 1.wav,2.wav,...
filename =char(b+".wav");
%data=音声データ:Fsサンプリング周波数
[data,Fs] = audioread(filename);
%周波数を指定
f=0:31.25:8000;
%データ長を指定
data(160040:length(data))=[];
%音声データをスペクトログラムデータに変換(spdata)
[spdata,f,t]=spectrogram(data, hann(64), 32, f, Fs, 'yaxis');
%スペクトログラムを表示(圧縮)
figure(b)
spectrogram(data, hamming(64), 32, f, Fs, 'yaxis');
%スペクトログラム画像の保存
imwrite(figure(b),'.png');
end
Accepted Answer
More Answers (0)
Categories
Find more on MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!