dispfft
Prev | Orchestra Opcodes and Operators | Next

## dispfft

displayfft — Displays the Fourier Transform of an audio or control signal.

## Description

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.

## Syntax

    dispfft xsig, iprd, iwsiz [, iwtyp] [, idbout] [, iwtflg] [,imin] [,imax]

## Initialization

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.

## Performance

dispfft -- displays the Fourier Transform of an audio or control signal (asig or ksig) every iprd seconds using the Fast Fourier Transform method.

## Examples

Here is an example of the dispfft opcode. It uses the file dispfft.csd.

Example 197. 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>
    <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>

## See Also

display, print

Prev | Up | Next
diskin2 | Home | display