<- C I ->

octdown, noctdft

     dsig octdown   xsig, iocts, isamps[, idisprd]
     wsig noctdft   dsig, iprd, ifrqs, iq[, ihann, idbout, idsines]

INITIALIZATION

idisprd (optional) - if non-zero, display the output every idisprd seconds. The default value is 0 (no display).

ihann, idbout, idsines (optional) - if non-zero, then respectively: apply a hanning window to the input; convert the output magnitudes to dB; display the windowed sinusoids used in DFT filtering. The default values are 0,0,0 (rectangular window, magnitude output, no sinusoid display).

PERFORMANCE

octdown - put signal asig or ksig through iocts successive applications of octave decimation and downsampling, and preserve isamps down-sampled values in each octave. Optionally display the composite buffer every idisprd seconds.

noctdft - generate a constant-Q, exponentially-spaced DFT across all octaves of the multiply-downsampled input dsig. Every iprd seconds, each octave of dsig is optionally windowed (ihann non-zero), filtered (using ifrqs parallel filters per octave, exponentially spaced, and with frequency/bandwidth Q of iq), and the output magnitudes optionally converted to dB (idbout non-zero). This unit produces a self-defining spectral datablock wsig, whose characteristics are readable by any units that receive it as input, and for which it becomes the template for output. The information used in producing this wsig (iprd, iocts, ifrqs) is passed via the data block to all derivative wsigs, and is thus available to subsequent spectral operators if needed.

Example:

     asig      in                            ; get external audio
     dsamp     octdown   asig, 6, 180, 0          ; downsample in 6 octaves
     wsig1     noctdft   dsamp, .02, 12, 33, 0, 1, 1   ; and calc 72-point dft (dB)


<- C I ->
Prepared from the MIT Media Lab Csound Manual, PJN, Nov 1994.