1. A computer-implemented method, comprising: receiving script data comprising script words indicative of dialogue words to be spoken; receiving audio data corresponding to at least a portion of the dialogue words to be spoken, the audio data comprises timecodes associated with the dialogue words; generating a sequential alignment of the script words to 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-sets, the bounds of the alignment sub-sets being defined by adjacent hard alignment points, and the alignment sub-sets comprising a sub-set of the script words and a corresponding sub-set of the dialogue words that occur between the hard alignment points; aligning the sub-set of the script words in the alignment sub-set with a corresponding sub-set of the dialogue words in the alignment sub-set to determine a best fit alignment, using a word edit distance algorithm to match the script words in the alignment sub-set with the corresponding sub-set of the dialogue words in the alignment sub-set 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.