Forever For Now - Audio Unit Diatonic Shifter v1.0 (Mac/Universal/Free)

From the homepage:

Building on my experience with the Octave Shifter Audio Unit I wanted to take the simple pitch shifting a step further. Inspired by effect units like the Eventide series of harmonizers I decided to write a true diatonic pitch shifter and harmonizer.

Given the fact that the Octave Shifter already performed the actual shifting quite well I focused on creating a decent pitch detection and recognition algorithm. The current version of the Audio Unit uses a Fast Fourier Transform and aggregates frequencies on a per note basis. After this aggregation the most audible note in the input signal is selected as the base note for the pitch shifting.

This algorithm works properly most of the time but for extra safety I implemented a tracking delay which prevents odd harmonics from jittering the pitch detection.
Basic usage

You'll probably want to use this Audio Unit on a monophonic input signal like a single guitar track or a piano tune. The pitch detection algorithm is currently not able to handle chords and intervals and as a result the actual pitch shifting will be constantly fluctuating because of each of the harmonics constantly taking over the role of most audible note.

Once the input signal is monophonic, you can use the Diatonic Shifter effect to create musical harmonies. Based on the note played on the instrument you can specify a target note.

For example, if you are playing a progression in a C-major scale you could set the "C" note to be shifted 4 semitones to an "E" on a separate track which will give you a simple major interval. Combined with a normal pitch shift of 7 semitones, resulting in a "G", you can generate basic chords while only playing a single note.

Note that you can set the pitch shift on a per note basis so you can have a "C" generating a major chord while an "A" would trigger a minor chord. You can also prevent any out-of-key notes from being played by simple shifting those by 1 semitone, resulting in a note that is in key.
Advanced usage

Besides using the Audio Unit for generating chords you might want to try out more experimental setups like using pitch shifted delays and a varying number of semitones per note. Combined with the ability to create suboctave harmonies there are a lot of interesting posibilities.

I've created a simple audio demo of the effect by playing a simple guitar track consisting of single notes rigged through two Diatonic Shifters and some delays.

Diatonic Shifter Audio Unit features

In short, the Diatonic Shifter Audio Unit provides the following features:

* Diatonic pitch shifting and harmonizing on a per note basis
* User configurable tuning frequency for the A440 note
* Adjustable tracking delay setting to prevent note detection jitter
* Works on any amount of input and output channels at any sample rate
* Adjustable FFT size ranging from 512 to 8192 and dynamic oversampling
* Three different windowing types: cosine, Hamming and Hann
* Industry standard Cocoa user interface and compliance
* Freeware