views:

348

answers:

4

We are working on Sound processing and Analysis where we need to extract frequencies, pitches, octaves and other parameters of sound including dBPowerSpectrum Analysis. We also need to do this irrespective of the file formats or do the conversion between quite a file format(though conversion is not a very critical requirement if those parameters can be ananlyzed on most file formats). We also need to capture/record sound from Mic. We found a Python module called Snack which does almost everything we need, but the whole problem is that it requires tkinter to be installed. Since we are planning to write a Web client for this program installing tkinter and initializing and passing its object to Sound Processing module is an overhead I feel.

Can you please suggest us few good Sound Processing Module. We don't expect an all in one module. Its Ok even if these functionalities are spread over several modules. Kindly suggest.

Thanks in Advance

+1  A: 

See http://www.csounds.com/node/188 for a package that does much of this.

S.Lott
A: 

Have a look at CLAM (http://clam.iua.upf.edu/). Citing their page:

CLAM is a full-fledged software framework for research and application development in the Audio and Music Domain. It offers a conceptual model as well as tools for the analysis, synthesis and processing of audio signals.

jfsantos
A: 

You can use scikits audiolab to read in any file supported by libsndfile, and then use PyLab (NumPy and SciPy) to do the processing.

I don't know of a way to read in live audio from the mic, though, which is why I was just looking at Snack myself. If there's a way to convert Snack sounds into numpy arrays, then that would work.

If you use padsp ipython in Ubuntu, you can read in data from /dev/dsp, and it will actually be coming from PulseAudio's input. You can use the ossaudiodev module, though I haven't gotten this to work, or you can do some kind of ugly construction like:

audio = numpy.fromfile('/dev/dsp'...

but I guess you still need to use ossaudiodev to set up the sampling rate, format, etc. first.

endolith
A: 

For audio capture and playback I've liked PyAudio. It's cross-platform and pretty easy to use.

Justin Peel