Skip to content

GENdeconv

Generates a table with an impulse response by applying the deconvolution of a sweep and impulse response measurement (s).

Syntax

f # time size "deconv" sweepfn inputfn1 [inputfn2 ...]

Initialization

size -- number of points in the table. Must be a power of 2 or power-of-2 plus 1 (see f statement).

fnsf -- source table holding sine sweep data used in measurement

inputfn1 -- source table holding impulse response measurement. Multiple tables can be used for multichannel measurement, producing an interleaved IR table.

Examples

Here is an example of the GENwave routine. It uses the file gendeconv.csd.

Example of the GENdeconv routine.
<CsoundSynthesizer>
<CsOptions>
-o dac
</CsOptions>
<CsInstruments>
0dbfs = 1

ifn ftgen 1,0,0,-1,"sweep.wav",0,0,1
ifn ftgen 2,0,0,-1,"rev.wav",0,0,1
ifn ftgen 3,0,0,"deconv",1,2

instr 1
 sig:a diskin "fox.wav"
 rev:a ftconv  sig*0.4, 3, 64
     out rev
endin

</CsInstruments>
<CsScore>
i1 0 5
</CsScore>
</CsoundSynthesizer>

Credits

Written by Victor Lazzarini

Maynooth University Ireland

2026