示例#1
0
def load_and_proc_feats_segm(feats_dir,
                             files,
                             frame_step,
                             min_len,
                             max_len,
                             floatX='float32'):
    feats_o = []
    for f in files:
        n_avl_samp = pytel.htk.readhtk_header(feats_dir + '/' + f + '.fea')[0]
        n_sel_samp = np.random.randint(min_len, max_len)
        if (n_avl_samp <= n_sel_samp):
            feats_o.append(readhtk(feats_dir + '/' + f + '.fea'))
        else:
            # Randomly select the starting point
            start = np.random.randint(0, n_avl_samp - n_sel_samp)
            end = start + n_sel_samp
            feats_o.append(
                readhtk_segment(feats_dir + '/' + f + '.fea', start, end))

    idx = np.cumsum(
        np.vstack([len(feats_o[i]) for i in range(0, len(feats_o))]))
    idx = np.insert(idx, 0, 0)

    # Need these as arrays
    feats_o = np.vstack(feats_o[i] for i in range(0, len(feats_o)))

    return [feats_o, idx.astype(floatX)]
示例#2
0
def load_jhu_feat_segm(feats_dir,
                       files,
                       min_len,
                       max_len,
                       floatX='float32',
                       rng=np.random,
                       start_from_zero=False):
    feats = []
    for f in files:
        n_avl_samp = pytel.htk.readhtk_header(feats_dir + '/' + f + '.fea')[0]
        n_sel_samp = rng.randint(min_len, max_len)  #  +1)
        if (n_avl_samp <= n_sel_samp):
            feats.append(readhtk(feats_dir + '/' + f + '.fea'))
        else:
            if start_from_zero:
                start = 0
            else:
                start = rng.randint(0, n_avl_samp - n_sel_samp + 1)
            end = start + n_sel_samp
            feats.append(
                readhtk_segment(feats_dir + '/' + f + '.fea', start, end))

    idx = np.cumsum(np.vstack([len(feats[i]) for i in range(0, len(feats))]))
    idx = np.insert(idx, 0, 0)
    return np.vstack(feats)[np.newaxis, :, :], idx
示例#3
0
def load_jhu_feat_and_vad(feats_dir, vad_dir, files, floatX='float32'):

    feats = np.vstack([readhtk(feats_dir + '/' + f + '.fea') for f in files])
    vad = [np.genfromtxt(vad_dir + '/' + f + '.vad', dtype=int) for f in files]
    idx = np.cumsum(np.vstack([len(vad[i]) for i in range(0, len(vad))]))
    idx = np.insert(idx, 0, 0)

    return feats, idx, vad
示例#4
0
def load_jhu_feat_lab_vad(feats_dir,
                          lab_dir,
                          vad_dir,
                          files,
                          max_frame=-1,
                          feat_is_segm=False,
                          floatX='float32'):

    if (max_frame == -1):
        feats = [readhtk(feats_dir + '/' + f + '.fea') for f in files]
    else:
        n_avl_samp = [
            pytel.htk.readhtk_header(feats_dir + '/' + f + '.fea')[0]
            for f in files
        ]
        feats = [
            readhtk_segment(feats_dir + '/' + f + '.fea',
                            start=0,
                            end=np.min((max_frame, n_avl_samp[i])))
            for i, f in enumerate(files)
        ]

    new_files = [fix_names_2(f) for f in files]

    lab = []
    for i, nf in enumerate(new_files):
        if feat_is_segm:
            f, start, end = grep_times(nf)
        else:
            f = nf
            start = 0
            end = feats[i].shape[0]
        l = np.genfromtxt(lab_dir + f + ".hp")
        if (vad_dir != None):
            v = pytel.htk.read_lab_to_bool_vec(vad_dir + '/' + f + '.vad',
                                               length=len(l),
                                               true_label='speech')
            l = l[v]
        l = l[start:end]
        if (len(l) != feats[i].shape[0]):
            log.warning(
                "WARNING: The length of lab is %d but lenght of features is %d. Is VAD missing on lab? "
                % (len(l), feats[i].shape[0]))

        lab.append(l[:, np.newaxis])
        idx = np.cumsum(
            np.vstack([len(feats[i]) for i in range(0, len(feats))]))
        idx = np.insert(idx, 0, 0)
    #print feats
    print(lab[2].shape)
    return np.vstack(feats)[np.newaxis, :, :], idx, np.vstack(lab)[
        np.newaxis, :, :]
