用于Macintosh的matlab上的Audiorecorder

时间:2011-08-25 00:51:19

标签: macos matlab avaudiorecorder

只有Windows版本支持audiorecorder的大多数功能。我有一个4麦克风阵列,我想分别使用每个。但我无法指定deviceID,因为Mac不支持它。它只使用默认设备。它显示以下警告:

Warning: DeviceID parameter can only be set on Windows

有没有选择这样做?

1 个答案:

答案 0 :(得分:2)

我正在研究类似的问题:想要从2个麦克风录音。

首先:在Mac OS X上,早于r2011a的Matlab版本没有多输入设备支持。所以你必须升级到r2011a。 我在Matlab的r2011a发行说明中找到了(http://www.mathworks.com/help/pdf_doc/matlab/rn.pdf第18页)

  

audioplayer和audiorecorder支持设备全部选择   平台audioplayer和audiorecorder现在允许您指定   所有支持的平台上的输入或输出设备。在以前   发布时,您只能在Microsoft Windows系统上指定设备。

我现在正在测试它,但它似乎无法正常工作(内置输入无法处理44100Hz,16位,1通道录音): - /

升级到r2011a,我们将尝试一起解决这个问题。

* * UPADTE * 这是我做的: 列出所有音频设备:

>> audiodevinfo

ans = 

     input: [1x2 struct]
    output: [1x1 struct]

列出每个输入设备:

>> audiodevinfo(1,0)

ans =

Built-in Microphone (Core Audio)

>> audiodevinfo(1,1)

ans =

Built-in Input (Core Audio)

测试所需的设备(对我来说是插头式麦克风):

>> audiodevinfo(1,1, 44100, 16, 1)

ans =

     1

函数返回1,所以设备IS ABLE记录44100Hz,16bit,1channel音频信号。

创建连接到所需设备的audiorecorder对象:

  
    

r = audiorecorder(44100,16,1,1);

  

使用 recordblocking 功能录制音频(我不需要异步录制,更喜欢使用recordblocking而不是录制功能,因为我可以看到录制过程何时完成)。

播放。

  
    

播放(R);

  

一切正常对我来说很好:)。