User Tools

Site Tools


vividshaper_reference_manual

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
vividshaper_reference_manual [2026/09/09 16:44] larsvividshaper_reference_manual [2026/09/09 17:11] (current) lars
Line 61: Line 61:
 gate           -- Either 1 or 0 depending on if gate is on or off. gate           -- Either 1 or 0 depending on if gate is on or off.
 gatetimeon     -- Time in seconds for how long the key was pressed. gatetimeon     -- Time in seconds for how long the key was pressed.
-gon            -- Same as gatetimeon (coming in v1.4) (short version name)+gon            -- Same as gatetimeon(short version name)
 gatetimeoff    -- Time in seconds since the key was released. gatetimeoff    -- Time in seconds since the key was released.
-goff           -- Same as gatetimeoff (coming in v1.4) (short version name)+goff           -- Same as gatetimeoff (short version name)
 timeon         -- The number of seconds since the generator was turned on. Resets after parse. timeon         -- The number of seconds since the generator was turned on. Resets after parse.
 gtimeon        -- Global time. The number of seconds since the first generator was turned on. Resets after parse. gtimeon        -- Global time. The number of seconds since the first generator was turned on. Resets after parse.
Line 120: Line 120:
                --   reverb1[7] = keep (0 - 1), how much of original stereo signal to keep                --   reverb1[7] = keep (0 - 1), how much of original stereo signal to keep
                --   reverb1[8] = cross (0 - 1), how much stereo signals should cross                --   reverb1[8] = cross (0 - 1), how much stereo signals should cross
 +               --   reverb1[9] = stereo (0 - 1), the final output from reverb, 0 = mono, 1 = stereo
 reverb2[x]     -- Reverb2 parameters reverb2[x]     -- Reverb2 parameters
 rrvol          -- Amplification of reberb2 output rrvol          -- Amplification of reberb2 output
Line 185: Line 186:
 VSStereoDelay(feedback,time)  -- This function sets the delay variables needed for a stereo delay. VSStereoDelay(feedback,time)  -- This function sets the delay variables needed for a stereo delay.
 VSMonoDelay(feedback,time)    -- This function sets the delay variables needed for a mono delay. VSMonoDelay(feedback,time)    -- This function sets the delay variables needed for a mono delay.
- 
  
  
 -- Envelopes -- Envelopes
 +-- ADSR:
 -- The level is the initial volume. Normally, it would start at zero, but could also be initiated to -- The level is the initial volume. Normally, it would start at zero, but could also be initiated to
 -- start higher. You can also call the function without level as argument (v1.4). It will then be zero. -- start higher. You can also call the function without level as argument (v1.4). It will then be zero.
Line 196: Line 197:
 vol[x] = VSADSR(attack,decay,sustain,release,timeOn,timeOff) -- Shorter version without init level vol[x] = VSADSR(attack,decay,sustain,release,timeOn,timeOff) -- Shorter version without init level
  
 +-- Attack:
 +vol[x] = VSAttack(attack,time)
 +
 +-- Release:
 +vol[x] = VSRelease(release,time)
  
 -- Filters (x = oscillator) -- Filters (x = oscillator)
 +-- There are two different filters in VividShaper. One that you apply on the actual waveform and
 +-- one that you apply as an insert after the output of the oscillator. Both are biquad filters.
 +-- Common for both filters is that you need to create a filter array containing the biquad values.
 +-- You don't need to set the values yourself. Instead, this array is created using three different
 +-- functions, depending on what kind of filter you want. The notein argument is optional from v2.0,
 +-- but can be used to let the cutoff frequency follow the note.
 +
 +biquadcoeff = VSLowpass(cutoffFreq,resonance)  -- Helper function to set the quadfilter values
 +biquadcoeff = VSLowpass(cutoffFreq,resonance,notein)  -- Helper function to set the quadfilter values
 +biquadcoeff = VSBandpass(cutoffFreq,resonance) -- Helper function to set the quadfilter values
 +biquadcoeff = VSBandpass(cutoffFreq,resonance,notein) -- Helper function to set the quadfilter values
 +biquadcoeff = VSHighpass(cutoffFreq,resonance) -- Helper function to set the quadfilter values
 +biquadcoeff = VSHighpass(cutoffFreq,resonance,notein) -- Helper function to set the quadfilter values
 +
 -- A quad filter consists of 5 coefficents: b0, b1, b2, a1, a2. The 'biquadcoeff' is an array -- A quad filter consists of 5 coefficents: b0, b1, b2, a1, a2. The 'biquadcoeff' is an array
--- consisting of these 5 coefficients. The functions VSLowpass, VSBandpass, and VSHighpass will+-- consisting of these 5 coefficients per filter typeThe first five coefficients are for the 
 +-- waveform filter. The next five coefficients are for the insert filter. The last value is 
 +-- turning on or off the insert filter. You can manipulate these values, but it is complicated and 
 +-- unnecessary since we have the helper functions above. 
 + 
 +-- Waveform filtering (uses the first five biquad coefficents): 
 +wave[x] = VSBiquad(wave[x],biquadcoeff)               -- Apply filter on wave using quadfilter settings 
 + 
 +-- Insert filter (uses the last five biquad coefficients: 
 +afilter[x] = biquadcoeff 
 + 
 +-- 
 +-- Waveform filtering: 
 +-- The functions 
 + The functions VSLowpass, VSBandpass, and VSHighpass will
 -- set the coefficients given the values. When setting these filter coefficients, both the cutoff -- set the coefficients given the values. When setting these filter coefficients, both the cutoff
 -- frequency and the note value are considered. This is because the cutoff frequency is typically -- frequency and the note value are considered. This is because the cutoff frequency is typically
vividshaper_reference_manual.txt · Last modified: by lars