FreeADSP

FreeADSP is a MIDI-controlled real-time stereo effect rack using LV2 plugins.

As of now it can only use JACK for audio and MIDI I/O.

The code is released under the GPL 3.

WARNING: FreeADSP is still in early development stages and has known bugs, see the Usage section.

Installation

Download

See the downloads page.

Dependencies

Runtime dependencies

Build-time dependencies

  • pkg-config;
  • an environment capable of running Autotools-based build systems;
  • (optional) GNU Autoconf >= 2.68 and GNU Automake to regenerate the build system;
  • (optional) xdg-utils to install the desktop menu item and icon resources.

Installation instructions

As usual:

$ ./configure && make && make install

After that, you can install the desktop menu item and icon resources using (provided that xdg-utils were found):

$ make install-xdg

Usage

To start FreeADSP just click on the desktop menu item or type:

$ /path/to/freeadsp

WARNING: It is absolutely requested that you start the JACK server with the -m option! (Long story short: the GUI lives in a separate thread, but it should be a separate process. This will be fixed in some future release).

Once up and running establish JACK connections as you like (FreeADSP won’t do it for you).

The GUI should be pretty intuitive… there are 128 programs, and to each you can add whatever number of plugins using the “Add plugin” button. You can switch programs on the fly by just typing the program number in the “Program” field or by using a MIDI controller of some kind (FreeADSP recognizes MIDI Program Change signals). The “Channel” setting allows you to choose which MIDI channel FreeADSP should be listening to.

The plugins supported by FreeADSP are those that:

  • require no LV2 features;
  • support the lv2:hardRTCapable (or the *wrong* lv2:hartRtCapable) feature;
  • have 1 or 2 audio input and 1 or 2 audio outputs;
  • do not have non-lv2:connectionOptional ports that are not audio or control ports.

Mono plugins (i.e., 1 audio in, 1 audio out) are instantiated in “couples” (one per channel), but controlled as if they were one.

It does not yet understand port roles correctly (i.e., which is left, which is right), so it may (theoretically?) happen that ports are connected the wrong way (i.e., left and right channels switched). This will be fixed sometime in the future as well.

Screenshots

Splash screen

Main GUI with plugin browser

Main GUI with multiple plugins