问题标签 [accelerate-framework]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
960 浏览

iphone - 是否有用于 1D 矢量重采样的 vDSP 功能?

我希望能够使用矢量作为包络,将 fft 均衡应用于相当大的声音块,具有不同的大小。

为了能够将频域 bin 乘以包络,包络需要具有与 fft 数据相同的分辨率,这将随着声音块的大小而变化。

所以,我需要一个函数来重新采样我的包络向量。您知道 vDSP 是否为此目的提供功能吗?我来回浏览了参考资料,但一无所获。这并不意味着那里什么都没有 - 在搜索 vDSP 参考时很容易错过一些东西......

并不是我自己无法实现某些东西,但如果有一个 vDSP 功能,它可能会比我想出的任何东西都要快得多。这是相关的,因为该项目也针对 iOS 设备。

而且没有必要重新发明轮子:)

谢谢!!

0 投票
1 回答
817 浏览

objective-c - 在 iPhone 上设置 fft 的加速器框架

在我阅读后,我已经设置了一个设置加速器的功能:

使用 Apple FFT 和 Accelerate 框架

带有 Accelerate 框架 vDSP 的 iPhone FFT

和苹果文档。

我这样做了:

问题 :

  1. 我的应用程序在这两条线之一上总是崩溃且没有错误(BAD ACCESS):

originalReal[i] = (float) (i + 1); // 或者

vDSP_ctoz((COMPLEX *) originalReal,2,&A,1,nOver2);

我想我没有为 log2n 设置一个好的值?(10 得到 1024 窗口?)

  • 我如何获得垃圾箱的实际大小?我的实际fft?我在这里写的一样吗?

  • 我在哪里输入我的数据缓冲区数组(在我的代码中的确切位置?而不是 originalReal?)

多谢。

0 投票
1 回答
3140 浏览

ios - Objective-C 峰值检测加速框架

我在这里不是数学大师,所以我想问任何熟悉数字信号处理的人,检测实时峰值的最佳方法是什么。我每秒得到大约 30 帧/值,我尝试实现斜率算法来检测峰值,它工作正常,大约 80% 的情况,但它真的不够好:(。

从我搜索的内容来看,应该使用快速傅立叶变换,但我不知道如何开始使用它,也许我错过了在这种情况下应该如何使用 FFT 的一般想法。

在 iOS 中,我们有这个惊人的 Accelerate 框架,它应该可以帮助我做 FFT 的事情,但只要我不明白它对我来说几乎没有用处。

谁能通过将我指向正确的方向来以某种方式启发我:-)?

非常感谢,新年快乐!

0 投票
1 回答
2466 浏览

ios - 计算正弦扫描频率响应的问题

我目前正在尝试计算 iphone 扬声器/麦克风往返的频率响应。我在扬声器上播放正弦扫描,通过麦克风录制并尝试从中获得频率响应。最终目标是能够将 FR 乘以任何给定的声音,使其听起来像 iphone 的扬声器/麦克风。

到目前为止我的代码:

到目前为止,这有效,当我将 FR 与初始文件扫描相乘时,它听起来像麦克风扫描。

我的问题: 这仅适用于生成 FR 的确切文件(扫描)。一旦我使用 FR 修改其他声音,例如音乐,只会出现噪音。

我像这样使用FR(在频域中,交错的,不复杂的,甚至相同的长度):

我在扬声器上播放的文件的正弦扫描: 在此处输入图像描述

我记录的正弦扫描(可见衰减的低频): 在此处输入图像描述

我的文件正弦扫描在频域中与在代码中生成的 FR 相乘: 在此处输入图像描述

我的目标: 在我的理解中,频率响应是关于每个频率的信息,它被系统衰减或放大了多少(在我的示例中,它无法再现低频)。为了获得这种信息,我生成了一个包含每个所需频率(正弦扫描)的声音,播放它并通过划分记录扫描/文件扫描(代码中的划分)来分析每个频率是如何被修改的。

通过将此频域中的 FR 乘以任何声音,应该修改频率幅度以模仿我系统上的播放,对吗?

谢谢!


更新: 最后,故障是缺少复杂的算术,正弦扫描和粉红噪声作为恢复脉冲响应的脉冲效果很好。

要获得工作代码,只需将记录的扫描 fft 数据除以初始扫描 fft 数据即可。

0 投票
1 回答
313 浏览

objective-c - Autocepstrum 加速框架

如何使用加速框架进行自倒谱(倒谱 + 自相关)分析?有没有示例代码或项目?

0 投票
1 回答
126 浏览

ios - 需要解释 vDSP_zcoher()

我目前正在处理原始音频数据并比较我遇到的两条信号vDSP_zcoher()我对此有几个问题:

  1. 为什么输出是一个复杂的数组而不是真实的。例如,我期望一个真正的数组,就像相关性的输出一样。更新:文档中似乎是错误的,D 是真实的。
  2. 参数 A、B 和 C 是否在累积使用vDSP_zaspec (A,B) 和vDSP_zcspec (C) 创建的自频谱和交叉频谱?
  3. 我是否正确,结果应该表明信号有多相似?

该功能的一般解释也很受欢迎!

提前致谢。

0 投票
2 回答
594 浏览

ios - 加速框架ios:最快的pythagoren计算

所以我有 2 个矩阵:每个都是 100x100。

我正在寻找计算第三个矩阵,这样:M3[i]=sqrt(M1[i]^2 + M2[i]^2)。

我显然可以做 ForLoops,但我确信有更快的东西。

我深入研究了加速框架并迷失在 Linpack 世界中

任何帮助让我走上正轨......

谢谢

0 投票
1 回答
9033 浏览

ios5 - 什么取代了 iOS 5 已弃用的加速度计:didAccelerate?

嗯......我落后于时代并试图将一些旧代码移植到新应用程序中,并且加速器委托已被弃用。必须有替代品。请指出我的文档并让我开始。

0 投票
1 回答
999 浏览

objective-c - 加速框架倒谱峰值查找

我正在尝试使用加速框架找到倒谱分析的峰值。我总是在帧的结尾或开头得到峰值。我正在分析它实时从麦克风获取音频。我的代码有什么问题?我的代码如下:

}

0 投票
5 回答
2383 浏览

ios - 使用 vDSP 复制阵列内容

我正在使用加速框架来优化我的 DSP 代码。有好几次我想将一个数组(或数组的一部分)的内容复制到另一个数组。

我似乎找不到合适的函数来执行此操作,因此我一直在做一些愚蠢的事情,即将数组乘以 1(或加 0)并以这种方式获取副本。

必须有更好的方法来做到这一点!?谢谢!