Saturday 7 February 2015

Pitch Correction (Auto-Tune)

Pitch Correction is the process of correcting the intonation of an audio signal without affecting other aspects of its sound. Pitch correction first detects the pitch of an audio signal (using a live pitch detection algorithm), then calculates the desired change and modifies the audio signal accordingly.
There are two popular pitch correctors used in the professional world of audio; Antares "Auto-Tune" and Celemony "Melodyne". According to wikipedia Auto-Tune has versions for Linux, however I was unable to find them. Melodyne is Windows and Mac, and they provide a demo version of their software which I have played with before on Windows and it's fantastic, with a graphical way to easily shift notes and create harmonies, also now with the ability to pitch correct single notes in a chord of notes (a feature which I think Auto-Tune has in some of their devices).
Unfortunately there are no Linux versions for either of these programs (none which I can find) and even if their were; they are quite expensive. So let's do it the free open source way.


Pitch Detection and Correction

This list is basically in order of: ones-I-could-get-working to I-have-no-idea-when-this-was-last-updated.

AT1

version: 0.4.0
last updated: August 2014
type: JACK
licence: GPL
website: kokkinizita.linuxaudio.org
This was actually the only one I could get working out of the couple that I tried (not to say that the others shouldn't be tried). AT1 runs as a JACK program meaning that audio can be patched straight through it. It has the ability to be controlled by MIDI, however its MIDI port is a JACK MIDI port so if one has a MIDI keyboard one has to concert the ALSA MIDI to the JACK MIDI, I don't think it's a difficult task however I have not done it yet. Also it scales the audio to the closest note, not the closest key, saying that if you select C on the highest end of your keyboard, it will scale to the C that is closest to the note you're already hitting. I think this is due to that it "does not include formant correction, so it should be used to correct small errors only and not to really transpose a song."

talentedhack

version: 1.85
last updated: Dec 2010
type: LV2
licence: GPL v3
website: code.google.com/p/talentledhack

This is an LV2 port of the LADSPA "Autotalent". It's very easy to compile. I couldn't get it running in Lv2rack (possibly due to it being an old version) it would just crash the program. I had it kind of working as a plug-in in ardour, however this would also crash the program though I think this was due to the version of ardour (an old version also, back in the 2 series when they are almost about to release version 4). The gui would load but was quite ugly (similar to Autotalent), however I'm not sure if this is due to the custom gui not loading (because of ardour?), I don't believe custom guis could exist for LADSPA plug-ins. This pitch corrector gets suggested a lot in a positive manner, so if you can get it working it is probably worth trying (and it has lots of improvements on Autotalent).

VocProc

version: 0.2
last updated: Feb 2010
type: LV2
licence: GPL v2
website: hyperglitch.com

Based on the pictures on the site; this pitch shifter has a clean and simple layout. I didn't try it out as, on forums, talentedhack was recommended over VocProc. The screen-shots do show a formant correction button, probably a good thing to have.

Autotalent

version: 0.2
last updated: June 2013 (?)
type: LADSPA
licence: Included FFT routines fall under Pure Data (BSD-like) license. All of the code but the FFT routines is licensed under GPL v2.
website: tombaran.info

Once a neat little gimmick of its time; Autotalent has probably seen better days. Then again if you have a LADSPA program (audacity) try it out.


Vocoder

A vocoder and/or a phase vocoder are a little bit different than a pitch corrector. For starters they don't detect pitch (so they can't correct it). Instead a carrier wave is fed in (usually one that is square or sawtooth) and somehow mashes with your vocal wave (audio tech is one thing I am not) to make it sound like that carrier wave is talking. As a result it makes one sound very robotic, but still lots of fun. There are many vocoders (and phase vocoders) in Ubuntu's package manager (and most probably in the distro you run), so this should be given a try if you are going for a more "autobahn" vibe.

The basic set up for a JACK version is you patch your mic into one channel, and something that produces a square or sawtooth wave into the other (this can either be a synth keyboard hooked up to a different channel in your computer, or a midi keyboard/controller (physical or virtual) and a computer synth that you can patch through), and away you go.

Here is an enjoyable phase vocoder example I found:


There we have it. Pitch Correction and Auto Tune on Linux.

2 comments:

  1. Calf pitch tool looks like its working but no change in pitch

    ReplyDelete
    Replies
    1. Calf is for fx processing and has no pitch detection or auto tune so really has nothing to do with this post.
      It does have a vocoder built into it though, however I didn't mention anything of Calf so I don't know what you're after.

      Delete