def extract_mfcc(input_wav_dir, output_feature_file, output_feature_dir): # secure destination mkdir_for_file(output_feature_file) mkdir_for_dir(output_feature_dir) # extract mfcc in single file format and dir format import util mkdir_for_dir(default_temp_dir) util.make_feature(input_wav_dir, default_temp_dir) def write_feat(feat, feat_id, outfile): outfile.write(feat_id+'.wav\n') for i in range(feat.shape[0]): fline = '{:04d} {:04d} #' + ' {:f}'*feat.shape[1] +'\n' outfile.write(fline.format(i, i+1, *feat[i])) outfile.write('\n') with open(output_feature_file, 'w') as outfile: for f in sorted(os.listdir(default_temp_dir)): feat = util.read_feature(os.path.join(default_temp_dir, f)) write_feat(feat, f[:-4], outfile) for f in sorted(os.listdir(default_temp_dir)): feat = util.read_feature(os.path.join(default_temp_dir, f)) util.write_feature(feat, os.path.join(output_feature_dir, f)) # cleanup, remove large files mkdir_for_dir(default_temp_dir)
def extract_mfc(self): # extract mfcc in single file format and dir format self.mfc_dir = os.path.join(self.path, 'mfc/') import util mkdir_for_dir(self.mfc_dir) util.make_feature(self.wav_dir, self.mfc_dir) self.dir_to_file(self.mfc_dir, self.feature_file) self.file_to_dir(self.feature_file, self.feature_dir)
def feature(self): HTK() \ .readSCP(self.X['corpus_dir']) \ .writeSCP(self.X['wavlst_scp'], [], self.X['featur_dir']) \ .writeSCP(self.X['wavhcp_scp'], ['hcopy'], self.X['featur_dir']) try: os.mkdir(self.X['featur_dir']) except: return SYS().cldir(self.X['featur_dir']) if not self.user_feature: os.system('HCopy -T 1 -C "{}" -S "{}" '.format( self.X['hcopie_cfg'], self.X['wavhcp_scp'])) else: util.make_feature(self.X['corpus_dir'],self.X['featur_dir'],self.feature_func)
def query_init(self): self.query_mlf = util.MLF(self.label) try: os.mkdir(self.feature_fold) except: True try: os.mkdir(self.distanc_fold) except: True try: os.mkdir(self.decoded_fold) except: True try: os.mkdir(self.similar_fold) except: True if not os.path.exists(self.label): shutil.copyfile(self.label, self.label_file) if not os.path.exists(self.qlist): shutil.copyfile(self.qlist, self.qlist_file) if not os.path.exists(self.feature_file): files = util.make_feature(self.corpus, self.feature_fold) with open(self.feature_file, 'w') as myfile: for f in files: myfile.write(f + '\n') myfile.close()
def feature(self): HTK() \ .readSCP(self.X['corpus_dir']) \ .writeSCP(self.X['wavlst_scp'], [], self.X['featur_dir']) \ .writeSCP(self.X['wavhcp_scp'], ['hcopy'], self.X['featur_dir']) try: os.mkdir(self.X['featur_dir']) except: return SYS().cldir(self.X['featur_dir']) if not self.user_feature: os.system('HCopy -T 1 -C "{}" -S "{}" '.format( self.X['hcopie_cfg'], self.X['wavhcp_scp'])) else: util.make_feature(self.X['corpus_dir'], self.X['featur_dir'], self.feature_func)
data_light = util.load_data(data_dir, '_light.csv') print "Reading whole data..." data_with_stop_words = util.load_data(data_dir, '_with_stop_words.csv') print "*****************************" print "********make feature*********" print "*****************************" data = {} for data_class in data_light: if os.path.isfile(data_class+'.npz'): feature_file = np.load(data_class+'.npz') x = feature_file['x'] y = feature_file['y'] else: x, y = util.make_feature(data_light[data_class], data_with_stop_words[data_class]) x = np.array(x) y = np.array(y) np.savez(open(data_class+'.npz','w'),x=x,y=y) print "Complete " + data_class + " feature making..." data[data_class] = {} data[data_class]['x'] = x data[data_class]['y'] = y x_train = np.array([[]]) y_train = np.array([[]]) for data_class in data: if data_class == val_class: x_val = data[data_class]['x'] y_val = data[data_class]['y'] else: