zamod — Modulates one a-rate signal by a second one.
asig -- the input signal
kzamod -- controls which za variable is used for modulation. A positive value means additive modulation, a negative value means multiplicative modulation. A value of 0 means no change to asig.
zamod modulates one a-rate signal by a second one, which comes from a za variable. The location of the modulating variable is controlled by the i-rate or k-rate variable kzamod. This is the a-rate version of zkmod
Here is an example of the zamod opcode. Play zamod.csd
Example 1240. Example of the zamod 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 No messages -odac -iadc -d ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: ; -o zamod.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ; Initialize the global variables. sr = 44100 kr = 4410 ksmps = 10 nchnls = 1 ; Initialize the ZAK space. ; Create 2 a-rate variables and 2 k-rate variables. zakinit 2, 2 ; Instrument #1 -- a simple waveform. instr 1 ; Vary an a-rate signal linearly from 20,000 to 0. asig line 20000, p3, 0 ; Send the signal to za variable #1. zaw asig, 1 endin ; Instrument #2 -- generates audio output. instr 2 ; Generate a simple sine wave. asin oscil 1, 440, 1 ; Modify the sine wave, multiply its amplitude by ; za variable #1. a1 zamod asin, -1 ; Generate the audio output. out a1 ; Clear the za variables, prepare them for ; another pass. zacl 0, 2 endin </CsInstruments> <CsScore> ; Table #1, a sine wave. f 1 0 16384 10 1 ; Play Instrument #1 for 2 seconds. i 1 0 2 ; Play Instrument #2 for 2 seconds. i 2 0 2 e </CsScore> </CsoundSynthesizer>