Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python package for signal processing

I am looking for a Python package to perform an efficient Constant Q Transform (ie using an FFT to speed up the process). I found a toolbox named CQ-NSGT/sliCQ Toolbox, but I get the following error:

File "build\bdist.win32\egg\nsgt\__init__.py", line 37, in <module>
File "build\bdist.win32\egg\nsgt\audio.py", line 7, in <module>
File "C:\Python27\lib\site-packages\scikits\audiolab\__init__.py", line 25, in <module>
    from pysndfile import formatinfo, sndfile
File "C:\Python27\lib\site-packages\scikits\audiolab\pysndfile\__init__.py", line 1, in <module>
    from _sndfile import Sndfile, Format, available_file_formats, \
File "numpy.pxd", line 30, in scikits.audiolab.pysndfile._sndfile (scikits\audiolab\pysndfile\_sndfile.c:9632)
ValueError: numpy.dtype does not appear to be the correct type object

There seems to be a problem either with Numpy (which I doubt) or more likely with scikit audiolab. Do you know where the problem comes from?

like image 257
Flavian Hautbois Avatar asked Apr 11 '13 15:04

Flavian Hautbois


People also ask

Can Python be used for signal processing?

One of the key advantages of Python is that packages can be used to extend the language to provide advanced capabilities such as array and matrix manipulation [5], image processing [12], digital signal processing [5], and visualization [7].

What is signal in SciPy?

signal) The signal processing toolbox currently contains some filtering functions, a limited set of filter design tools, and a few B-spline interpolation algorithms for one- and two-dimensional data.

What is SciPy library in Python?

SciPy is a scientific computation library that uses NumPy underneath. SciPy stands for Scientific Python. It provides more utility functions for optimization, stats and signal processing. Like NumPy, SciPy is open source so we can use it freely. SciPy was created by NumPy's creator Travis Olliphant.

How do you use signals in Python?

Python signal handlers are always executed in the main Python thread of the main interpreter, even if the signal was received in another thread. This means that signals can't be used as a means of inter-thread communication. You can use the synchronization primitives from the threading module instead.


1 Answers

I use the CQT tools in yaafe: http://perso.telecom-paristech.fr/~essid/tp-yaafe-extension/features.html

like image 108
John Seales Avatar answered Sep 19 '22 15:09

John Seales