atonex

atonex — Emulates a stack of filters using the atone opcode.

Description

atonex is equivalent to a filter consisting of more layers of atone with the same arguments, serially connected. Using a stack of a larger number of filters allows a sharper cutoff. They are faster than using a larger number instances in a Csound orchestra of the old opcodes, because only one initialization and k- cycle are needed at time and the audio loop falls entirely inside the cache memory of processor.

Syntax

ares atonex asig, khp [, inumlayer] [, iskip]

Initialization

inumlayer (optional) -- number of elements in the filter stack. Default value is 4.

iskip (optional, default=0) -- initial disposition of internal data space. Since filtering incorporates a feedback loop of previous output, the initial status of the storage space used is significant. A zero value will clear the space; a non-zero value will allow previous information to remain. The default value is 0.

Performance

asig -- input signal

khp -- the response curve's half-power point. Half power is defined as peak power / root 2.

Examples

Here is an example of the atonex opcode. It uses the file atonex.csd.

Example 57. Example of the atonex 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 atonex.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 2
0dbfs = 1

instr 1	; unfiltered noise

asig	rand	0.7	; white noise
	outs	asig, asig

endin

instr 2	; filtered noise

asig	rand	0.7
khp	line	100, p3, 3000
afilt	atonex	asig, khp, 32

; Clip the filtered signal's amplitude to 85 dB.
a1	clip afilt, 2, ampdb(85)
	outs a1, a1
endin

</CsInstruments>
<CsScore>

i 1 0 2
i 2 2 2

e

</CsScore>
</CsoundSynthesizer>


See Also

resonx, tonex

Credits

Author: Gabriel Maldonado (adapted by John ffitch)
Italy

New in Csound version 3.49