1. A method, comprising: receiving, using a computing device, script data comprising ordered script words of a script, wherein the ordered script words are indicative of speakable dialogue words; receiving audio data corresponding to at least a portion of the dialogue words, wherein the audio data includes timecodes associated with dialogue words; generating a matrix of the ordered script words versus the dialogue words; performing an alignment of the matrix to determine hard alignment points, including matching consecutive sequences of ordered script words with corresponding sequences of dialogue words; partitioning the matrix of ordered script words into sub-matrices, wherein the bounds of each of the sub-matrices are defined by adjacent hard-alignment points, and wherein each of the sub-matrices includes a sub-set of the ordered script words and a corresponding sub-set of dialogue words that occur between respective hard-alignment points; performing an alignment of each of the sub-matrices, including: matching ordered script words of the sub-set of ordered script words of a respective sub-matrix with dialogue words of the sub-set of dialogue words of the respective sub-matrix; assigning, to the matched ordered script words, timecodes associated with corresponding matching dialogue words; and determining timecodes for the unmatched ordered script words of sub-set of ordered script words of the sub-matrix using interpolation based on the timecodes associated with the matching ordered script words; and generating time-aligned script data comprising the ordered script words of the script and their corresponding timecodes.