Removing vocoder effect from audio file There are many tutorials and guides explaining how to create a "robotic" voice by using a vocoder or a mix of filters that change pitch, tempo and maybe add a slight echoed delay. However, is it possible to do that opposite? How would you take a "robotic" sounding voice and make it sound more natural? I know certain effects, like adding emphasis, is still a research problem, but is it easier to remove the "tinny" sound found in a lot of synthetic voices?

I'm specifically interested in a code solution (preferably Python), because I'd like to wrap it around a text-to-speech synthesizer (like Festival or Flite) to work in real-time. Unfortunately, I'm not sure where to begin since Googling "how to make a robot voice sound more human" just returns tutorials on doing the exact opposite.

Here's an example voice of the Flite engine using an HTS voice. Especially near the end, the voice almost breaks up into a "buzz". Can that be removed, or would that actually require adding audio data?
I seriously doubt that there is a simple way to accomplish this.  Most of the work that I have seen tends to go in the direction of improving the synthesis, or using better (and more) phoneme recordings to get better quality.  If there were a simple way, I think someone would have found it by now rather than putting so much more effort into better synthesizers.

That said, you could try using a bandpass filter on the output.  The sample you referred to sounds better (at least is doesn't buzz) if you filter out everything above 800Hz, and everything below 100Hz.  That does kind of make it sound like the person speaking has a blanket stuffed in to her mouth, though.

If you would like, I could put together some python code (though you will need numpy/scipy for it) or you could use audacity or sox to see if the results are even acceptable before implementig code.