Exemple #1
0
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)
Exemple #2
0
 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)
Exemple #3
0
    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)
Exemple #4
0
    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()
Exemple #5
0
    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: