gainslider

gainslider — An implementation of a logarithmic gain curve which is similar to the gainslider~ object from Cycling 74 Max / MSP.

Description

This opcode is intended for use to multiply by an audio signal to give a console mixer like feel. There is no bounds in the source code so you can for example give higher than 127 values for extra amplitude but possibly clipped audio.

Syntax

kout gainslider kindex

Performance

kindex -- Index value. Nominal range from 0-127. For example a range of 0-152 will give you a range from -∞ to +18.0 dB.

kout -- Scaled output.

Examples

Here is an example of the gainslider opcode. It uses the file gainslider.csd.

Example 329. Example of the gainslider 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
; Audio out   Audio in    Silent
-odac           -iadc     -d    ;;;realtime output
</CsOptions>
<CsInstruments>

sr	=	48000
ksmps	=	100
nchnls	=	2

		instr	1	; gainslider test

; uncomment for realtime midi
;kmod	ctrl7	1, 1, 0, 127

; uncomment for non realtime
km0d phasor 1/10
kmod scale km0d, 127, 0

kout	gainslider	kmod

	printks	"kmod = %f  kout = %f\\n", 0.1, kmod, kout

aout	diskin2	"fox.wav", 1, 0, 1

aout	=	aout*kout

	outs	aout, aout

		endin

</CsInstruments>
<CsScore>
i1	0	30
e
</CsScore>
</CsoundSynthesizer>


See Also

scale, logcurve, expcurve

Credits

Author: David Akbari
October
2006