diff
Modify a signal by differentiation.
Syntax
ares diff asig [, iskip]
kres diff ksig [, iskip]
Initialization
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.
Examples
Here is an example of the diff opcode. It uses the file diff.csd.
Example of the diff opcode. |
---|
| <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>
|
See also
Sample Level Operators