Rubber Band is a high quality software library for audio time-stretching and pitch-shifting. It permits you to change the tempo and pitch of an audio stream or recording dynamically and independently of one another. Rubber Band is a library intended for use by developers creating their own application programs rather than directly by end users, although it does also include a simple command-line utility program that you can use for fixed adjustments to the speed and pitch of existing audio files.
The dywapitchtrack library computes the pitch of an audio stream in realtime. The pitch is the main frequency of the waveform (the "note" being played or sung). It is expressed as a float in Hz. dywapitchtrack is based on a custom-tailored algorithm which is of very high quality, very accurate (precision < 0.05 semitones), with very low latency (< 23 ms) and very low error rates. It has been thoroughly tested on the human voice.