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


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.


kout gainslider kindex


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.


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

Example 359. Example of the gainslider opcode.

See the sections Real-time Audio and Command Line Flags for more information on using command line flags.

; Select audio/midi flags here according to platform
; Audio out   Audio in    Silent
-odac           -iadc     -d    ;;;realtime output

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


i1	0	30

See Also

scale, logcurve, expcurve


Author: David Akbari