[LAU] LADSPA/LV2 command line host?

Jeanette C. julien at mail.upb.de
Tue Jan 5 00:43:10 CET 2021


Hi Worik!
Jan 5 2021, worik has written:
...
> I am looking for a way to use the LAPSPA/LV2 plugins without the heavy
> weight hosts (like GuitarX or MODEP)
...
There is mod-host specifically for LV2 plugins. IIRC it can be
controlled through some kind of network protocol (telnet, you can script
that) or it has a command shell and can use MIDI learn. I have used
mod-ost with scripts of its own command run from the interactive shell.

A tool that can use both LADSPA and LV2 (the latter to a limited degree)
is Ecasound. You can run a whole setup from the commandline. Since
Ecasound has a lot of options, here is one example line, adding the CAPS
Plate 2x2 by its ID, since I never remembered the label:
ecasound -f:16,2,48000 \
-i jack_multi,system:capture_1,system:capture_2 \
-o jack_multi,system:playback_1,system:playback_2 \
-eli:1795,0.9,0.5,0.3,0.2
This will start Ecasound with 16bit, 2 channels at a samplerate of
48000Hz . Thye input and output is specified with the most flexible JACK
type I/O, specifying each poort you want to connect to: this will
require the ports being there when Ecasound starts.
The eli (Effect LADSPA ID) specifies the unique ID (1795) of the plate
reverb and then gives values for its four parameters.

Ecasound also has a shell - and even a high level API for C, C++ and
Python to control parameters and other setup detais in realtime. It can
also take some MIDI control.

Ecasound limitations: each chain (input -> effects -> output will have
the same number of channels right through, so no way to install a
sidechain effect and use it properly. With LV2 plugins you'll have to
see what works. AFAIK: no instruments, no channel mismatch (see above)
and nothing with too manby purely GUI controls (i.e. not available as
ports).

mod-host will run instruments and things with different numbers of input
and output channels. Though it can't access features which are only
available through the GUI. In practise that means: no file loading (IR
files, samples, synth banks,...). It's very useful foor running normal
effects and synths with hardcoded basics. You can store settings as a
script.

HTH.

Best wishes,

Jeanette

-- 
  * Website: http://juliencoder.de - for summer is a state of sound
  * Youtube: https://www.youtube.com/channel/UCMS4rfGrTwz8W7jhC1Jnv7g
  * Audiobombs: https://www.audiobombs.com/users/jeanette_c
  * GitHub: https://github.com/jeanette-c

Skip on the drinks Head to the floor
Makin' my way Past the show
My body's taken over And I want some more <3
(Britney Spears)


More information about the Linux-audio-user mailing list