Text-to-speech synthesis systems are used to produce artificial human speech. Often, synthesized speech can be created by concatenating pieces of recorded speech that are stored in some database. Unit selection speech synthesis is one type of text-to-speech synthesis which builds a statistical language model representing the probability of a certain sequence of acoustic units. A unit selection synthesis system creates a large database of recorded speech, where each recorded utterance is segmented into individual phones, or acoustic units. An index of the acoustic units in the database is then created based on the segmentation and various acoustic parameters. At run time, the synthesizer selects a sequence of acoustic units by determining and selecting the best chain of candidate acoustic units from the database.