diff

diff — Modify a signal by differentiation.

Description

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.

Performance

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


See also

Sample Level Operators