pvsmorph — Performs morphing (or interpolation) between two source fsigs.


Performs morphing (or interpolation) between two source fsigs.


fsig pvsmorph fsig1, fsig2, kampint, kfrqint


The operation of this opcode is similar to that of pvinterp (q.v.), except in using fsigs rather than analysis files, and the absence of spectral envelope preservation. The amplitudes and frequencies of fsig1 are interpolated witht those of fsig2, depeding on the values of kampint and kfrqint, respectively. These range between 0 and 1, where 0 means fsig1 and 1, fsig2. Anything in between will interpolate amps and/or freqs of the two fsigs.

With this opcode, morphing can be performed on real-time audio input, by using pvsanal to generate fsig1 and fsig2. These must have the same format.

[Warning] Warning

It is unsafe to use the same f-variable for both input and output of pvs opcodes. Using the same one might lead to undefined behavior on some opcodes. Use a different one on the left and right sides of the opcode.


          km  linseg    0,p3/3,0,p3/3,1,p3/3,1 ; progressive morphing
          fmo  pvsmorph  fsig1,fsig2,km,km
          asig  pvsynth   fmo


Author: Victor Lazzarini
April 2007

New in Csound 5.06