Use Non-Frames Version Previous Page Next Page
Signal Modifiers: Special Effects

vibrato, vibr, jitter, jitter2

  kr      vibrato    kAvgAmp, kAvgFreq, kRandAmp, kRandFreq, kAmpMinRate, kAmpMaxRate, kfreqMinRate, kfreqMaxRate, ifn [, iphs]
  kr      vibr       kAvgAmp, kAvgFreq, ifn

  kr      jitter     kamp, kfreqMin, kfreqMax
  kr      jitter2    ktotamp, kamp1, kfreq1, kamp2, kfreq2, kamp3, kfreq3

Description

These opcode are designed to make sounds more natural sounding and "life-like." vibrato and vibr generate a vibrato-like signal containing some user-controlled randomness in amplitude and frequency. jitter and jitter2 produce deviation in the output signal to make them more "analog-like" and natural sounding.

Initialization

ifn – function table containing the vibrato waveform. ifn normally contains a sine or a triangle wave.

iphs (optional) – initial phase of table, expressed as a fraction of a cycle, in the range 0 to 1. A negative value will cause initialization to be skipped. The default value is 0.

Performance

kAvgAmp – average amplitude value of the vibrato signal

kAvgFreq – average frequency value of the vibrato signal, in Hz

kRandAmp – amount of random amplitude deviation

kRandFreq – amount of random frequency deviation

kAmpMinRate – minimum frequency of random amplitude deviation segments, in Hz

kAmpMaxRate – maximum frequency of random amplitude deviation segments, in Hz

kfreqMinRate – minimum frequency of random frequency deviation segments, in Hz

kfreqMaxRate – maximum frequency of random frequency deviation segments, in Hz

kamp – amplitude of jitter deviation

kfreqMin – minimum frequency of random frequency variations, in Hz

kfreqMax – maximum frequency of random frequency variations, in Hz

ktotamp – resulting amplitude of jitter2

kamp1 – amplitude of the first jitter component

kfreq1 – frequency of random variation of the first jitter component, in Hz

kamp2 – amplitude of the second jitter component

kfreq2 – frequency of random variation of the second jitter component, in Hz

kamp3 – amplitude of the third jitter component

kfreq3 – frequency of random variation of the third jitter component, in Hz

vibrato outputs a natural-sounding, user-controllable vibrato. Both the frequency and the amplitude of the oscillator generating the vibrato are randomly varied, to simulate the irregularities of a real vibrato. In order to have a total control of these random variations, several input arguments are required. The random variations are obtained by two segmented lines. The first controls the amplitude deviations and the second controls the frequency deviations. The average duration of each segment of each line can be modified by the arguments kAmpMinRate, kAmpMaxRate, kfreqMinRate, kfreqMaxRate. The deviation from the average amplitude and frequency values can be independently adjusted by means of kRandAmp and kRandFreq.

vibr is an easier-to-use version of vibrato, with fewer arguments. vibr uses the same methods as vibrato to generate randomness, but several of vibrato's parameters are hard-coded to default values.

jitter generates a segmented line. The segments are randomly generated inside the +kamp and -kamp interval. Duration of each segment is a random value generated according within the values of kfreqmin and kfreqmax.

jitter2 generates a segmented line such as jitter, but the result is similar to the sum of three randi statements, where each randi has a different amplitude and frequency value (see randi for more details). These values can be varied at k-rate. Different effects can be obtained by varying the input arguments. For best results, It is suggested to keep their amplitude moderate.

Author

Gabriel Maldonado
Italy
New in Csound 4.15


Use Non-Frames Version Previous Page Next Page
Signal Modifiers: Special Effects