示例#5
0
def load_and_proc_feats_expand(vad_dir,
                               feats_dir,
                               files,
                               frame_step=1,
                               floatX='float32',
                               max_length=None):
    feats_o = [
        readhtk(feats_dir + '/' + f + '.fea')[::frame_step, :] for f in files
    ]
    feats = [
        nn_def_anya.preprocess_nn_input_MFCC(
            readhtk(feats_dir + '/' + f + '.fea')[0:max_length:frame_step, :])
        for f in files
    ]

    vad = [
        pytel.htk.read_lab_to_bool_vec(vad_dir + '/' + files[i] + '.lab.gz',
                                       true_label='sp',
                                       length=-len(feats_o[i]))[15:-15]
        for i in range(0, len(feats))
    ]
    #vad = [pytel.htk.read_lab_to_bool_vec(vad_dir + '/' + files[i]+'.lab.gz', true_label='sp' )[15:-15]
    #       for i in range(0, len(feats))  ]

    for i in range(0, len(feats)):
        assert (len(vad) == feats[i].shape[0])

    # Now apply the VAD
    feats_o = np.vstack(feats_o[i][15:-15][vad[i]]
                        for i in range(0, len(feats)))
    feats = np.vstack(feats[i][vad[i]] for i in range(0, len(feats)))

    idx = np.cumsum(np.vstack([np.sum(vad[i]) for i in range(0, len(vad))]))
    idx = np.insert(idx, 0, 0)

    return [feats, feats_o, idx.astype(floatX)]
示例#6
0
def load_feats_segm_vad_time_comb(vad_dir,
                                  feats_dir,
                                  files,
                                  frame_step,
                                  min_len,
                                  max_len,
                                  floatX='float32'):
    feats_o = []
    vad = []
    for f in files:
        n_avl_samp_tot = pytel.htk.readhtk_header(feats_dir + '/' + f +
                                                  '.fea')[0]
        vad_tmp = pytel.htk.read_lab_to_bool_vec(vad_dir + '/' + f + '.lab.gz',
                                                 true_label='sp',
                                                 length=-n_avl_samp_tot)
        assert (len(vad_tmp) == n_avl_samp_tot)
        n_avl_samp = np.sum(vad_tmp)  # The speech time
        n_sel_samp = np.random.randint(min_len, max_len)
        if (n_avl_samp <= n_sel_samp):
            feats_o.append(readhtk(feats_dir + '/' + f + '.fea'))
            vad.append(vad_tmp)
        else:
            # Randomly select the starting point
            start = np.random.randint(0, n_avl_samp - n_sel_samp)
            end = start + n_sel_samp

            # Need to find the start and end index
            idx = np.cumsum(vad_tmp)
            start = int(np.where(np.cumsum(vad_tmp) == start)[0])
            end = int(np.where(np.cumsum(vad_tmp) == end)[0])

            feats_o.append(
                readhtk_segment(feats_dir + '/' + f + '.fea', start, end))
            vad.append(vad_tmp[start:end])

    idx = np.cumsum(np.vstack([len(feats_o[i]) for i in range(0, len(vad))]))
    idx = np.insert(idx, 0, 0)

    # Need these as arrays
    feats_o = np.vstack(feats_o[i] for i in range(0, len(feats_o)))
    vad = np.hstack(vad[i] for i in range(0, len(vad)))

    return [
        np.hstack((feats_o, vad[:, np.newaxis].astype(floatX))),
        idx.astype(floatX)
    ]
