pvscale Spectral Processing:Streaming pvscale pvscale Scale the frequency components of a pv stream. Description Scale the frequency components of a pv stream, resulting in pitch shift. Output amplitudes can be optionally modified in order to attempt formant preservation. Syntax fsig pvscale fsigin, kscal[, ikeepform, igain]] Performance fsig -- output pv stream fsigin -- input pv stream kscal -- scaling ratio. ikeepform -- attempt to keep input signal -- -- formants; 0: do not keep formants; 1: keep formants by imposing original amps; 2: keep formants by filtering using the original spec envelope (defaults to 0). igain -- amplitude scaling (defaults to 1). The quality of the pitch shift will be improved with the use of a Hanning window in the pvoc analysis. Formant preservation is only successful with strong-formant sounds, such as voices and certain instrumental sounds, but also can be used for intersting transformation effects. 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. Examples Example asig in ; get the signal in fsig pvsanal asig, 1024, 256, 1024, 1 ; analyse it ftps pvscale fsig, 1.5, 1, 2 ; transpose it keeping formants atps pvsynth ftps ; synthesise it adp delayr .1 ; delay original signal adel deltapn 1024 ; by 1024 samples delayw asig out atps+adel ; add tranposed and original The example above shows a vocal harmoniser. The delay is necessary to time-align the signals, as the analysis-synthesis process will imply a delay of 1024 samples between the analysis input and the synthesis output. Credits Author: Victor Lazzarini; November 2004 New plugin in version 5 November 2004.