"exp" — Generate a table with values on the exp function.
size -- number of points in the table. Must be a power of 2 or power-of-2 plus 1 (see f statement).
start, end -- first and last value to be stored; the GEN draws a curve that goes from start to end: exp(start) .... exp(end). The points stored are uniformly spaced between these to the table size
rescale -- if not zero the table is not rescaled
Here is a simple example of the GENexp routine. Play genexp.csd
Example 1317. Example of the GENexp routine.
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 genexp.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 aswp linseg 0.01, p3*.5, .49, p3*.5, 0.01 ;index sweep function aindex poscil aswp, 110, 1 ;sound to waveshape atable tablei aindex, p4, 1, .5 ;waveshape index aenv linen 0.8, .01, p3, .02 ;amplitude envelope asig = (atable*aenv)*p5 ;impose envelope and scale asig dcblock2 asig ;get rid of DC outs asig, asig endin </CsInstruments> <CsScore> f 1 0 8192 10 1 ;sine wave f 2 0 8192 "exp" 0 15 0 f 3 0 8192 "exp" 0 3 0 i1 0 3 2 2 i1 + 3 3 3 e </CsScore> </CsoundSynthesizer>
These are the diagrams of the waveforms of the GENexp routines, as used in the example:
More information on this routine: http://www.csoundjournal.com/issue11/distortionSynthesis.html, written by Victor Lazzarini