Matlab WavrecordおよびWavreadの問題
-
12-10-2019 - |
質問
Matlabに問題があります
スピーチを2秒間録音してから、録音されたサウンドを読んでプロットしたい
コードを使用します
FS = 8000;
new_wav = wavrecord(2*FS,FS,'int16');
x = wavread(new_wav);
plot(x);
しかし、エラーが表示されます
??? Error using ==> fileparts at 20
Input must be a row vector of characters.
Error in ==> wavread>open_wav at 193
[pat,nam,ext] = fileparts(file);
Error in ==> wavread at 65
[fid,msg] = open_wav(file);
Error in ==> test at 2
x = wavread(new_wav);
正しく記録されたサウンドファイルをプロットしましたが、Matlabを介して新しいファイルを録音したいときは、このエラーが発生します。
FSと「Int16」を変更することで多くの方法を試しましたが、何も起こりません。
ありがとう
他のヒント
name = input('Enter Your Name ','s');
file = sprintf('%s%s.wav','train - ',name);
input ('You have 2 seconds to a word. Press enter when ready ')
y = wavrecord (2*fs,fs);
wavwrite(y,fs,file);
最後にこれは完全なコードです:)
%声を5秒間記録します。
recObj = audiorecorder;
disp('Start speaking.')
recordblocking(recObj, 3);
disp('End of Recording.');
%録音を再生します。
play(recObj);
%double精度アレイにデータを保存します。
myRecording = getaudiodata(recObj);
%波形をプロットします。
plot(myRecording);
所属していません StackOverflow