3

我正在尝试使用 PS3 Eye 实时执行到达时间差。由于它内置了 4 个麦克风阵列,我已经成功地将阵列重新排列成方形阵列,并使用 MATLAB 对信号进行互相关,以获得相对准确的 TDOA 算法。但是,到目前为止,我一直在记录信号,保存文件(阵列中的每个麦克风有 4 个单独的文件),然后将这些文件输入 MATLAB 以进行事后读取。

我的问题是:MATLAB 不能单独识别 PS3 Eye 的麦克风;它只承认它是一个整体。到目前为止,Audacity 是少数几个在这方面效果很好的程序之一,但我没有使用该程序的经验,也不知道它的实时功能。有人对我如何以这种方式执行实时信号分析有任何建议吗?如果使用除 PS3 Eye 之外的其他东西会更好,那么我愿意接受建议。谢谢。

4

3 回答 3

0

我对 MATLAB 或 PS3 eye 知之甚少,但各种硬件麦克风允许您捕获包含多个(通常为 2 个)通道的单个音频流。音频数据将以帧的形式提供给您,每帧包含每个通道的单个样本。

我不太确定您所说的“整体识别”是什么意思,但我假设您的意思是 MATLAB 正在混合通道,以便设备只产生一个可用通道。如果您可以捕获要归档的通道,并且它们都来自同一个设备(即硬件时钟),那么您应该没问题,除了这个解决方案不是“实时”的。

在Sound Exchange上也有类似的讨论,最终建议使用Microcone。还有各种其他产品,从麦克风阵列到用于模拟麦克风源的数字混音器,但您的问题似乎主要是关于如何使用软件获取数据。

简而言之,请确保您看到的是具有多个频道的单个设备。这将确保每个通道使用相同的硬件时钟并防止漂移问题。

于 2014-01-29T22:32:54.993 回答
0

这只是一个疯狂的猜测,因为我不知道 MATLAB 实时输入选项。

也许试试 reaper ( http://www.reaper.fm/ ).. 它有很好的多轨功能,你可以扩展它(我认为脚本语言是 python)。很好的文档和第三方贡献,OSC 和 Rewire 支持。所以也许你可以考虑将音频路由到 reaper,在 python 中进行一些数据规范化,然后将数据路由到 MATLAB。

或者您可以使用开源且非常开放的 PURE DATA,其中包含许多您可以组合在一起的补丁(基本处理单元)。

高温高压

顺便说一句,我绝不隶属于机智收割者或 PD。

编辑:您可能还想考虑 supercollider ( http://supercollider.github.io/ ) 或 Chuck ( http://chuck.cs.princeton.edu/ )

于 2014-01-30T17:45:29.543 回答
0

这是一个线索,但我还没有能够测试它。

在 Windows 上,您可以使用 Audacity 从 Eye 录制单个 4 轨 ogg 音频文件(使用 WASAPI 驱动程序选择)。

截至 2014 年 7 月 23 日,32 位和 64 位MEX 的 pa-wavplay 支持 WASAPI。您将必须重建 PortAudio 库以选择此处所述的 WASAPI 接口,并在 MatLab(在 Windows 中)中获取所有四个音轨。

可悲的是,如果您不在 Windows 上,我没有任何建议。调整 PortAudio 构建可能会有所帮助,但我只知道 WASAPI 与 Eye 配合使用。

于 2016-02-24T02:40:33.527 回答