【问题标题】:How can I process a sound signal using matlab, get the frequencies and use it on java?如何使用 matlab 处理声音信号,获取频率并在 java 上使用它?
【发布时间】: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


【解决方案1】:

我不明白为什么你应该使用 Matlab 然后切换到 Java。您可以直接在 Java 中使用优化算法获得相当不错的结果。您可能想要查看的 Java 库示例是 TarsosDSP

【讨论】:

  • 我发现开始使用它有点困难
猜你喜欢
  • 2013-06-07
  • 2012-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多