displayfft — Displays the Fourier Transform of an audio or control signal.
These units will print orchestra init-values, or produce graphic display of orchestra control signals and audio signals. Uses X11 windows if enabled, else (or if -g flag is set) displays are approximated in ASCII characters.
iprd -- the period of display in seconds.
iwsiz -- size of the input window in samples. A window of iwsiz points will produce a Fourier transform of iwsiz/2 points, spread linearly in frequency from 0 to sr/2. iwsiz must be a power of 2, with a minimum of 16 and a maximum of 4096. The windows are permitted to overlap.
iwtyp (optional, default=0) -- window type. 0 = rectangular, 1 = Hanning. The default value is 0 (rectangular).
idbout (optional, default=0) -- units of output for the Fourier coefficients. 0 = magnitude, 1 = decibels. The default is 0 (magnitude).
iwtflg (optional, default=0) -- wait flag. If non-zero, each display is held until released by the user. The default value is 0 (no wait).
imin (optional, default=0) -- minimum FFT bin used in display.
imax (optional, default=winsize/2) -- maximum FFT bin to be used in display.
dispfft -- displays the Fourier Transform of an audio or control signal (asig or ksig) every iprd seconds using the Fast Fourier Transform method.
Here is an example of the dispfft opcode. It uses the file dispfft.csd.
Example 239. Example of the dispfft 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 dispfft.wav -W ;;; for file output any platform </CsOptions>;be sure to NOT have -d in the CsOptions... <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 kcps = 110 ifn = 1 knh line p4, p3, p5 asig buzz 1, kcps, knh, ifn outs asig, asig dispfft asig, .1, 2048, 0, 1 endin </CsInstruments> <CsScore> ;sine wave. f 1 0 16384 10 1 i 1 0 3 20 20 i 1 + 3 3 3 i 1 + 3 150 1 e </CsScore> </CsoundSynthesizer>