A method which includes: detecting phrases in a transcript of an audiovisual file; applying a speech recognition algorithm to the audiovisual file and to a list of words of the phrase, to output a temporal location of each of the words that are uttered in the audio channel; compiling a list of sub-phrases of each of the phrases; creating a temporal sub-phrase map that comprises a temporal location of each of the sub-phrases; extracting the uttered sub-phrases from the audiovisual file, to create multiple sub-phrase audiovisual files; and constructing a database the multiple sub-phrase audiovisual files and of the sub-phrase uttered in each of the files. The method may also include: receiving a phrase; querying the database for audiovisual files which comprise uttered sub-phrases of the phrase; and splicing at least some of the audiovisual files to a compilation audiovisual file in which the phrase is uttered.