def _timestamp_regulator(self):
unified_timestamps = _PrettyDefaultDict(list)<EOL>staged_files = self._list_audio_files(sub_dir="<STR_LIT>")<EOL>for timestamp_basename in self.__timestamps_unregulated:<EOL><INDENT>if len(self.__timestamps_unregulated[timestamp_basename]) > <NUM_LIT:1>:<EOL><INDENT>timestamp_name = '<STR_LIT>'.join(timestamp_basename.split('<STR_LIT:.>')[:-<NUM_LIT:1>])<EOL>staged_splitted_files_of_timestamp = list(<EOL>filter(lambda staged_file: (<EOL>timestamp_name == staged_file[:-<NUM_LIT:3>] and<EOL>all([(x in set(map(str, range(<NUM_LIT:10>))))<EOL>for x in staged_file[-<NUM_LIT:3>:]])), staged_files))<EOL>if len(staged_splitted_files_of_timestamp) == <NUM_LIT:0>:<EOL><INDENT>self.__errors[(time(), timestamp_basename)] = {<EOL>"<STR_LIT>": "<STR_LIT>",<EOL>"<STR_LIT>": staged_files}<EOL>continue<EOL><DEDENT>staged_splitted_files_of_timestamp.sort()<EOL>unified_timestamp = list()<EOL>for staging_digits, splitted_file in enumerate(<EOL>self.__timestamps_unregulated[timestamp_basename]):<EOL><INDENT>prev_splits_sec = <NUM_LIT:0><EOL>if int(staging_digits) != <NUM_LIT:0>:<EOL><INDENT>prev_splits_sec = self._get_audio_duration_seconds(<EOL>"<STR_LIT>".format(<EOL>self.src_dir, timestamp_name,<EOL>staging_digits - <NUM_LIT:1>))<EOL><DEDENT>for word_block in splitted_file:<EOL><INDENT>unified_timestamp.append(<EOL>_WordBlock(<EOL>word=word_block.word,<EOL>start=round(word_block.start +<EOL>prev_splits_sec, <NUM_LIT:2>),<EOL>end=round(word_block.end +<EOL>prev_splits_sec, <NUM_LIT:2>)))<EOL><DEDENT><DEDENT>unified_timestamps[<EOL>str(timestamp_basename)] += unified_timestamp<EOL><DEDENT>else:<EOL><INDENT>unified_timestamps[<EOL>timestamp_basename] += self.__timestamps_unregulated[<EOL>timestamp_basename][<NUM_LIT:0>]<EOL><DEDENT><DEDENT>self.__timestamps.update(unified_timestamps)<EOL>self.__timestamps_unregulated = _PrettyDefaultDict(list)<EOL>
Makes a dictionary whose keys are audio file basenames and whose
values are a list of word blocks from unregulated timestamps and
updates the main timestamp attribute. After all done, purges
unregulated ones.
In case the audio file was large enough to be splitted, it adds seconds
to correct timing and in case the timestamp was manually loaded, it
leaves it alone.

Note that the difference between self.__timestamps and
self.__timestamps_unregulated is that in the regulated version,
right after the word, a list of word blocks must appear. However in the
unregulated version, after a word, a list of individual splits
containing word blocks would appear!