Author |
Message |
Tim Kleinert
Joined: Mar 12, 2004 Posts: 1148 Location: Zürich, Switzerland
Audio files: 7
G2 patch files: 236
|
Posted: Mon May 12, 2008 11:32 am Post subject:
Polyphonic Vocal Intonator/Harmoniser Subject description: sing or talk into a microphone, play desired pitch on keyboard (NOT just a vocoder) |
|
|
Here's a nifty one.
This patch accepts your voice (or probably any other monophonic audio source, although I haven't tried that) from an input, recognizes its pitch, and forces that pitch to the pitch(es) played on the keyboard -in realtime.
I needed such a thing for my own purposes lately. First I tried to get along with a factory preset called "PitchPlay" which does this, or rather -I'm sorry to say- attempts to do it, as it doesn't work very well and doesn't sound too good either. That patch suffers from various problems: the standard G2 pitch-tracker is not very reliable, and the pitch-shifter has those typical "flangey" artefacts as well as sluggish time- and pitch-response (it's a delay line after all). So I had to invent things...
First I came up with a pitch-shifting algorithm that works completely differently than the common method found in FX machines and the G2 pitch-shift module. My design detects individual complete wavecycles in the incoming audio material, compresses or stretches those (=pitches them up- or downwards) and realigns them over the time axis, filling in extra cycles where required, or conversely "dropping some of them under the table" when they get too long -all in realtime. Due to this concept, it only works with monophonic source material. However, it is 100% artefact-free and causes virtually no latency: only one single wavecycle.
Secondly, I developed an adaptive pitch-tracking algorithm that works tightly in tandem with this pitch-shifter. Its latency is also just one single wavecycle, thereby guaranteeing that even the fastest pitch changes in the source material get caught and tamed. (It remains solid and unaffected by the most frenzied jodeling or Tarzan-like coloratura ...)
This combo was working quite well. However, both circuits are not able to deal with sibilants and other "non-vocal" sounds. So I added an voiced-unvoiced-detector that lets sibilants pass through the circuit unprocesseed.
But don't expect wonders from this patch. This is no Melodyne. It doesn't work with resynthesis and hence doesn't do formant correction (although formant correction when pitching downwards could probably be achieved -I have some ideas (think VOSIM)... but I need a break now ). Therefore, it will do a nice dwarf choir if you sing low and play high notes. However, if you sing the lead voice of the chord (more or less), it can actually sound quite natural.
So, enough bla bla, here's the controls:
INPUT Source, Pad: select audio input channel etc.
INPUT GATE (parameters): noise gate for the input
INPUT COMP (parameters): compressor for the input
PITCH RECOGNISE Response: Response speed of the adaptive pitch-tracker.
PITCH RECOGNISE Deviate: erm... difficult to explain. Basically defines the "deviation allowance window" between cycles. If this doesn't make any sense at all never mind. Just tweak it and listen to the results.
VOICED/UNVOICED Freq: the crossover frequency for distinguishing between pitched and unpitched sounds
V/U TRANSITION Time: the crossfading time between unprocessed and processed audio
PITCH (parameters): target pitch
VIBRATO (parameters): vibrato of the target pitch
...plus some self-explanatory EQ and FX stuff.
There are no variations. The patch was optimised for my own voice and microphone. You'll probably have to tweak it to work well with yours. If you hear warbling pitch or occasional "quacks" while singing/talking, that's a sign that the pitch detection circuit isn't correctly adjusted. Carefully tweak the "pitch recognise" parameters while singing/talking until you hear improvement. Or, if sibilants are warbled(unwantedly processed), or your voice comes through unprocessed, then that's a sign that the voiced/unvoiced-detector needs adjusting. (Conversely "unideal" settings of the "pitch recognise" parameters may surely produce some "interesting" results too.)
Even with all the klutzy patching, it turns out to be quite efficient, spawning 14 voices from an expanded G2 (6 from an unexpanded one).
Hope it is of use to someone. The techniques took me weeks (literally) to develop and perfect.
best,
tim
IMPORTANT NOTE: This patch uses two interslot busses (Bus 1/2) to pipe stuff from the (monophonic) analysis circuit in the FX area to the individual poly pitch-shifter circuits (voice area)!
UPDATE: There is an alternative version of this patch, featuring formant-correction and -manipulation, to be found here:
http://www.electro-music.com/forum/topic-26247.html
Description: |
sing or talk into a microphone, play desired pitch on keyboard (NOT just a vocoder) |
|
Download (listen) |
Filename: |
VoiceIntonatorTK.pch2 |
Filesize: |
4.18 KB |
Downloaded: |
2041 Time(s) |
Last edited by Tim Kleinert on Tue May 13, 2008 10:10 am; edited 5 times in total |
|
Back to top
|
|
|
ian-s
Joined: Apr 01, 2004 Posts: 2672 Location: Auckland, New Zealand
Audio files: 42
G2 patch files: 626
|
Posted: Mon May 12, 2008 2:07 pm Post subject:
|
|
|
:jawdrop: Excellent
Thanks Tim |
|
Back to top
|
|
|
iPassenger
Joined: Jan 27, 2007 Posts: 1068 Location: Sheffield, UK
Audio files: 5
G2 patch files: 78
|
|
Back to top
|
|
|
mosc
Site Admin
Joined: Jan 31, 2003 Posts: 18210 Location: Durham, NC
Audio files: 218
G2 patch files: 60
|
Posted: Tue May 13, 2008 8:25 am Post subject:
|
|
|
Superb. I can't get it to do what it is supposed to do, but it is a GREAT vocal processor because of it's wonderful weirdness and uncontrollably.
_________________ --Howard
my music and other stuff |
|
Back to top
|
|
|
Tim Kleinert
Joined: Mar 12, 2004 Posts: 1148 Location: Zürich, Switzerland
Audio files: 7
G2 patch files: 236
|
Posted: Tue May 13, 2008 9:04 am Post subject:
|
|
|
Thanks Howard, as I wrote, you need to finetune the parameters to match your voice and microphone.
But never mind, I'm already working on a new version which should be far less "touchy", and will offer (a crude form of) formant-correction and -control as well. |
|
Back to top
|
|
|
|