tabifd — Instantaneous Frequency Distribution, magnitude and phase analysis.


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.


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


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


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)


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

Example 1088. Example of the tabifd opcode.

See the sections Real-time Audio and Command Line Flags for more information on using command line flags.

; 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
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
instr 1
p3 = ftlen(2)/sr
ktime line 0,p3,p3
ares TrackPlay ktime, 0.003,2048,256,1,2
     outs ares

f1 0 16384 9 1 1 90
f2 0 0 1 "fox.wav" 0 0 1
i1	0 1 

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

See also

Tools for Real-time Spectral Processing (pvs opcodes)


Author: Victor Lazzarini
Aug 2015

New plugin in version 6

Aug 2015