【发布时间】:2016-10-03 07:54:42
【问题描述】:
我想知道是否有办法用 MATLAB 捕捉麦克风的声音,简单地处理它(我只需要一些标准的音频功能,我可以自己做)并根据这些功能做出决定。可能我唯一的特点是声音的幅度,我想以此为基础做出决定。我所需要的只是一种捕捉现场音频的方法,剩下的我可以做。
如何使用 MATLAB 捕获实时音频(在运行中,或通过保存为小块并以少量延迟进行处理)?
我找到了这个code,但我得到了错误:
Error using analoginput (line 46)
The DAQ Legacy Interface is not supported on this platform..
任何在 64 位 Windows 8 下工作的解决方案?
注意
我问了 MATLAB 的问题,但在这一点上,我可以接受任何类型的解决方案 :) 我想要的伪代码如下:
float threshold;
float max_duration;
while (!interrupted) && (timer() < max_duration)
a = record_audio() // or record_audio(5s)
b = analyze_audio(a)
if b.mean_amplitude > threshold
do(something);
end
end
我不确定录制过程(是否并行),但没关系。在分析过程中可能会遗漏一些实时数据,这对我来说是可以接受的。
编辑
感谢您的帮助。正如文档所暗示的,我运行了daq.getVendors() 并得到了这个输出:
ans =
Data acquisition vendor 'National Instruments':
ID: 'ni'
FullName: 'National Instruments'
% ..
所以我尝试了s = daq.createSession('ni'),我得到了这个错误:
The vendor 'ni' is not known. Use 'daq.getVendors()' for a list of vendors.
欢迎并接受任何类型的编程语言或外部软件推荐来做到这一点:)
谢谢,
【问题讨论】:
标签: matlab audio audio-recording microphone