当前位置: 首页 > 面试题库 >

Clojure / Java:用于声音频谱分析的Java库?

杜建章
2023-03-14
问题内容

我正在寻找一个可以接受大量音频数据并在给定频段内随时间返回平均幅度的库。

我已经在comp.dsp上提出了这个问题,但是对我来说很明显,使用一个基本的FFT库获得自行构建该技术的知识将比现在需要更多的时间和精力。这是我最初的问题,内容更多:http
:
//groups.google.com/group/comp.dsp/browse_thread/thread/e04f78d439e9e2bd

我发现了很多不错的声音播放库(我过去使用JSyn),但是似乎都没有设置这些库来返回有关声音样本的快速而肮脏的频谱信息。

任何指针将不胜感激。


问题答案:

这个存档的博客显示了FFT算法的Java实现,该算法非常简洁,可以读取音频文件并计算频谱。

您还可以检查Jtranforms开源FFT库

不幸的是,博客不见了,这里还有一些有关FFT的资源。

  • http://web.archive.org/web/20160301081621/http://www.wikijava.org/wiki/The_Fast_Fourier_Transform_in_Java_(part_1)
  • http://www.royvanrijn.com/blog/2010/06/creating-shazam-in-java/
  • 不是Java而是添加了说明:https : //jakevdp.github.io/blog/2013/08/28/understanding-the-fft/


 类似资料:
  • 问题内容: 我正在设计一个简单的调谐器,所以我的目标是显示音符名称(A,B,F#)以及理论声音和实际输入之间的 距离( 以分为单位)。 我是音频和信号处理的新手,所以我做了一些研究,发现 了一个 叫做快速傅立叶变换 的东西 ,它可以分析字节并给我频率。另外,我发现了一些Java库,例如通用数学和JTransforms,所以我不会自己编写硬代码。 我相信就这样,因为每个范围的频率都可以以相同的气质直

  • 问题内容: 我一直在使用和关闭Lisp,而我正在赶上Clojure。clojure的好处是我可以自然地使用所有java函数,而clojure的坏处也是我必须自然地了解java函数。 例如,我不得不花一些时间(查找)来查找Java中的平方函数(clojure表示法中的Math / sqrt)。 您能为我不太熟悉Java的Clojure用户推荐一些有关Java函数(库)的良好信息资源吗? 它可以是任何

  • 我在这个网站上看到过类似的问题,但我的问题有点不同。我用来捕获音频的代码是这样的。我想简单地获取捕获的音频,并对其应用256点的FFT。 我意识到这个 将音频分解为“块”。 我使用的FFT也可以在这里找到。 我的问题是: 我想知道是否有一种方法可以将FFT应用于整个音频记录,而不仅仅是缓冲量。 我看到FFT的代码需要实部和虚部,如何从带有音频文件的代码中获取实部和虚部。

  • 问题内容: 我创建了一个pong克隆,当发生碰撞时,我想添加一些声音效果。我的问题是,考虑到整个应用程序只有90行代码,我发现的每个有关合成声音的示例都需要约30行代码。我正在寻找一种更简单的方法。有没有简单的方法来创建不同音调的提示音?持续时间无所谓。我只想要一系列不同音调的蜂鸣声。 问题答案: 这是从Java Sound 提取(并简化)的一个小示例-示例:生成音频的代码

  • 问题内容: 我想使用javax.sound.sampled淡出开始无限循环的声音。这是我开始声音的方式: 谁能指出我该怎么做?我是否应该使用其他声音系统,例如FMOD(如果在Java中可行)?谢谢。 问题答案: 在这里看看:Openjava声音演示 他们使用

  • Clojure语言环境搭建 Clojure安装 新建Clojure项目 命令行运行-main(Java main方法)函数 使用REPL Clojure开发工具 Clojure语言编程基础 语法(S-expression) 函数 (function) 命名空间 (namespaces) 流程控制 (flow control) 数据结构 (data structures) 读取器宏 (reader