複数のwavファイルを1つのフォルダに1つずつ読み込みたい。このように書いたのですが、「Invalid Wave File. Reason: Cannot open file.」と出てしまいます。エラー。しかし、tを数値に変更すると機能します。
for t=1:10
myFile=['path\','t.wav'];
[ speech, fs] = wavread( myFile);
end
複数のwavファイルを1つのフォルダに1つずつ読み込みたい。このように書いたのですが、「Invalid Wave File. Reason: Cannot open file.」と出てしまいます。エラー。しかし、tを数値に変更すると機能します。
for t=1:10
myFile=['path\','t.wav'];
[ speech, fs] = wavread( myFile);
end
変数を文字列に変換する必要がありt
ます。'path\t.wav'
おそらく存在しないファイルを開くように求めていました。変数t
は整数であるため、使用int2str
して文字列に変換できます。
myFile = ['path\' int2str(t) '.wav'];
他の文字列と連結できるのは文字列のみです。もちろん、ファイルが 10 個未満の場合は、別の問題が発生します...
特別な print f コマンドを使用できます: sprintf(); myFile にこの文字列を割り当てます。
myFile = sprintf('path\%d.wav',t);
sprintf は、C 環境と同様に MATLAB でも機能します。