演讲过程中没有MATLAB停止记录(Process speech without stopping

2019-06-24 08:32发布

我目前正在处理的语音信号,同时记录。 进一步来说:

  1. 反复记录每0.1秒的讲话。

  2. 进程在一个FIFO读出每个语音分组(例如,调用此函数process )。 它需要大约1秒的用于处理长度0.1秒的语音的分组。

以下是所执行的代码:

r = audiorecorder(fs, 16,1);
data{k} = getaudiodata(r);
process(data{k});

问题是,我在想念1S语音样本process执行。 我想不停止执行的记录,并调用函数process中每0.1秒讲话录音。 我尝试使用提供的回调函数audiorecorder. 的问题是, TimerFcn ,要被记录期间反复执行的功能,不能在记录期间检索样本。

有什么建议?

Answer 1:

试图找到你使用的矩阵东西getaudiodata()

这必须根据时间有一定的安排。 (应该具有根据时间值的一些分布,因为plot()绘出了声音信号WRT时间轴)

根据该布置通过矩阵迭代,并调用处理()函数。

这样,您就可以通过循环一次,然后进程每0.1秒逐个录制声音。



文章来源: Process speech without stopping the recording in MATLAB