lfo — A low frequency oscillator of various shapes.
itype (optional, default=0) -- determine the waveform of the oscillator. Default is 0.
itype = 0 - sine
itype = 1 - triangles
itype = 2 - square (bipolar)
itype = 3 - square (unipolar)
itype = 4 - saw-tooth
itype = 5 - saw-tooth(down)
The sine wave is implemented as a 4096 table and linear interpolation. The others are calculated.
Here is an example of the lfo opcode. Play lfo.csd
Example 499. Example of the lfo opcode.
See the sections Real-time Audio and Command Line Flags for more information on using command line flags.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -odac ;;;realtime audio out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o lfo.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 kcps = 5 itype = p4 ;lfo type klfo line 0, p3, 20 al lfo klfo, kcps, itype asig poscil .5, 220+al, 1 outs asig, asig endin </CsInstruments> <CsScore> ; sine wave. f 1 0 32768 10 1 i 1 0 3 0 ;lfo = sine i 1 + 3 2 ;lfo = square i 1 + 3 5 ;lfo = saw-tooth down e </CsScore> </CsoundSynthesizer>
Here is another example of the lfo opcode. Play lfo-advanced.csd
Example 500. Advanced example of the lfo opcode.
See the sections Real-time Audio and Command Line Flags for more information on using command line flags.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -odac ;;;realtime audio out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o lfo_advanced.wav -W ;;; for file output any platform ; By Stefano Cucchi 2020 </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 ; LFO 1 kAmpLFO1 linseg p6, p3, p7 kFreqLFO1 linseg p8, p3, p9 kLFO1 lfo kAmpLFO1, kFreqLFO1, p10 ; LFO 2 kAmpLFO2 linseg p7, p3, p6 kFreqLFO2 linseg p9, p3, p8 kLFO2 lfo kAmpLFO2, kFreqLFO1, p11 ; AUDIO SIGNAL asig1 oscili p4+kLFO1, p5+kLFO2,1 ; LFO DELAY kAmpDELAY1 lfo, 100, 1.35, 1 kAmpDELAY1 = kAmpDELAY1 + 50 ; DELAY SIGNAL adel1 vdelay asig1, kAmpDELAY1, 500 kdeclick linseg 0, 1.5, p12, p3-3, p12, 1.5, 0 outch 1, (asig1 + (adel1 *0.3)) * kdeclick outch 2, (asig1 + (adel1 *0.3)) * kdeclick endin </CsInstruments> <CsScore> f 1 0 4096 10 1 0.3 0.2 0.1 0.03 0 0.3 i1 0 8 0.3 250 0.22 0.65 3 6 0 3 0.8 i1 8 8 0.3 123 0.12 10.85 70 6 1 5 0.09 e </CsScore> </CsoundSynthesizer>