Effects "Plugin" Architecture

  • Compare LADSPA, LV2, VSP, Juce, etc etc

  • "Linux Audio Developers Simple Plugin API" http://www.ladspa.org

  • Idea: Provide loadable "modules" with a known API for

    • Accepting sample streams
    • Accepting control streams (same thing?)
    • Accepting control parameters
    • Emitting output streams
    • Providing GUI information for rendering
  • Plugins are available from many places, shipped with Linux distros, etc

  • Plugin "host" is responsible for loading and plugging together plugins: we will use Audacity for non-realtime demos

  • Global plugin ID registry

"Low-Latency Professional Audio"

  • JACK (Linux), ASIO (Windows)

  • Alternate framework for handling audio from the driver level up

  • Idea: Keep effects latency minimal by providing low-latency metered interfaces

  • Idea: Provide standard interfaces for "pro gear" effects chains

  • Nightmarish to work with

  • Better: use an RTOS instead of a desktop OS; also nightmarish to work with

Effects Rack

  • Need something to plug into

    • Specify effects chain

    • Provide control interface

    • Run signals through effects

  • Classic cockpit problem

    • Effects racks were once literally racks of analog effects: connections via ¼" audio cable, knobs on front

    • Emulating this is maybe not ideal, but familiar

  • Good GUI is hard

  • Example: Calf Jack Rack https://calf-studio-gear.org/

An Example Plugin: mu-law

  • Let's look at a plugin and try it out

  • Effect: μ-law encoding

  • Used for telephony to raise quiet parts of signal above line noise

  • Simple time-domain transformation: no history at all

  • How does it sound?

Implementing In SWH LADSPA

Example Plugin: Valve

  • Simulation of a tube amplifier

  • Uses limited history to do some filtering as well as distortion

  • Based on a Norwegian thesis

  • How does it sound?

Last modified: Monday, 27 April 2020, 1:04 AM