-
acoustic_base.py
-
prepare_nn_data(self, in_file_list_dict, out_file_list, in_dimension_dict, out_dimension_dict)
-
in_file_list_dict
- in_file_list_dict['mgc'] = ['/afs/inf.ed.ac.uk/group/project/dnn_tts/data/nick/mgc/herald_001.mgc', '/afs/inf.ed.ac.uk/group/project/dnn_tts/data/nick/mgc/herald_002.mgc']
- in_file_list_dict['lf0'] = ['/afs/inf.ed.ac.uk/group/project/dnn_tts/data/nick/lf0/herald_001.lf0', '/afs/inf.ed.ac.uk/group/project/dnn_tts/data/nick/lf0/herald_002.lf0']
- in_file_list_dict['bap'] = ['/afs/inf.ed.ac.uk/group/project/dnn_tts/data/nick/bap/herald_001.bap', '/afs/inf.ed.ac.uk/group/project/dnn_tts/data/nick/bap/herald_002.bap']
-
out_file_list
- 特征长度都是三倍于 in_dimsension
-
in_dimension_dict
- 类似于: { 'mgc' : 50, 'lf0' : 1, 'bap' : 25}
-
out_dimension_dict
- 类似于: { 'mgc' : 150, 'lf0' : 3, 'vuv' : 1, 'bap' : 75}
- prepare_data(self, in_file_list_dict, out_file_list, in_dimension_dict, out_dimension_dict)
-
interpolate_f0(self, data)
- 计算f0 插值,如果已经计算过,此方法直接返回原值
-
compute_dynamic_vector(self, vector, dynamic_win, frame_number)
- MFCC等只有静态特征,根据帧数和窗口大小(前后取几帧)来补充动态特征
-
compute_dynamic_matrix(self, data_matrix, dynamic_win, frame_number, dimension)
- 调用compute_dynamic_vector方法计算整个矩阵的动态特征
-
acoustic_composition.py
-
AcousticComposition(AcousticBase)
-
make_equal_frames(self, in_file_list, ref_file_list, in_dimension_dict)
-
in_file_list
- utt文件列表,从二进制文件中读取内容
- ref_file_list
-
in_dimension_dict
- 特征维度词典,每个utt文件都有一个对应的项
- 将输入文件中每一项与对应的应用文件对齐
- prepare_data(self, in_file_list_dict, out_file_list, in_dimension_dict, out_dimension_dict)
-
acoustic_decomposition(self, in_file_list, out_dimension_dict, file_extension_dict)
- 基本没有用
-
acoustic_normalisation.py
-
load_cmp_file(self, file_name)
- 读入HTK格式的cmp文件,并解析出 mgc,bap,lf0
-
interpolate_f0(self, data)
- 与acoustic_base方法重复
-
compute_delta(self, vector, delta_win)
- 与acoustic_base方法 compute_dynamic_vector基本重复(少一个参数)
-
produce_nn_cmp(self, in_file_list, out_file_list)
- load_cmp_file的输入文件是静态特征的cmp文件,此方法添加动态特征之后,重新存储为二进制文件
-
label_composer.py
-
load_label_configuration(self, filename)
- 载入用户自定义的 label配置文件
-
compute_label_dimension()
- 主要是计算label_dimension
- 很多特征都没有实现
-
label_modifier.py
-
HTSLabelModification
-
check_silence_pattern(self, label)
- 检查 label字符中是否存在 静音 格式。静音格式为 -#+
- modify_duration_labels(self, in_gen_label_align_file_list, gen_dur_list, gen_label_list)
-
modify_dur_from_state_alignment_labels(self, label_file_name, gen_dur_file_name, gen_lab_file_name)
-
在 状态 对齐lab中添加时间信息
- 默认有5个状态
-
label_file_name
- 无时间信息的标注文件
-
gen_dur_file_name
- 标注文件对应的时间信息文件,二进制
-
gen_lab_file_name
- 最后生成带时间信息的,完整的标注lab文件
-
modify_dur_from_phone_alignment_labels(self, label_file_name, gen_dur_file_name, gen_lab_file_name)
- 在 音素 对齐lab中添加时间信息
-
label_file_name
- 无时间信息的标注文件
-
gen_dur_file_name
- 标注文件对应的时间信息文件,二进制
-
gen_lab_file_name
- 最后生成带时间信息的,完整的标注lab文件
- 主要是在HTS的label格式中添加预测的时间信息
-
label_normalisation.py
-
LabelNormalisation
- extract_linguistic_features(self, in_file_name, out_file_name=None, label_type="state_align", dur_file_name=None)
-
HTSLabelNormalisation(LabelNormalisation)
-
prepare_dur_data(self, ori_file_list, output_file_list, label_type="state_align", feature_type=None, unit_size=None, feat_size=None)
- 抽取所有utt内容的时域特征
- extract_dur_features(self, in_file_name, out_file_name=None, label_type="state_align", feature_type=None, unit_size=None, feat_size=None)
-
extract_dur_from_state_alignment_labels(self, file_name, feature_type, unit_size, feat_size)
- 从状态对齐(5个状态)的lab文件中抽取时间信息和其他特征,写入到特征矩阵中
-
extract_dur_from_phone_alignment_labels(self, file_name, feature_type, unit_size, feat_size)
- 从 音素 对齐的lab文件中抽取时间信息和其他特征,写入到特征矩阵中
- load_labels_with_phone_alignment(self, file_name, dur_file_name)
- load_labels_with_state_alignment(self, file_name)
- extract_durational_features(self, dur_file_name=None, dur_data=None)
- compute_coarse_coding_features(self, num_states)
- extract_coarse_coding_features_relative(self, phone_duration)
- extract_coarse_coding_features_absolute(self, phone_duration)
- pattern_matching(self, label)
- pattern_matching_binary(self, label)
- pattern_matching_continous_position(self, label)
- load_question_set(self, qs_file_name)
- load_question_set_continous(self, qs_file_name)
- wildcards2regex(self, question, convert_number_pattern=False)
- 将HTS格式的标签转换为连续值或二进制值,并以float32格式存储为二进制
-
HTSDurationLabelNormalisation(HTSLabelNormalisation)
- load_labels_with_state_alignment(self, file_name, add_frame_features=False)
-
linguistic_base.py
-
perform_normalisation(self, ori_file_list, output_file_list, label_type="state_align", dur_file_list=None)
- 多线程,规范化每个原始语言数据文件内容到输出文件
- extract_linguistic_features(self, in_file_name, out_file_name, label_type, dur_file_name=None)
-
feature_normalisation_base.py
-
FeatureNormBase
- feature_normalisation
- feature_denormalisation
-
normal_standardization(self, in_file_list, out_file_list, feature_dimension)
- 规范化
-
find_min_max_values(self, in_file_list, start_index, end_index)
- 计算文件列表中所有特征的最大最小值,并存储到对应vector中
-
compute_mean(self, file_list, start_index, end_index)
- 计算整个文件列表中所有特征的均值,start_index和end_index都是特征维
-
compute_std(self, file_list, mean_vector, start_index, end_index)
- 计算整个文件列表中所有特征的标准差,start_index和end_index都是特征维
-
mean_variance_norm.py
-
MeanVarianceNorm(FeatureNormBase)
- feature_normalisation(self, in_file_list, out_file_list)
- feature_denormalisation(self, in_file_list, out_file_list, mean_vector, std_vector)
- load_mean_std_values(self, acoustic_norm_file)
- compute_mean(self, file_list, start_index, end_index)
- compute_std(self, file_list, mean_vector, start_index, end_index)
-
merge_features.py
-
MergeFeat
-
merge_data(self, binary_label_file_list, new_feat_file_list, out_feat_file_list)
- 将两个特征文件合并到一个矩阵中,并写入到二进制文件
-
min_max_norm.py
-
MinMaxNormalisation
-
load_min_max_values(self, label_norm_file)
- 从存储规范化的lab标注二进制文件中读取最大、最小矩阵
-
find_min_max_values(self, in_file_list)
- 从二进制文件列表中找到最大最小值
- normalise_data(self, in_file_list, out_file_list)
- denormalise_data(self, in_file_list, out_file_list)
- normal_standardization(self, in_file_list, out_file_list)
- compute_mean(self, file_list)
- compute_std(self, file_list, mean_vector)
- 计算 .sp 文件的一些统计特性
-
mlpg.py
-
MLParameterGeneration
-
build_theano_function_wdw(self)
-
用theano构建函数 wdw
-
build_theano_function_wdu(self)
-
用theano构建函数 wdu
-
generation(self, features, covariance, static_dimension)
- 使用GPU加速来生成一些音频处理的参数
- prepare_window(self, frame_number)
- prepare_D(self, frame_number, D_value)
- prepare_U(self, frame_number, U_vector)
-
mlpg_fast.py
-
MLParameterGenerationFast
- build_win_mats(self, windows, frames)
- build_poe(self, b_frames, tau_frames, win_mats, sdw=None)
-
generation(self, features, covariance, static_dimension)
- 使用简单方法计算参数
-
parameter_generation.py
-
ParameterGeneration
-
duration_decomposition(self, in_file_list, dimension, out_dimension_dict, file_extension_dict)
- 解析 频域 特征二进制文件,就是简单的将值>1的特征赋值为1,重新存储
-
acoustic_decomposition(self, in_file_list, dimension, out_dimension_dict, file_extension_dict, var_file_dict, do_MLPG=True, cfg=None)
- 解析 声码 特征,lf0,vuv等特征,添加生成特征,写入二进制文件
- load_covariance(self, var_file_dict, out_dimension_dict)
- check_silence_pattern(self, label, silence_pattern)
-
silence_remover.py
-
SilenceRemover
-
remove_silence(self, in_data_list, in_align_list, out_data_list, dur_file_list=None)
- 移除cmp文件中帧长度超过音频本身的,这些帧被认为是静音。
-
check_silence_pattern(self, label)
- 检查标注文件 lab是否为 带静音的标注格式
-
load_phone_alignment(self, alignment_file_name, dur_file_name=None)
- 从 音素对齐 文件中读入数据,只返回非静音的帧索引列表
-
load_alignment(self, alignment_file_name, dur_file_name=None)
- 从 非音素对齐 (可能是状态对齐)文件中读入数据,只返回非静音帧索引列表
-
trim_silence(in_list, out_list, in_dimension, label_list, label_dimension, silence_feature_index, percent_to_keep=0)
- 如果音频数据长度比标注文件lab长,则剪掉多余部分
- 如果标注文件比音频长,则用音频的最后一帧填充。始终保持标注文件恒定