【问题标题】:Audiorecorder on matlab for Macintosh用于 Macintosh 的 matlab 上的录音机
【发布时间】:2011-08-25 00:51:19
【问题描述】:

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

Warning: DeviceID parameter can only be set on Windows

有没有办法做到这一点?

【问题讨论】:

  • 如果你可以访问数据采集工具箱,你可以试试analoginput函数
  • 我认为 Mac 版本不支持 DAT。此外,它只支持几个硬件 - National Instruments,Mcc。我正在使用 RME Fireface UFX。
  • 对不起,我不知道。作为最后的选择,也许您可​​以使用虚拟化软件在您的 Mac 中运行 Windows(VirtualBox 是免费的跨平台)
  • 如果没有其他选择,我会尝试使用 Windows PC,但即便如此,仍然可能存在硬件兼容性问题。

标签: macos matlab avaudiorecorder


【解决方案1】:

我正在解决类似的问题:想从 2 个麦克风录制。

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

音频播放器和录音机支持设备全部选择 平台 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,因此设备可以录制44100Hz,16bit,1声道的音频信号。

创建连接到所需设备的录音机对象:

r = 录音机(44100,16,1,1);

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

播放它。

播放(r);

对我来说一切都很好:)

【讨论】:

  • 我正在使用外部接口 (RME),因此可能仍然存在支持问题。我注意到的一件事是,如果我启用所有麦克风,它会在系统偏好设置中显示为单个输入设备,而不是 4 个不同的输入设备。我希望能够同时记录所有设备并处理各个信号,因此如果设备没有被区分或者一次只能使用一个设备,升级版本可能没有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-27
  • 2018-11-19
  • 1970-01-01
  • 1970-01-01
  • 2018-05-03
  • 1970-01-01
相关资源
最近更新 更多