|
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_clearladspa_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 showsamong 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.5ladspa_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_hslopeInput <- 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_hslopeInput <- 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 <- #0Room_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_LOutput_(Right) -> out1_R ladspa_start
it is also quite probable that I am still missing something ?..... Ebrahim
[Prev in Thread] | Current Thread | [Next in Thread] |