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.
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 405. 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>