tabifd
Prev | Orchestra Opcodes and Operators | Next

## tabifd

tabifd — Instantaneous Frequency Distribution, magnitude and phase analysis.

## Description

The tabifd opcode takes an input function table and performs an Instantaneous Frequency, magnitude and phase analysis, using the STFT and tabifd (Instantaneous Frequency Distribution), as described in Lazzarini et al, "Time-stretching using the Instantaneous Frequency Distribution and Partial Tracking", Proc.of ICMC05, Barcelona. It generates two PV streaming signals, one containing the amplitudes and frequencies (a similar output to pvsanal) and another containing amplitudes and unwrapped phases.

## Syntax

    ffr,fphs tabifd ktimpt, kamp, kpitch, ifftsize, ihopsize, iwintype,ifn

## Initialization

ifftsize -- FFT analysis size, must be power-of-two and integer multiple of the hopsize.

ihopsize -- hopsize in samples

iwintype -- window type (O: Hamming, 1: Hanning)

ifn -- source function table

## Performance

ffr -- output pv stream in AMP_FREQ format

fphs -- output pv stream in AMP_PHASE format

ktimpt -- time point (in secs) to read from table (if less than 0 or bigger than table length, it will wraparound)

kamp -- amplitude scaling

kpitch -- pitch scaling (transposition)

## Examples

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

Example 971. Example of the tabifd 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 tabifd.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>
    sr=44100
    ksmps=1
    nchnls=1
    opcode TrackPlay, a, kkiiii
     ktime,kthr,isiz,ihsiz,ifcos,ifn  xin
     idel = isiz-ihsiz*(isiz/(2*ihsiz)-1)
     ffr,fphs tabifd ktime,10000,1, isiz, ihsiz, 1, ifn
     ftrk partials ffr, fphs,kthr, 1, 1, 500
     aout tradsyn   ftrk, 2,1, 500, ifcos
     xout aout
    endop
    instr 1
    p3 = ftlen(2)/sr
    ktime line 0,p3,p3
    ares TrackPlay ktime, 0.003,2048,256,1,2
         outs ares
    endin

    </CsInstruments>
    <CsScore>
    f1 0 16384 9 1 1 90
    f2 0 0 1 "fox.wav" 0 0 1
    i1	0 1
    </CsScore>
    </CsoundSynthesizer>

The example above shows the tabifd analysis feeding into partial tracking andcubic-phase additive resynthesis with pitch shifting.

## Credits

Author: Victor Lazzarini
Aug 2015

New plugin in version 6

Aug 2015

Prev | Up | Next
tab | Home | table