def utt_mceps(utt, shift=0.005, remove_pau=False, resettimes=False): temppath = mkdtemp() #wavs wfn1 = os.path.join(temppath, "1." + WAV_EXT) utt["waveform"].write(wfn1) #feats ffn1 = os.path.join(temppath, "1." + FEAT_EXT) cmds = SIG2FV % {"inputfile": wfn1, "outputfile": ffn1, "shift": shift} #print(cmds) os.system(cmds) #tracks t1 = Track() t1.load_track(ffn1) #cleanup shutil.rmtree(temppath) keep_intervals = [] if remove_pau: u = deepcopy(utt) fill_startendtimes(u) for seg in u.gr("Segment"): if seg["name"] != "pau": keep_intervals.append((seg["start"], seg["end"])) indices = t1.mask_indices(keep_intervals) t1.times = t1.times[indices] t1.values = t1.values[indices] if resettimes: t1.times = np.arange(1, len(t1.times) + 1, dtype=np.float) * shift return t1