1. A computer-implemented method of generating a database for a text-to-speech (TTS) voice, the method comprising: matching via a processor every spoken word associated with a TTS voice database with a smallest set of possible pronunciations for each word, the smallest set being generated by: automatically via the processor determining a dialect and linguistic context using linguistic rules; empirically determining idiosyncratic speaker characteristics; and determining a subject domain; and dynamically generating a pronunciation dictionary on a word-by-word basis using the smallest set.