calcModulation() |
Function to generate the modulation signals that have been defined with defineModulation. The function is executed every 32 samples.
Available in: Processor.
Returns one or more modulation signals. Multiple modulation signals can be returned as a tuple or as a table. If the modulation is defined as unipolar, the signal must be in the range from 0.0 to 1.0. If the modulation is defined as bipolar, the signal must be in the range from -1.0 to 1.0.
-- modulation signals returned as tuple freq = 1 phase = 0 pi = math.pi defineModulation('Ramp Up', false) defineModulation('Sine', true) defineModulation('Ramp Down', false) function calcModulation() rate = getSamplingRate() / 32 phase = phase + freq / rate if phase >= 1 then phase = phase - 1 end return phase, math.sin(2 * pi * phase), 1 - phase end |
-- modulation signals returned as table freq = 1 phase = 0 pi = math.pi local mod = {} defineModulation('Ramp Up', false) defineModulation('Sine', true) defineModulation('Ramp Down', false) function calcModulation() rate = getSamplingRate() / 32 phase = phase + freq / rate if phase >= 1 then phase = phase - 1 end mod[1] = phase mod[2] = math.sin(2 * pi * phase) mod[3] = 1 - phase return mod end |
See Also: defineModulation |