使用 Accelerate Framework 进行 iOS 的 FFT 音调检测?

2024-01-09

我已经阅读 FFT 和音高检测有一段时间了,但我很难将它们拼凑在一起。

我发现 Accelerate 框架可能是实现此目的的最佳方法,并且我阅读了 Apple 的示例代码,了解如何将其用于 FFT。如果我想实时运行音调检测,FFT 的输入数据是什么?我是否只传递来自麦克风的音频流?我该怎么做?

另外,在获得 FFT 输出后,如何从中获得频率?我到处阅读,找不到任何例子或解释?

谢谢你的帮助。


频率和音高不是一回事 - 频率是一个物理量,音高是一种心理感知 - 它们很相似,但有重要的区别,这对您来说可能重要也可能不重要,具体取决于您所使用的乐器类型尝试测量音高。

您需要阅读一些有关各种音高检测算法(以及音高本身的含义)的知识,决定要使用哪种算法,并且只使用then着手实施它。看这个维基百科页面 https://en.wikipedia.org/wiki/Pitch_detection以便更好地了解pitch https://en.wikipedia.org/wiki/Pitch_%28music%29和基音检测(请注意,您可以使用 FFT 进行基于自相关的方法和频域方法)。

至于使用 FFT 来识别频谱中的峰值及其相关频率,SO 上已经有许多与此相关的问题和答案,例如:如何获取 FFT 中每个值的频率? https://stackoverflow.com/questions/4364823/how-to-get-frequency-from-fft-result/4371627#4371627

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Accelerate Framework 进行 iOS 的 FFT 音调检测? 的相关文章

随机推荐

  • 在Python中从操作系统生成一个随机单词

    我正在用 Python 创建一个刽子手游戏 我希望能够生成一个随机单词 我总是可以列出一个列表 但如果可能的话 我希望不必手动写下所有单词 Python 中有函数 读取内置 MacOS 字典的方法吗 Thanks 大多数 Unix 类似 系
  • 有没有办法自动创建 Mongo 编解码器?

    我愿意将我的代码从 mongojack 迁移到支持新的异步 mongo 驱动程序的代码 然而我发现新的编码 解码方式是通过Codec我不认为自己在写Codec对于我的模型中的每个类 这就是为什么我宁愿编写一个库 给定一个类创建一个Codec
  • Webpack - 从非模块文件加载函数?

    假设我有一个文件 nonModuled js A non moduled file let s say I can t module it console log 0 function go a console log go a 我还有另一
  • 在jsp中获取上下文路径时出现问题?

    我的jsp位于以下位置 http myApp com myWebApp customer images customer jsp 我的图像 通过 customer jsp 访问 位于 http myApp com myWebApp imag
  • 使用滚动时间间隔来计算 R 和 dplyr 中的行数

    假设我有一个时间戳数据帧 其中包含当时售出的相应门票数量 Timestamp ticket count time int 1 2016 01 01 05 30 00 1 2 2016 01 01 05 32 00 1 3 2016 01 0
  • 通过 Julia 中的递归调用减少 JIT 时间

    我有一个递归函数 它操作整数二叉树 实现为一对嵌套的对或整数 我的函数创建一棵具有不同结构的新树 并递归调用自身直到满足某些条件 我发现的问题是 第一次运行代码时 需要花费很长时间来 JIT 编译该函数的所有可能的签名 之后运行良好 这是最
  • 图片链接块占据页面的整个宽度

    我有一个主要div作为宽度为 90 的容器 在顶部里面 我有一个标题 图片 height 5em display block and margin auto 我的 HTML 代码设置如下 a href img a 当我单击图片左侧时 我仍然
  • 对除输入之外的所有内容禁用选择[type=text]

    我需要禁用网页上除 input type text 元素之外的所有内容的选择 这个接受的答案 https stackoverflow com a 7109491 13087类似的问题几乎可以解决问题 但它不会禁用包含 input type
  • 将php日期转换为适合mysql数据库

    我想将输入日期转换为以下形式dd mm yyyyMySQL 格式为yyyy mm dd 我试图使用date Y m d strtotime POST date 但问题是输出总是Y d m 我认为因为它认为我的第二个论点是mm dd yyyy
  • 在Kafka中如何根据生产时间获得准确的偏移量

    我需要每天每小时获取 Kafka 生成的消息 每隔一小时我就会启动一个作业来消费 1 小时前生成的消息 例如 如果当前时间是 20 12 我将在 19 00 00 到 19 59 59 之间消费该消息 这意味着我需要在时间 19 00 00
  • 如何创建供作曲家自动加载使用的库?

    我要实现这个包 https github com simkimsia webbot由 Composer 自动加载 该软件包可在包装学家 https packagist org packages simkimsia webbot 我意识到我需
  • 获取控制器 mvc 4 中的复选框值

    我试图从复选框列表中检索选中的复选框值 但没有成功 下面是我尝试过的代码 Model DisplayName Gender public IList
  • Carbon 格式本地化在 Blade 中不起作用

    在刀片视图中我有这个代码 Carbon Carbon setLocale es registro gt fecha desde gt format l j F Y br registro gt fecha desde gt formatLo
  • 计算两个 3D 点 numpy 数组之间最小距离的快速方法

    我想知道是否有一种快速方法来计算 3D numpy 数组的所有点之间的欧几里得距离 A N 3 到第二个 3D numpy 数组的所有点 B M 3 然后我应该得到一个数组C这将是 N M 与数组点的所有距离A到数组的点B然后使用np mi
  • 从 URL 设置 MenuItem 图标 - Android

    我想在我的 ActionBar 中设置一个 MenuItem 它会引导到我的应用程序中的用户个人资料页面 我希望该图标是他的个人资料图片 我有该图片的 URL 并且可以从中创建一个位图 该图像未存储在我的项目文件夹或本地任何位置 因此我无法
  • 如何使用 python 在我的代码中打印中文单词

    这是我的代码 print 哈哈 decode gb2312 encode utf 8 它打印 SyntaxError Non ASCII character xe5 in file D zjm code a py on line 2 but
  • 如何在不发送任何内容的情况下检查目标IP地址属于哪个路由(接口)?

    如何在路由表中查找 IP 地址 检索网络接口索引和 MAC 而不向那里发送任何数据包 你可以使用ip命令 ip route get to 74 125 228 197 74 125 228 197 via 192 168 1 1 dev e
  • 如何在 UIPageViewController 中设置首页

    当用户位于某个页面的第一页时UIPageViewController并尝试返回 我只是返回零 在 iOS 5 中这工作得很好 它导致 iOS 6 崩溃 Terminating app due to uncaught exception NS
  • 等待图像替换直至图像加载

    我有一个工作脚本 感谢堆栈交换 用于即时交换图像 我用它作为画廊脚本 它看起来像这样 source a click function e e preventDefault var a this targetcontainer img hid
  • 使用 Accelerate Framework 进行 iOS 的 FFT 音调检测?

    我已经阅读 FFT 和音高检测有一段时间了 但我很难将它们拼凑在一起 我发现 Accelerate 框架可能是实现此目的的最佳方法 并且我阅读了 Apple 的示例代码 了解如何将其用于 FFT 如果我想实时运行音调检测 FFT 的输入数据