开源项目推荐:pitch-detection

开源项目推荐:pitch-detection

pitch-detection collection of O(NlogN) pitch detection implementations pitch-detection 项目地址: https://gitcode.com/gh_mirrors/pi/pitch-detection

项目基础介绍和主要编程语言

pitch-detection 是一个基于自相关(autocorrelation)的音高检测算法库,主要使用 C++ 语言编写。该项目旨在提供高效的音高检测算法,能够在 O(NlogN) 的时间复杂度内完成音高检测。除了 C++,该项目还提供了 Go、Rust 和 Python 等其他编程语言的实现,方便不同技术背景的开发者使用。

项目核心功能

pitch-detection 项目实现了多种音高检测算法,包括:

  1. McLeod Pitch Method (MPM):基于 2005 年的一篇论文,提供可视化功能。
  2. YIN(-FFT):基于 2002 年的一篇论文,同样提供可视化功能。
  3. Probabilistic YIN:基于 2014 年的一篇论文。
  4. Probabilistic MPM:作者自己的发明。

这些算法都基于自相关原理,能够在 O(NlogN) 的时间复杂度内完成音高检测。项目还提供了 wav_analyzer 工具,用于将 WAV 文件分割成小块并检测每个小块的音高。

项目最近更新的功能

最近的项目更新包括:

  1. 移除了 SWIPE' 算法:由于该算法不是基于自相关原理,作者决定移除它,并建议使用 kylebgorman/swipe 的代码。
  2. 修复了 YIN 和 MPM 中的自相关问题:针对 FFT 中大小为 2 的幂次的问题,使用 r2c/c2r 变换修复了相关问题。
  3. 修复了 PYIN 的 bug:通过了所有测试用例,解决了 jansommer 在 pull-request #84 中的评论。
  4. 增加了更多的单元测试:所有测试用例均通过(228/228)。

此外,项目还增加了其他编程语言的实现,如 Go 和 Rust,以及 WebAssembly 模块,使得音高检测算法可以在浏览器中实时运行。

pitch-detection collection of O(NlogN) pitch detection implementations pitch-detection 项目地址: https://gitcode.com/gh_mirrors/pi/pitch-detection

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邱纳巧Gillian

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值