Python Audio Interoperability and Resources

This page is intended to provide a list of python oriented audio resources. This is still a very rough draft. My goals for this page, in rough chronological order go something like this:

Interoperability goals

All existing python API's which manipulate audio data are already interoperable, provided they use some generic python type to represent the data (strings, arrays, etc...). There are several advantages and disadvantages to this approach.

Currently used conventions in python audio libraries

FIXME: Do some real research and update this section. (This is currently my out-of-date impressions on the matter.)

So far I've only looked at a few modules in the standard library which deal with audio (audioop, sunau, wave, and sndhdr), and that was a while back (python 1.5, perhaps?). At that time, those modules made use of strings to expose data.

Advantages of currently used data types

The main advantage is that these types are very general, and as such can be used by a wide variety of python software. For instance, strings can be written/read to/from streams, manipulated with the builtin string methods, used by the re regular expression module, etc... The array module provides a better solution; arrays are mutable, allowing more efficient processing of data, and they can represent data of different sizes. Even more useful are Numeric Python matrices. Like array objects, these are mutable, but better yet can represent multi-dimensional data (which has applications in audio, say for multi-channel signals, or signal processing transforms). Even more important, there is a wide range of critically important routines for signal analysis, synthesis, and manipulation which operates on Numeric matrices. Although the Numeric routines are perhaps at a lower-level than average audio developers may want, they provide a powerful and flexible set of linear algebra primitives which are the basis for most audio effects and analysis.
scratch/notes:
some links:

nejucomo
Last modified: Thu Apr 4 18:54:16 PST 2002