Offset and LFO

You badly want a certain new feature in LinuxSampler and Co? Here is the place to raise donation offers for your feature being implemented by one of the developers.
grishata
Developer
Posts: 138
Joined: Thu Jan 24, 2008 7:21 pm
Location: Bulgaria
Contact:

Re: Offset and LFO

Post by grishata » Tue Aug 02, 2011 6:27 pm

nicop wrote: Yes, that's exactly what I'm trying to achieve.
I'm thinking of a LFO that runs indipendently and feeds the instrument's parameters.
I searched in the LS SFZ Reference, and maybe the only way to do that, is to implement lfoN_phase_onccX , so I can send a midi cc to LS with an external program.
I think that this can be achieved by implementing some custom internal generators which will be introduced as additional controllers. As you can see cc137 looks like LFO - alternate (changes from 0 to 1 and vice versa), but it looks like that this CC generates MIDI events with some fixed frequency. So, we'll need something like "parametric" continuous controllers - to be able to set some parameters like frequency, etc (and to be able to modulate these parameters with other controllers). Also, we'll need to extend the current SFZ spec with some additional opcodes. I'm thinking for something like ccN_prmX and ccN_prmX_onccY in the <global> section. For example, cc140_prm0=10 will set the first parameter of CC 140 with value 10 and cc140_prm2_oncc110=5 will specify that the third parameter of CC 140 will be modulated by MIDI continuous controller 110.
But I guess this should be well thought out.

nicop
User
Posts: 38
Joined: Thu Mar 31, 2011 2:51 pm
Contact:

Re: Offset and LFO

Post by nicop » Wed Aug 03, 2011 4:11 pm

I was able to achieve the "auto-pan" with these parameters:
lfo16_pan=100
lfo16_phase_oncc13=360

...and using a Puredata patch that sends a midi cc on channel 13. It acts like a LFO and with it I can have a full right-to-left pan automation.
I don't understand why lfoN_phase_onccX must be set to 360, but it's the only value that make to whole thing to work :) .
Is it correct that the lfoN_phase_onccX opcode works only if I place it under <region>? It doesn't work under <group>.

[quote=grishata]But I guess this should be well thought out.[/quote]

For me it's not so important to have it implemented, and I don't want to mess your roadmap up.
I think that maybe there are other things that are more important to implement than the additional controllers. (like the Internal Effects ;) )

grishata
Developer
Posts: 138
Joined: Thu Jan 24, 2008 7:21 pm
Location: Bulgaria
Contact:

Re: Offset and LFO

Post by grishata » Fri Aug 05, 2011 9:33 am

nicop wrote: I don't understand why lfoN_phase_onccX must be set to 360, but it's the only value that make to whole thing to work :) .
For example, if we have a LFO with a sine wave and lfoN_pan=100, one full cycle (0-360) can be divided into four sub-cycles:
1. Going from center to hard right (0-90)
2. Going from hard right to center (90-180)
3. Going from center to hard left (180-270)
4. Going from hard left to center (270-360)

If lfoN_phase=90, this would mean that we skip the first sub-cycle and the LFO will start directly from hard right to center. If lfoN_phase=180 and lfoN_phase_onccX=90, this would mean that controller X adds up to 90 degrees to the initial phase of 180 degrees. In this case, if the current value of CC X is 127 (max), the LFO will start from hard left going to center. If CC X value is 0, the LFO will start from center going to hard left.
nicop wrote: Is it correct that the lfoN_phase_onccX opcode works only if I place it under <region>? It doesn't work under <group>.
I fixed this.

Post Reply