在matlab中的Audiorecorder

时间:2011-08-23 17:39:41

标签: matlab audio real-time

我是matlab的新手。基本上我想从麦克风获得固定长度(10秒)的音频信号,执行一些操作并播放输出声音。我试图使用audiorecorder这样的东西:

y = audiorecorder(44100, 16, 1)
record(y, 10);
% signal processing;
play(output);

问题是它要求用户提示先停止录制然后再进入下一阶段。我只想让它记录(在用户提示下)它获得的任何内容,持续10秒并自动停止。然后进入下一阶段并播放最终输出,所有这些都没有进一步的用户提示。有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:5)

您可以使用录音机recordblocking方法录制指定的时间,并等到该时间过去。

所以,你的新代码看起来像是:

a = audiorecorder(44100, 16, 1)

% record for 10 seconds before moving on    
recordblocking(a, 10);

% signal processing;

play(a);