在matlab中的Audiorecorder

Jay*_*Jay 1 audio matlab real-time

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

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

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

Nic*_*dad 5

您可以使用audiorecorders recordblocking方法记录指定的时间量,并等到该时间结束.

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

a = audiorecorder(44100, 16, 1)

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

% signal processing;

play(a);
Run Code Online (Sandbox Code Playgroud)