I’ve been spending way too long on different forms of pitch tracking, but I think I’ve found one that works. I tried the two Csound methods (Pitch and Pitchamdf), but they don’t work well with vocal material. So I switched to Adobe Audition, and an app for my phone called DATuner Lite. I search through the wave form of a speech segment visually using Audition, then isolate one repeating segment and play it for DATuner Lite, which displays the pitch on the phone to the nearest tenth of a cycle. Here’s what the Audition screen looks like as I zoom in on one repeating waveform.
This is 258 samples from the early part of the word “Honestly” spoken by Hillary Clinton at the Senate Foreign Relations Committee Hearing on the Benghazi matter. Note the zero crossings. Audition can find zero crossings pretty well. They I hit the loop button on Audition, and play the loop over some speakers to DATuner Lite, who finds the pitch. Audition can’t find the pitch itself. It seems to average the pitch for the entire sample instead of the selected loop. No idea why.
Then I generate ftables for Csound to manipulate the pitch of some regular instruments to match the way she changes the pitch of her voice. When people are lying, they tend to have a pronounced waiver in their voices. I found different pitches just three or four hundred samples either side of the ones I picked. She’s all over the place in the words “Honestly” and “Answer”. Go figure. Here it is rendered at 1/4 speed for Vibraphone, Cello, and Flute.