示例#7
0
def load_jhu_feat(feats_dir, files, floatX='float32', max_frame=-1):

    if (max_frame == -1):
        feats = [readhtk(feats_dir + '/' + f + '.fea') for f in files]
    else:
        n_avl_samp = [
            pytel.htk.readhtk_header(feats_dir + '/' + f + '.fea')[0]
            for f in files
        ]
        feats = [
            readhtk_segment(feats_dir + '/' + f + '.fea',
                            start=0,
                            end=np.min((max_frame, n_avl_samp[i])))
            for i, f in enumerate(files)
        ]

    idx = np.cumsum(np.vstack([len(feats[i]) for i in range(0, len(feats))]))
    idx = np.insert(idx, 0, 0)
    return np.vstack(feats)[np.newaxis, :, :], idx
示例#8
0
def load_and_proc_feats(feats_dir,
                        files,
                        frame_step=1,
                        floatX='float32',
                        max_length=None):
    feats = []
    idx = [0]
    for f in files:
        f_path = feats_dir + '/' + f + '.fea'
        if (os.path.isfile(f_path)):
            tmp_feats = readhtk(feats_dir + '/' + f +
                                '.fea')[0:max_length:frame_step, :]
            idx.append(tmp_feats.shape[0])
            feats.append(tmp_feats)
        else:
            idx.append(0)

    idx = np.cumsum(np.vstack(idx))
    feats = np.concatenate(feats)

    return [feats.astype(floatX), idx.astype(floatX)]
示例#9
0
def load_feats_comb(vad_dir, feats_dir, files, frame_step=1, floatX='float32'):
    feats_o = [
        readhtk(feats_dir + '/' + f + '.fea')[::frame_step, :] for f in files
    ]

    vad = [
        pytel.htk.read_lab_to_bool_vec(vad_dir + '/' + files[i] + '.lab.gz',
                                       true_label='sp',
                                       length=-len(feats_o[i]))
        for i in range(0, len(feats_o))
    ]

    idx = np.cumsum(np.vstack([len(feats_o[i]) for i in range(0, len(vad))]))
    idx = np.insert(idx, 0, 0)

    # Need these as arrays
    feats_o = np.vstack(feats_o[i] for i in range(0, len(feats_o)))
    vad = np.hstack(vad[i] for i in range(0, len(vad)))

    #return [ np.hstack( ( feats_o, vad[:,np.newaxis].astype(T.config.floatX) ) ), idx.astype('float32')
    return [
        np.hstack((feats_o, vad[:, np.newaxis].astype(floatX))),
        idx.astype(floatX)
    ]
示例#10
0
def load_feats(vad_dir, feats_dir, files, frame_step=1, floatX='float32'):
    feats_o = [
        readhtk(feats_dir + '/' + f + '.fea')[::frame_step, :] for f in files
    ]
    #feats   = [ nn_def_anya.preprocess_nn_input_MFCC( readhtk(feats_dir + '/'+ f + '.fea')[::frame_step,:] ) for f in files]

    vad = [
        pytel.htk.read_lab_to_bool_vec(vad_dir + '/' + files[i] + '.lab.gz',
                                       true_label='sp',
                                       length=-len(feats_o[i]))
        for i in range(0, len(feats_o))
    ]

    for i in range(0, len(feats_o)):
        assert (len(vad) == feats_o[i].shape[0])

    idx = np.cumsum(np.vstack([len(feats_o[i]) for i in range(0, len(vad))]))
    idx = np.insert(idx, 0, 0)

    # Need these as arrays
    feats_o = np.vstack(feats_o[i] for i in range(0, len(feats_o)))
    vad = np.hstack(vad[i] for i in range(0, len(vad)))

    return [feats_o, vad, idx.astype(floatX)]
def load_feats(feat_dir, files, max_length, frame_step):           
    d = [readhtk(feat_dir + '/'+ f + '.fea')[::frame_step,:] for f in files]
    return  [pad_sequences(d, max_length, dtype=float)]