用于查找歌曲音高的音频分析器

Posted

技术标签:

【中文标题】用于查找歌曲音高的音频分析器【英文标题】:Audio analyzer for finding songs pitch 【发布时间】:2009-08-20 18:31:42 【问题描述】:

是否可以以编程方式分析音频音高。例如,我知道大多数播放器都会显示图表或条形图,如果歌曲的音高@时间 t,条形图会在时间 t 上升 .. 类似这样的东西。是否有任何实用程序/工具/API 来确定歌曲的音高,以便我们将其插入到上下移动的小节中。

感谢您的帮助

【问题讨论】:

【参考方案1】:

朴素但稳健:将适度长度的片段转换为Fourier 空间和find the peaks。根据需要重复。

速度可能是个问题,因此请选择分段长度作为 2 的幂,这样您就可以使用 Fast Fourier Transform 了,嗯,

已经有很多关于 SO 的相关内容。试试看:https://***.com/search?q=Fourier+transform

【讨论】:

【参考方案2】:

好吧,很遗憾,我并不是真正的 iPhone 音频专家,但我可以为您指出一些很好的资源。

Core Audio 可能会成为您想做的一件大事:htp://developer.apple.com/iphone/library/documentation/MusicAudio/Conceptual/CoreAudioOverview/Introduction/Introduction.html

同样,音频工具箱可能会有所帮助:htp://developer.apple.com/iphone/library/navigation/Frameworks/Media/AudioToolbox/index.html

如果您有开发者帐户,论坛上有很多人可以帮助您:htps://devforums.apple.com/community/iphone

您必须在这些 URL 的 http 部分添加一个“t”,因为我不能发布多个超链接(抱歉!)。

【讨论】:

【参考方案3】:

要查找歌曲的当前音高,您需要了解离散时间傅里叶变换。要找到节奏,您需要自相关。

【讨论】:

【参考方案4】:

我想您所说的可能是图形均衡器,它显示音频信号中给定时间不同频率范围的幅度。它通常配备控制来修改给定频率范围之间的幅度。这是example。你是这么想的吗?

编辑:另外,您的众多标签并没有真正说明您可能在这里使用的语言,所以我不能真正建议任何具体的技术或库。

【讨论】:

以上是关于用于查找歌曲音高的音频分析器的主要内容,如果未能解决你的问题,请参考以下文章

从歌曲中获取当前音频频率 - Java(也许使用 FFT?)

频域分析的目的是啥

示例 Spotify api 音频分析 CURL 命令有效,但是当我输入新歌曲 ID 时它不起作用 - 正确的命令是啥?

通过分析音频频谱进行节奏检测

以时间间隔分析属性的音频数据

为啥缓冲区大小会影响音频数据?