1
我正在嘗試生成譜圖,以便以後可以將它們與單詞樣本進行比較,以便進行非常基本的語音識別項目。這是在循環中完成的。代碼如下:將波譜圖保存在一個用於wav文件的循環中
folder = '<<my directory path>>';
files = dir(fullfile(folder,'*.wav'));
for k = 1:length(files)
baseFileName = files(k).name;
fullFileName = fullfile(folder, baseFileName);
fprintf(1, 'Now reading %s\n', fullFileName);
[word, fs] = wavread(fullFileName);
sound(word, fs);
figure('visible','off');
%%fig = figure, specgram(fullFileName, 512, fs);
%%saveas(fig, baseFileName.fig);
end
我的問題是在最後兩行。我想將譜圖保存爲一個.fig文件(除非你們稍後有更好的建議用於比較),並將其命名爲baseFileName。我一直在搜索Google,但格式化令人困惑,沒有太多的關於光譜圖被保存爲數字。
我更喜歡它,如果所有的數字沒有彈出在循環中,但我可以處理。
編輯:或許它會更好地存儲爲matfile文件?
我需要它保存爲baseFileName.fig。它遍歷具有不同名稱(例如狗,貓等)的wav文件列表,該文件臨時存儲在baseFileName中用於循環目的。另外,我仍然需要specgram以和specGream(fullFileName,512,fs)相同的方式出現,否則它看起來不正確。 編輯:對不起,如果我沒有多少意義我不太熟悉MATLAB及其語法。 – Michi
如何在回覆中更新使用strcat函數? – lennon310
我收到以下錯誤: 使用imwrite時出錯(第431行) 無法從文件名中確定文件格式。 specAllTheFiles錯誤(第18行) imwrite(frm.cdata,Figname); – Michi