Name | Description | Default value |
---|---|---|
amp | Maximum Amplitude. Linear from >0.0 to 1000 or in dB from 0 to -∞ (see Tutorial Getting Started 02 - Amplitude and Internal Editor for more details) | -6.0 |
f0 | (Minimum) fundamental frequency [Hz] | 440.0 |
atk | Attack time of the amplitude envelope [sec] | 0.003 |
dec | Decay time of the total duration of the amplitude envelope [sec] | 0.01 |
scal | Spectral scaler for the audio freq [mlt] | 1.0 |
jtf | (Centre) frequency of the jitter [%/Hz] | 0.02 |
The ADD-2 Class realizes an Additive Synthesis with the following controls:
The frequency of the oscillator is f0*scal.
The maximum range of the random vibrato is f0*jtf
The example A focuses on the vibrato range. The jitter's list (0.01 0.025 0.05 0.1 0.25 0.5 1) increases the random vibrato from 4.4 (440*0.01) to 440 Hz (440*1).
The example B deals with the attack and the decay times of the amplitude envelope.
The example C demonstrates the meaning of the spectral scaler. The random vibrato is always 4.4 Hz while the frequency goes to 440 to 3520 (440*8) Hz. So the first frequency has a 1% random vibrato but the last one has a 0.125% random vibrato.
The example D shows how to get always the same random vibrato range. In this case is always 1% of the frequency.
For the red patch C#ed and Synt see Appendix A
instr 1
idur = p3
iamp = (p4 > 0.0 ? (p4*0.001*0dbfs) : (ampdbfs (p4)))
ifund = p5
ifq = ifund * p8
imindec = 0.01
irise = p6
idec = p7
idec = (((irise+idec)>idur) ? idur-irise : idec)
if idec > imindec goto goon
irise = idur/2
idec = idur/2
goon:
iran = p9
iampran = ifund * iran
afqr randi iampran, 10
aenv linen iamp, irise, idur, idec
asound poscil aenv, ifq + afqr, 1
out asound
endin