1. A method to be executed at least in part in a computing device for performing concatenative speech synthesis, the method comprising: determining feature vectors for speech segments based on a matrix of concatenation costs; applying distance weighting to each speech segment pair based on the feature vectors; clustering the speech segments into a predefined number of groups such that an average distance between speech segments within each group is minimized; selecting a representative speech segment for each group; and generating a compressed concatenation cost matrix based on the representative speech segments.