【发布时间】:2016-04-06 07:58:51
【问题描述】:
我是信号处理的新手,我正在开发一个涉及提取声音播放 wav 文件的音高的应用程序,尝试了几种使用 java 直接提取音高的方法(使用 FFT 和 DFT)但是,这是不可能的继续它,因为通过提取获得的准确性较低。
有人告诉我有一种方法可以使用 matlab 确定声音信号中音符的频率,最后你会得到一个 .csv 格式的脚本,该脚本必须转换为 java。问题是我不知道如何做到这一点,所以有人可以阐明如何提取频率吗?如何在java中使用这些信息?
【问题讨论】:
-
您无法单独使用 FFT/DFT 直接或准确地估计音高。您需要一些更复杂的东西,尝试类似 RAPT(音高跟踪的鲁棒算法),您可以下载该函数并在 matlab 中调用它来估计您的 wav 文件的音高矢量。之后,您可以将其保存为
csv并将其读入您的 Java 程序
标签: java matlab audio matlab-java pitch-detection