Sign in

username:

password:



Not a member?

Search Online Books



Search tips

Free Online Books

Sponsor

NEW! TMS320C6474: 3x the performance. 1/3 the cost. Three 1 GHz cores on 1 chip.

Chapters

Chapter Contents:

Search Physical Audio Signal Processing

  

Book Index | Global Index


Would you like to be notified by email when Julius Orion Smith III publishes a new entry into his blog?

  

DSSI and LADSPA Plugins

A plugin is a loadable module that is dynamically loaded by a host program such as the rosegarden music sequencer [313]. A LADSPA plugin (Linux Audio Developer's Simple Plugin APIB.2) is a loadable C or C++ module that implements an audio processor such as a digital filter, reverberator, or other digital audio effect. A DSSI plugin (Disposable Soft Synth Interface) usually implements a synthesizer plugin such as for doing wavetable, virtual analog, or FM synthesis. The DSSI API has been described as ``LADSPA for instruments,'' providing capabilities comparable to that of the popular VSTiB.3) API by Steinberg. DSSI is implemented as a superset of the LADSPA API. As a result, sound port management and basic plugin controls are handled identically as in LADSPA plugins. Extensions for DSSI plugins include support for MIDI controllers, MIDI ``program select'', and session management (saving and loading of configuration data). To maximize cross-platform compatibility, GUIs for editing DSSI plugins are specified to be separate stand-alone programs (or loadable modules) managed by the host (as opposed to the plugin itself). The plugin communicates with the host by means of Open Sound Control (OSC) messages, so the GUI can run on a separate computer (commonly done for rack-mounted hosts).

On typical Linux/UNIX systems, one can find DSSI plugins as

/usr[/local]/lib/dssi/*.so,
and LADSPA plugins as
/usr[/local]/lib/ladspa/*.so.
(Plugins of both types are installed via the Planet CCRMA distribution.) Most music/audio applications offer plugin selection via pop-up menus that are automatically generated from listings of these standard plugin installation directories. In Miller Puckett's pd, LADSPA plugins may be loaded using the plugin~ ``tilde object'' by Jarno Seppänen, and DSSI plugins may be loaded using dssi~ by Jamie Bullock.

A lot of information about the DSSI and LADSPA plugin APIs can be found in the respective