fluid-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [fluid-dev] LADSPA: Ports and nodes?


From: Ebrahim Mayat
Subject: Re: [fluid-dev] LADSPA: Ports and nodes?
Date: Thu, 1 Apr 2004 15:46:35 +0200


On Mar 31, 2004, at 5:48 PM, nentwig _at_ users _dot_ sourceforge _dot_ net wrote:
Hello,

I'll try to answer your question, but I can't try it myself right now
(no fluidsynth at hand). Anyway, this should work:

ladspa_clear
ladspa_add delay.so Input <- In1_L Output -> Out1_L Delay <- #0.5 Dry <- #0.5 ladspa_add delay.so Input <- In2_L Output -> Out2_L Delay <- #0.5 Dry <- #0.5


Hello Markus

The algorithm above does not work

***Error016***
Unable to find the plugin labeled "Input" in plugin library file "delay.so". Hint: run analyzeplugin delay.so from the command line to get a list of valid plugin labels.

So I tried this:

> load ~/Music/sf2/hs_pt1/HS_PTI.sf2
loaded SoundFont has ID 0
> reset
> ladspa_clear
> ladspa_declnode D1_delay 1
> ladspa_declnode W1_wet 0.5
> ladspa_declnode SH_freq 0.015
> ladspa_add delay.so delay_5s Delay <- D1_delay Dry <- W1_wet Input <- In1_R Output -> pink_sh > ladspa_add cmt.so pink_sh "Sample and hold frequency" <- SH_freq Output -> Out1_R
> ladspa_start
1 audio groups
***Error010***
Plugin delay_5s tries to read data through input Input from node In1_R.
But at this point there is no valid data at that node.
Please check the flowgraph and especially the execution order!

Questions:
1. Is there any way that I could declare the presently loaded soundfont so that I could input it into LADSPA via the Input port? 2. Could I choose to direct the data from the Output port directly to the audio output of the computer or feed it back into the synth if I wanted to?

Aside from "cmt.so" I do not have the plugins that you used in your example so I could not try this one out for myself. I do have a few questions about your effects algorithm though (see below)

Below a real-world example (sorry, it's a bit more complex). It shows
among other things how to control two mono effects through one parameter
(stereo link).

reset
gain 0.2
load sf2/Moottoritie_00.sf2
select 0 10 0
select 1 10 1
reverb 0
chorus 1
ladspa_clear
ladspa_declnode E1_hfreq 8000
ladspa_declnode M1_bpm 120
ladspa_declnode P2_rate 1.1
ladspa_declnode R1_damping 0.5
ladspa_declnode E1_b1gain -8
ladspa_declnode P1_spread 1
ladspa_declnode E1_b2gain 0
ladspa_declnode E1_lgain 0
ladspa_declnode R1_width 0.8
ladspa_declnode E1_b1bw 1
ladspa_declnode E1_b2bw 1
ladspa_declnode P1_depth 0.5
ladspa_declnode E1_b1freq 300
ladspa_declnode E1_b3gain 0
ladspa_declnode R1_wet 0.5
ladspa_declnode P1_feedback 0.5
ladspa_declnode M1_onoff 0
ladspa_declnode E1_lslope 1
ladspa_declnode E1_b3bw 1
ladspa_declnode P2_spread 1
ladspa_declnode R1_size 0.8
ladspa_declnode E1_lfreq 100
ladspa_declnode E1_b2freq 1000
ladspa_declnode E1_hgain 0
ladspa_declnode P2_depth 0.5
ladspa_declnode R1_dry 1
ladspa_declnode M1_level 1
ladspa_declnode E1_b3freq 3000
ladspa_declnode E1_hslope 1
ladspa_declnode P2_feedback 0.5
ladspa_declnode P1_rate 0.9
ladspa_declnode L1_threshold 0.5
ladspa_add param_eq_3b_opt.so triplePara Low-shelving_gain <- E1_lgain Low-shelving_freq <- E1_lfreq Low-shelving_slope <- E1_lslope Band_1_gain <- E1_b1gain Band_1_freq <- E1_b1freq Band_1_band <- E1_b1bw Band_2_gain <- E1_b2gain Band_2_freq <- E1_b2freq Band_2_band <- E1_b2bw Band_3_gain <- E1_b3gain Band_3_freq <- E1_b3freq Band_3_band <- E1_b3bw High-shelving_gain <- E1_hgain High-shelving_freq <- E1_hfreq High-shelving_slope <- E1_hslope
Input <- in1_L Output -> path1

You have not declared and initialized the in1_L and path1 nodes. You would probably get the same message that I did above: "But at this point there is no valid data at that node".
                                        
ladspa_add param_eq_3b_opt.so triplePara Low-shelving_gain <- E1_lgain Low-shelving_freq <- E1_lfreq Low-shelving_slope <- E1_lslope Band_1_gain <- E1_b1gain Band_1_freq <- E1_b1freq Band_1_band <- E1_b1bw Band_2_gain <- E1_b2gain Band_2_freq <- E1_b2freq Band_2_band <- E1_b2bw Band_3_gain <- E1_b3gain Band_3_freq <- E1_b3freq Band_3_band <- E1_b3bw High-shelving_gain <- E1_hgain High-shelving_freq <- E1_hfreq High-shelving_slope <- E1_hslope
Input <- in2_L Output -> eq_phaser

Again. no data values have been declared for the in2_L and eq_phaser nodes.

ladspa_add phasers_1217.so lfoPhaser LFO_RATE <- P1_rate LFO_depth <- P1_depth Feedback <- P1_feedback Spread <- P1_spread Input <- eq_phaser Output -> path2_L ladspa_add phasers_1217.so lfoPhaser LFO_RATE <- P2_rate LFO_depth <- P2_depth Feedback <- P2_feedback Spread <- P2_spread Input <- eq_phaser Output -> path2_R ladspa_add cmt.so mixer Input_1 <- path1 Input_2 <- path2_L Output -> reverb_L ladspa_add cmt.so mixer Input_1 <- path1 Input_2 <- path2_R Output -> reverb_R ladspa_add cmt.so freeverb3 Input_(left) <- reverb_L Input_(right) <- reverb_R Output_(Left) -> rev_met_L Output_(Right) -> rev_met_R Freeze_mode <- #0

Room_size <- R1_size Damping <- R1_damping Width <- R1_width Wet <-R1_wet Dry <- R1_dry ladspa_add metronome.so metronome_stereo OnOff <- M1_onoff Level <- M1_level BPM <- M1_bpm Input_(L <- rev_met_L Input_(R <- rev_met_R Output_(L -> met_lim_L Output_(R -> met_lim_R ladspa_add tanh_limiter.so tanhlim_stereo Threshold <- L1_threshold Max <- #1 Input_(Left) <- met_lim_L Input_(Right) <- met_lim_R Output_(Left) -> out1_L
Output_(Right) -> out1_R
ladspa_start

it is also quite probable that I am still missing something ?.....

Ebrahim







reply via email to

[Prev in Thread] Current Thread [Next in Thread]