首页 > 解决方案 > 我可以使用 lua 中的哪种方法最有效地获取 .wav 文件中某个位置的赫兹频率?

问题描述

所以我希望能够使用 lua 将 .wav 文件转换为 json 表,这可能包括类似 {time="0:39.34",hz=440} 之类的东西。我已经拥有了所有的 json 库,但我只需要一种能够将 .wav 文件转换为可用于将其转换为 json 的文件的方法。如果已经有一个库可以做到这一点,那么我需要库的源代码才能将它实现到我的单文件程序代码中。

标签: luawav

解决方案


在 wav 中的每个点,您都将拥有完整的频谱,而不仅仅是“赫兹频率”。您必须对数据执行傅立叶变换,并从光谱中的许多峰中选择您感兴趣的峰——无论是基本峰还是主导峰等。

那里有快速傅里叶变换的库,比如LuaFFT,但你最好更清楚地了解你真正需要从 WAV 中得到什么。如果您只是想读取DTMF信号,则不需要进行全量程频谱分析。


推荐阅读