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);
%将数据存储在双精度阵列中。
myRecording = getaudiodata(recObj);
%绘制波形。
plot(myRecording);
不隶属于 StackOverflow