【发布时间】:2015-05-27 21:17:59
【问题描述】:
我是 matlab 新手。我正在使用以下代码在 wav 文件中录制来自 micro 的声音:
AR = dsp.AudioRecorder('OutputNumOverrunSamples',true);
audiofile='test.wav';
nbsec=10;
AFW = dsp.AudioFileWriter(audiofile,'FileFormat', 'WAV');
disp('Recording starts now');
tic;
while toc < nbsec,
[audioIn,nOverrun] = step(AR);
[x, indexMax] = max(abs(fft(audioIn(:,1)-mean(audioIn(:,1)))));
step(AFW,audioIn);
if nOverrun > 0
fprintf('Audio recorder queue was overrun by %d samples\n',nOverrun);
end
end
release(AR);
release(AFW);
disp('Recording done!');
它可以工作,但问题是我事先不知道我应该录制多长时间,所以我希望能够通过按'f' 按钮。但我不知道如何在 matlab 中实现。
非常感谢!
【问题讨论】:
标签: matlab audio signal-processing