atonex — Emulates a stack of filters using the atone opcode.
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.
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.
asig -- input signal
khp/ahp -- the response curve's half-power point. Half power is defined as peak power / root 2.
Here is an example of the atonex opcode. Play atonex.csd
Example 69. 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>