我是matlab的新手。基本上我想从麦克风获得固定长度(10秒)的音频信号,执行一些操作并播放输出声音。我试图使用audiorecorder这样的东西:
y = audiorecorder(44100, 16, 1)
record(y, 10);
% signal processing;
play(output);
问题是它要求用户提示先停止录制然后再进入下一阶段。我只想让它记录(在用户提示下)它获得的任何内容,持续10秒并自动停止。然后进入下一阶段并播放最终输出,所有这些都没有进一步的用户提示。有没有办法解决这个问题?
答案 0 :(得分:5)
您可以使用录音机recordblocking方法录制指定的时间,并等到该时间过去。
所以,你的新代码看起来像是:
a = audiorecorder(44100, 16, 1)
% record for 10 seconds before moving on
recordblocking(a, 10);
% signal processing;
play(a);