# Analog Devices Wiki

This is an old revision of the document!

# Pitch Transposer (Data Controlled)

 This algorithm shifts the frequency of an incoming signal. The frequency shift is “voltage-controlled”, meaning that there is an input pin that controls the pitch shift amount based on its value. See Pitch Transposer page for GUI/RAM controlled version. #### Input Pins

NameFormat [int/dec] - [control/audio]Function Description
Pin 0: Inputany - anyInput signal that will have its frequency shifted
Pin 1: InputeitherFrequency shift amount (percentage/sampling-rate)

#### Output Pins

NameFormat [int/dec] - [control/audio]Function Description
Pin 0: Outputany - anyOutputs the processed signal

#### GUI Controls

GUI Control NameDefault ValueRangeFunction Description
Delay Reserved300[2.0:Max Data RAM Available]This control sets the number of samples of audio delay that are reserved in memory as a buffer used for the pitch shifting algorithm. Smaller delay buffers result in more discontinuities in the pitch shifted output signal, which causes some harmonic distortion. Setting this delay buffer to a very large size will result in less distortion, but at the cost of increased delay memory usage.

#### Algorithm Description

The algorithm takes an input signal and shifts it in frequency up or down depending on the value of the the frequency shift control signal. The control input value should be the shift percentage divided by the sampling rate, for example for a shift of +100%: control signal = (100 / 48000) = 0.0020833 (fixed-point)

Here is a time-domain display of a sine tone being shifted in frequency. The top sine tone is the input signal, and the bottom sine tone is the output.

Approximate Output frequency = Input frequency + (Input frequency * (Delay Reserved x 0.001) x shift(%))

For example, consider the following schematic, Here,
Shift = 0.38 (38%)
Input frequency = 100 Hz
Delay Reserved = 960

control signal = 38/48000 ⇒ 0.000791667
Approximate Output frequency = 100 + (100 * (960 x 0.001) x 0.38) = 136.48

Here is the same example in the frequency domain. This picture shows the frequency domain of the input signal. This picture shows the frequency domain of the output signal. #### Algorithm Details 