diff — Modify a signal by differentiation.
iskip (optional) -- initial disposition of internal save space (see reson). The default value is 0.
integ and diff perform integration and differentiation on an input control signal or audio signal. Each is the converse of the other, and applying both will reconstruct the original signal. Since these units are special cases of low-pass and high-pass filters, they produce a scaled (and phase shifted) output that is frequency-dependent. Thus diff of a sine produces a cosine, with amplitude 2 * pi * Hz / sr that of the original (for each component partial); integ will inversely affect the magnitudes of its component inputs. With this understanding, these units can provide useful signal modification.
Here is an example of the diff opcode. It uses the file diff.csd.
Example 233. Example of the diff 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 -odac ;;;RT audio out ;-iadc ;;;uncomment -iadc if RT audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o diff.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 asig diskin2 "fox.wav", 1 outs asig, asig endin instr 2 ; with diff asig diskin2 "fox.wav", 1 ares diff asig outs ares, ares endin instr 3 ; with integ asig diskin2 "fox.wav", 1 aint integ asig aint = aint*.05 ;way too loud outs aint, aint endin instr 4 ; with diff and integ asig diskin2 "fox.wav", 1 ares diff asig aint integ ares outs aint, aint endin </CsInstruments> <CsScore> i 1 0 1 i 2 1 1 i 3 2 1 i 4 3 1 e </CsScore> </CsoundSynthesizer>