GENtanh

"tanh" — Generate a table with values on the tanh function.

Description

Creates an ftable with values of the tanh function.

Syntax

f # time size "tanh" start end rescale

Initialization

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: tanh(start) .... tanh(end). The points stored are uniformly spaced between these to the table size

rescale -- if not zero the table is not rescaled

Examples

Here is a simple example of the GENtanh routine. It uses the file gentanh.csd.

Example 1096. Example of the GENtanh 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 gentanh.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 "tanh" -100 100 0	;symmetrical transfer fuction
f 3 0 8192 "tanh" -10  10  0	;symmetrical
f 4 0 8192 "tanh"   0  10  0	;not symmetrical

i1 0 3 2 1
i1 + 3 3 1
i1 + 3 4 2

e
</CsScore>
</CsoundSynthesizer>


These are the diagrams of the waveforms of the GENtanh routines, as used in the example:

f 2 0 8192 "tanh" -100 100 0 - lots of distortion

f 2 0 8192 "tanh" -100 100 0 - lots of distortion

f 3 0 8192 "tanh" -10 10 0 - less distortion than f2

f 3 0 8192 "tanh" -10 10 0 - less distortion than f2

f 4 0 8192 "tanh" -10 15 0

f 4 0 8192 "tanh" -10 15 0

See Also

GENexp and GENsone.

More information on this routine: http://www.csounds.com/journal/issue11/distortionSynthesis, written by Victor Lazzarini

Credits

Written by John ffitch