1. A computer-implemented method, comprising: generating a sequential alignment of script words from script data to dialogue words from audio data, the audio data including timecodes associated with the dialogue words; matching at least some sequences of the script words to corresponding sequences of the dialogue words to determine hard alignment points; partitioning the sequential alignment of the script words into alignment sub-matrices, the bounds of the alignment sub-matrices being defined by adjacent hard alignment points, and the alignment sub-matrices comprising a sub-set of the script words and a corresponding sub-set of the dialogue words that occur between the hard alignment points; removing symbols and punctuation from the sub-set of script words in the alignment sub-matrices; aligning the sub-set of script words in each alignment sub-matrix of the alignment sub-matrices with a corresponding sub-set of dialogue words in each alignment sub-matrix of the alignment sub-matrices to determine a best fit alignment, comprising: filtering the sub-set of dialogue words to heuristically remove stop words: matching the sub-set of the script words and the corresponding sub-set of the dialogue words based on phonetic matching; using a word edit distance algorithm to match the script words in each alignment sub-matrix of the alignment sub-matrices with the corresponding sub-set of the dialogue words in each alignment sub-matrix of the alignment sub-matrices to determine soft alignment points; determining timecodes for the hard and soft alignment points; interpolating, based on the timecodes associated with at least some matched dialogue words, to determine timecodes for one or more unmatched script words; and generating time-aligned script data comprising the sub-set of the script words and their determined timecodes.