def org_data(utt_feat, win_size_before, win_size_after):
frm_num, feat_dim = utt_feat.shape
width = win_size_before + win_size_after + 1
out_feat = np.zeros((frm_num, 1, feat_dim, width))
utt_feat = np.pad(utt_feat, ((win_size_before, win_size_after), (0,0)), mode = 'edge') # pad the starting and ending frames
for i in range(frm_num):
frm_idx = i + win_size_before
block_data = utt_feat[frm_idx - win_size_before : frm_idx + win_size_after + 1, :]
block_data = block_data.T
block_data = block_data.reshape(1, block_data.shape[0], block_data.shape[1])
out_feat[i] = block_data
return out_feat
评论列表
文章目录