Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Clojure/Java: Java libraries for spectrum analysis of sound? [closed]

I am looking for a library that can accept a chunk of audio data and return the average amplitude over time within a given frequency band.

I've already asked this question over at comp.dsp, but it's clear to me that acquiring the know-how to build this on my own using a basic FFT library is going to require more time and energy than I have at present. Here is my original question with more detai: http://groups.google.com/group/comp.dsp/browse_thread/thread/e04f78d439e9e2bd

I've found lots of nice libraries for playing with sound (I used JSyn in the past), but none of these seem to be set up to return quick and dirty spectral information about a sound sample.

Any pointers would be much appreciated.

like image 592
jkndrkn Avatar asked Aug 09 '10 21:08

jkndrkn


2 Answers

This Archived Blog shows a java implementation of the FFT algorithm which is very concise and reads audio files and calculates the frequency spectrum.

You could also check Jtranforms open source FFT library

Unfortunately the blog is gone, here are some other resources on 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/
  • Not java but added for the explanation: https://jakevdp.github.io/blog/2013/08/28/understanding-the-fft/
like image 145
stacker Avatar answered Oct 13 '22 18:10

stacker


have a look at the jAudio package in jMir, there is probably much more than what you need ...

like image 45
Nicola Montecchio Avatar answered Oct 13 '22 18:10

Nicola Montecchio