import os from montreal_forced_aligner.command_line.mfa import mfa_cli root_dir = r'D:\Data\experiments\alignment_benchmarking\alignments' mfa10_dir = r"D:\Data\models\1.0_archived" mfa20_dir = r"D:\Data\models\2.0_archived" mfa20a_dir = r"D:\Data\models\final_training" mfa30_dir = r"D:\Data\models\3.0_trained" mapping_directory = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'mapping_files') benchmark_dir = r'D:\Data\speech\benchmark_datasets\csj\csj_benchmark' original_dir = r'D:\Data\speech\benchmark_datasets\csj\original' reference_dir = r'D:\Data\speech\benchmark_datasets\csj\csj_reference' temp_dir = r'D:\temp\align_evaluation_temp' mapping_files = { 'mfa': os.path.join(mapping_directory, "mfa_csj_mapping.yaml") } conditions = { 'mfa_3.0': (os.path.join(mfa30_dir, 'japanese_mfa.dict'), os.path.join(mfa30_dir, "japanese_mfa.zip")), } if __name__ == '__main__': for condition, (dictionary_path, model_path) in conditions.items(): output_directory = os.path.join(root_dir, condition, 'csj') if os.path.exists(output_directory): continue command = ['align', benchmark_dir, dictionary_path, model_path, output_directory, '-j', '10', '--clean', '--debug', '--use_cutoff_model', '--reference_directory', reference_dir, '--audio_directory', original_dir, '--custom_mapping_path', mapping_files[condition.split('_')[0]], '--beam', '10', '--retry_beam', '40' ] print(command) mfa_cli(command, standalone_mode=False)