platerev

platerev — Models the reverberation of a metal plate.

Description

Models the reverberation of a rectangular metal plate with settable physical characteristics when excited by audio signal(s).

Syntax

a1[, a2, ...] platerev itabexcite. itabouts, kbndry, iaspect, istiff, idecay, iloss, aexcite1[, aexcite2, ...]

Initialization

itabexcite -- number of a table that contains triplets for each excitation signal, (frequency, radius, initial phase in radians). The radius should be less than 1. These control where the excitation happens. The values in the table for frequency and radius may be changed in performance, with the proviso about clicking if the changes are too large.

itabouts -- number of a table that contains triplets for each output signal, (frequency, radius, initial phase in radians). See itabexcite description.

kbndry -- boundary condition of the plate; 0 = free, 1 = clamped, 2 = pivoting. Other values are undefined. Thus parameter may be changed at k-rate but that might give rise to clicks.

iaspect -- plate aspect ratio which should be less than or equal to 1.

istiff -- plate stiffness parameter (set around 1 or less for plate reverb).

idecay -- time taken for 30 dB decay

iloss -- loss parameter for high-frequency damping (value about 0.001 suggested).

Performance

A metal plate is excited by a stereo signal and the resulting reverberation captured.

aexciten -- excitation signal to be inserted into the plate.

Examples

Here is an example of the platerev opcode. Play plate.csd

Example 766. Example of the platerev 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    ;;;realtime audio out
;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
; For Non-realtime ouput leave only the line below:
 -o plate.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>
; Note: this example is heavy on CPU
sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

instr 1

ab    diskin2  "beats.wav", 1
al,ar platerev 1, 2, p4, 0.73, 1.0, 5.0, 0.001, ab,ab
      outs      al*.25,ar*.25

endin
</CsInstruments>
<CsScore>
f1 0 8 -2   0.3   0.3875    0.39274  0.32   0.85714 0.78548
f2 0 8 -2   0.2   0.666667  1.57097  0.24   0.75    0.78548
i1 0 4 1
i1 + 4 2
e

</CsScore>
</CsoundSynthesizer>


Credits

Author: Stefan Bilbao
University of Edinburgh, UK
Author: John ffitch
University of Bath, Codemist Ltd.
Bath, UK

New in Csound version 5.17.12