HappyDoc Generated Documentation | |
---|---|
Python Ladspa Module: <blurb> A Python implementation of the Ladspa plugin host interface. Use Ladspa plugins in Python code. Ladspa plugins act as filters for audio data, and is the most popular plugin api for linux audio software. </blurb> This project allows Python code to use plugins meeting the Ladspa specification. Python is an openly developed, general purpose programming language (www.python.org) and Ladspa is the Linux Audio Developer's Simple Plugin API (www.ladspa.org). Using Ladspa terminology, the ladspa Python module acts as a "host"; ie: this module cannot be used to create Ladspa plugins. The ladspa module will attempt to support plugin loading and symbol resolution for any platform supported by Ladspa, but the primary/first implementation will use linux's dlopen API. Wherever a Ladspa host is to provide a data buffer pointer, the Python buffer interface is used. A primary goal is to make the wrapper as efficient as possible, allowing carefully written code to perhaps use Ladspa plugins in realtime environments. As the code develops, unit tests and profiling will be used to strive toward this goal. A tangential goal of this project is to research compatibility between Python audio and signal processing libraries, and to encourage low-level compatibility for efficiency. For example, code which mixes DSP algorithms using numerical packages, this ladspa module, and an output module, such as pyao, should run with as few unneccesary memory copies as possible. A summary of primary goals in order: 1) A working, stable implementation of the Ladspa host interface. 2) As CPU efficient as possible. 3) As compliant with any existing audio/dsp low-level (efficient) Python conventions as possible. 4) Support for all platforms using the Ladspa interface. |