alpass

alpass — Reverberates an input signal with a flat frequency response.

Description

Reverberates an input signal with a flat frequency response.

Syntax

ares alpass asig, xrvt, ilpt [, iskip] [, insmps]

Initialization

ilpt -- loop time in seconds, which determines the echo density of the reverberation. This in turn characterizes the color of the filter whose frequency response curve will contain ilpt * sr/2 peaks spaced evenly between 0 and sr/2 (the Nyquist frequency). Loop time can be as large as available memory will permit. The space required for an n second loop is 4n*sr bytes. The delay space is allocated and returned as in delay.

iskip (optional, default=0) -- initial disposition of delay-loop data space (cf. reson). The default value is 0.

insmps (optional, default=0) -- delay amount, as a number of samples.

Performance

xrvt -- the reverberation time (defined as the time in seconds for a signal to decay to 1/1000, or 60dB down from its original amplitude).

This filter reiterates the input with an echo density determined by loop time ilpt. The attenuation rate is independent and is determined by xrvt, the reverberation time (defined as the time in seconds for a signal to decay to 1/1000, or 60dB down from its original amplitude). Output will begin to appear immediately.

Examples

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

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

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

gamix init 0 

instr 1 

acps    expon p4, p3, p5
asig	vco  0.6, acps, 1
	outs  asig, asig 

gamix = gamix + asig 

endin

instr 99 

arvt1 line 3.5*1.5, p3, 6
arvt2 line 3.5, p3, 4
ilpt =  0.1
aleft	alpass gamix, arvt1, ilpt
aright	alpass gamix, arvt2, ilpt*2
	outs   aleft, aright

gamix = 0	; clear mixer
 
endin

</CsInstruments>
<CsScore>
f1 0 4096 10 1
i 1 0 3 20 2000

i 99 0 8
e

</CsScore>
</CsoundSynthesizer>


See also

Reverberation

Credits

Audio rate parameter introduced in version 6.02

November 2013.