
PITCH SHIFTER 2
---------------


Pitch-shifts the incoming audio signal smoothly, from -1 to +1 octaves, using block-based processing and at very low CPU load.


BLOCK SIZE
----------

Users can choose between different block sizes: Small (about 22 mSec), Mid (about 45 mSec), Large (about 90 mSec) and Extreme (about 180 mSec), where Mid (default) is usually the best compromise.
The choice of optimal block size depends ultimately on the lowest frequency contained in the signal. Lower frequencies require a larger block size, to avoid artifacts.
Be aware that larger block sizes will increase CPU load exponentially.

On request, a Tiny (about 10 mSec) block size is also allowed; you are however ADVISED TO NEVER USE IT, unless you are sure it is safe with your specific application.

You are advised to never use a smaller block than Mid, even considering that CPU load with this module is often very moderate.


LATENCY
-------

This module introduces a *nominal* latency in samples which corresponds to the block size used. However, unlike V1, latency is NOT compensated, because the *effective* latency may vary unpredictably from block to block, up to one and half block size, depending on the signal content.
Keep in mind that realtime pitch shifting without latency is IMPOSSIBLE.


PITCH MODULATION
----------------

Unlike V1, this module allows for smooth, artifacts-free pitch modulation. However, for regular and periodic modulations like Vibrato or Chorus, you are still advised to rather modulate a delay properly: you will get a perfect result (despite unable to "pitch-up") and at a fraction of the CPU load.


ANTI-ALIASING
-------------

Unlike V1, true Anti Aliasing (upsampling plus sinc decimation) can NOT be performed with this module for several technical reasons. A simpler Anti Aliasing algorithm is rather adopted, which is not as effective but will usually render any aliasing pretty non-audible, being it confined above the audible bands (> 15 KHz). Anti Aliasing can be optionally enabled using the Anti Alias pin, at the cost of slightly higher CPU consumption.


AM COMPENSATION
---------------

At present this is still considered an experimental option, despite enabled by default.
Enables a special mathematical correction to remove amplitude-modulation artifacts typical of any time-domain pitch shifter, when shifting signals containing noise (white or colored noise, percussions and alike) or highly inharmonic content.
It is suggested to always leave it enabled, unless for comparison or test purposes.



STEREO VERSION and ALIGNMENT ISSUES
-----------------------------------

For technically unavoidable reasons, the output signal may be no longer aligned with the input signal when Pitch returns zero after being modulated, in addition to the Nominal latency. For this reason, two identical modules can NOT be used to pitch-shift a stereo signal, since the L and R channels will likely end up out of phase. A dedicated Stereo version is therefore provided, whose operation logic and usage is otherwise identical to the Mono version.


STATIC UPDATES
--------------

This module DOES NOT support static updates, i.e switching of constant voltage levels, since for pitch-shifting that would be pointless. Whenever an input becomes static, it will be simply muted and considered silence, even if its static value is not zero.
When the input (Mono version) or *both* inputs (Stereo version) become static, no matter if Pitch is streaming or static, the module will go to sleep after flushing the internal buffers.


POLYPHONY AND OVERSAMPLING
--------------------------

Usage of this module inside polyphonic or oversampled circuits is FORBIDDEN. If you attempt doing so, an error requester will immediately pop up.



