pvscale
Prev | Orchestra Opcodes and Operators | Next

## 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.

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

## Examples

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

Prev | Up | Next
pvsynth | Home | pvshift