dsig octdown xsig, iocts, isamps[, idisprd] wsig noctdft dsig, iprd, ifrqs, iq[, ihann, idbout, idsines]
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).
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.
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)