Ejemplo n.º 1
0
def main():
    false_missed_count = 7901
    est_dir = "data/test/marks/"
    ref_dir = "data/origin/cmu/cmu_us_bdl_arctic/marks/"
    marks_extension = ".marks"
    keys = set(file_names(ref_dir)) & set(file_names(est_dir))
    total_count = 0
    correct_count = 0
    missed_count = 0
    false_count = 0
    errors = list()
    for key in keys:
        est_path = os.path.join(est_dir, key + marks_extension)
        ref_path = os.path.join(ref_dir, key + marks_extension)
        result_dict = evaluate(est_path, ref_path, radius=0.002)
        total_count += result_dict["total_count"]
        correct_count += result_dict["correct_count"]
        missed_count += result_dict["missed_count"]
        false_count += result_dict["false_count"]
        errors.extend(result_dict["errors"])
    """revise false missed marks"""
    total_count -= false_missed_count
    missed_count -= false_missed_count
    """calculate rate"""
    correct_rate = correct_count / total_count
    missed_rate = missed_count / total_count
    false_rate = false_count / total_count
    std_value = std(errors)
    acc_rate = accuracy(errors, mean=-0.0005)
    print(
        "correct_rate: {}, missed_rate: {}, false_rate: {}, std: {}, A25: {}.".
        format(correct_rate, missed_rate, false_rate, std_value, acc_rate))
Ejemplo n.º 2
0
def make_mix2_data_set():
    dst_path = "data/origin/cmu/mix2/"
    wav_extension = ".wav"
    marks_extension = ".marks"
    """jmk data set"""
    jmk_path = "data/origin/cmu/cmu_us_jmk_arctic/"
    jmk_train_keys, _ = random_keys(os.path.join(jmk_path, "marks"), num=400)
    jmk_valid_keys = file_names(os.path.join(jmk_path, "validation_marks"))
    copy_files(os.path.join(jmk_path, "wav"),
               os.path.join(dst_path, "wav"),
               jmk_train_keys,
               wav_extension,
               rename_prefix="jmk_")
    copy_files(os.path.join(jmk_path, "wav"),
               os.path.join(dst_path, "wav"),
               jmk_valid_keys,
               wav_extension,
               rename_prefix="jmk_")
    copy_files(os.path.join(jmk_path, "marks"),
               os.path.join(dst_path, "marks"),
               jmk_train_keys,
               marks_extension,
               rename_prefix="jmk_")
    copy_files(os.path.join(jmk_path, "validation_marks"),
               os.path.join(dst_path, "validation_marks"),
               jmk_valid_keys,
               marks_extension,
               rename_prefix="jmk_")
    """bdl data set"""
    bdl_path = "data/origin/cmu/cmu_us_bdl_arctic/"
    bdl_train_keys, _ = random_keys(os.path.join(bdl_path, "marks"), num=800)
    bdl_valid_keys, _ = random_keys(os.path.join(bdl_path, "validation_marks"),
                                    num=30)
    copy_files(os.path.join(bdl_path, "wav"),
               os.path.join(dst_path, "wav"),
               bdl_train_keys,
               wav_extension,
               rename_prefix="bdl_")
    copy_files(os.path.join(bdl_path, "wav"),
               os.path.join(dst_path, "wav"),
               bdl_valid_keys,
               wav_extension,
               rename_prefix="bdl_")
    copy_files(os.path.join(bdl_path, "marks"),
               os.path.join(dst_path, "marks"),
               bdl_train_keys,
               marks_extension,
               rename_prefix="bdl_")
    copy_files(os.path.join(bdl_path, "validation_marks"),
               os.path.join(dst_path, "validation_marks"),
               bdl_valid_keys,
               marks_extension,
               rename_prefix="bdl_")
Ejemplo n.º 3
0
def main():
    tf.logging.set_verbosity(tf.logging.INFO)
    args = get_args()
    tf.logging.info("Load wav from {}".format(args.wav_src_dir))
    tf.logging.info("Generate marks to {}".format(args.marks_dst_dir))
    net = GenerateModel()
    graph = tf.Graph()
    with graph.as_default():
        with tf.variable_scope("data"):
            inputs = tf.placeholder(tf.float32, shape=(None, crop_radius*2 + 1))

        with tf.variable_scope("extract_model"):
            tensor_dict = net.build(inputs, training=False)
            predictions = tensor_dict["predictions"]
            saver = tf.train.Saver()

    config = tf.ConfigProto()
    config.gpu_options.allow_growth = True
    with tf.Session(graph=graph, config=config) as sess:
        sess.run([tf.global_variables_initializer(), tf.local_variables_initializer()])
        save_path = os.path.join(args.save_path, net.name)
        if not load_model(saver, sess, save_path):
            sess.run([tf.global_variables_initializer(), tf.local_variables_initializer()])
        global_step_eval = 0
        keys = file_names(args.wav_src_dir)
        testing_steps = len(keys)
        pbar = tqdm.tqdm(total=testing_steps)
        pbar.update(global_step_eval)
        for key in keys:
            tf.logging.debug("File names: {}".format(key))
            input_features = package_input_features(os.path.join(args.wav_src_dir, key + wav_extension))
            predictions_eval = sess.run(predictions, feed_dict={inputs: input_features["wav"]})
            marks = generate_marks(input_features["peak_indices"], predictions_eval, input_features["rate"])
            tf.logging.debug("Number of marks: {}".format(len(marks)))
            save_marks(os.path.join(args.marks_dst_dir, key + marks_extension), marks)
            global_step_eval += 1
            pbar.update(1)
    tf.logging.info("Congratulations!")
Ejemplo n.º 4
0
# coding=utf-8
import os
import shutil
import random
from data_process.ops import file_names

validation_marks_path = "data/origin/cmu/cmu_us_slt_arctic/validation_marks/"
marks_path = "data/origin/cmu/cmu_us_slt_arctic/marks/"
wav_path = "data/origin/cmu/cmu_us_slt_arctic/wav/"

marks_keys = file_names(marks_path)
wav_keys = file_names(wav_path)

keys = list(set(marks_keys) - set(wav_keys))
print(keys)

for key in keys:
    my_file = os.path.join(marks_path, key + ".marks")
    os.remove(my_file)

marks_keys = file_names(marks_path)

intersection_keys = list(set(marks_keys) & set(wav_keys))
print(intersection_keys)
validation_keys = random.sample(intersection_keys, 100)
for key in validation_keys:
    shutil.move(os.path.join(marks_path, key + ".marks"), os.path.join(validation_marks_path, key + ".marks"))
Ejemplo n.º 5
0
def random_keys(path, num=50):
    all_keys = file_names(path)
    training_keys = random.sample(all_keys, num)
    testing_keys = list(set(all_keys) - set(training_keys))
    return training_keys, testing_keys
Ejemplo n.º 6
0
def make_mix4_test_data_set():
    dst_path = "data/origin/cmu/mix4/"
    marks_extension = ".marks"
    """jmk data set"""
    jmk_path = "data/origin/cmu/cmu_us_jmk_arctic/"
    jmk_train_keys, jmk_test_keys = random_keys(os.path.join(
        jmk_path, "marks"),
                                                num=400)
    jmk_valid_keys, _ = random_keys(os.path.join(jmk_path, "validation_marks"),
                                    num=50)
    copy_files(os.path.join(jmk_path, "marks"),
               os.path.join(dst_path, "marks"),
               jmk_train_keys,
               marks_extension,
               rename_prefix="jmk_")
    copy_files(os.path.join(jmk_path, "validation_marks"),
               os.path.join(dst_path, "validation_marks"),
               jmk_valid_keys,
               marks_extension,
               rename_prefix="jmk_")
    copy_files(os.path.join(jmk_path, "marks"),
               os.path.join(dst_path, "jmk_testing_marks"),
               jmk_test_keys,
               marks_extension,
               rename_prefix="jmk_")
    """bdl data set"""
    bdl_path = "data/origin/cmu/cmu_us_bdl_arctic/"
    bdl_train_keys, bdl_test_keys = random_keys(os.path.join(
        bdl_path, "marks"),
                                                num=800)
    bdl_valid_keys = random_keys(os.path.join(bdl_path, "validation_marks"),
                                 num=50)
    copy_files(os.path.join(bdl_path, "marks"),
               os.path.join(dst_path, "marks"),
               bdl_train_keys,
               marks_extension,
               rename_prefix="bdl_")
    copy_files(os.path.join(bdl_path, "validation_marks"),
               os.path.join(dst_path, "validation_marks"),
               bdl_valid_keys,
               marks_extension,
               rename_prefix="bdl_")
    copy_files(os.path.join(bdl_path, "marks"),
               os.path.join(dst_path, "bdl_testing_marks"),
               bdl_test_keys,
               marks_extension,
               rename_prefix="bdl_")
    """slt data set"""
    slt_path = "data/origin/cmu/cmu_us_slt_arctic/"
    slt_train_keys, slt_test_keys = random_keys(os.path.join(
        slt_path, "marks"),
                                                num=400)
    slt_valid_keys, _ = random_keys(os.path.join(slt_path, "validation_marks"),
                                    num=50)
    copy_files(os.path.join(slt_path, "marks"),
               os.path.join(dst_path, "marks"),
               slt_train_keys,
               marks_extension,
               rename_prefix="slt_")
    copy_files(os.path.join(slt_path, "validation_marks"),
               os.path.join(dst_path, "validation_marks"),
               slt_valid_keys,
               marks_extension,
               rename_prefix="slt_")
    copy_files(os.path.join(slt_path, "marks"),
               os.path.join(dst_path, "slt_testing_marks"),
               slt_test_keys,
               marks_extension,
               rename_prefix="slt_")
    """ked data set"""
    ked_path = "data/origin/cmu/cmu_us_ked_timit/"
    ked_train_keys, _ = random_keys(os.path.join(ked_path, "marks"), num=400)
    ked_valid_keys = file_names(os.path.join(ked_path, "validation_marks"))
    ked_test_keys = list(
        set(all_keys(os.path.join(ked_path, "marks"))) - set(ked_train_keys))
    copy_files(os.path.join(ked_path, "marks"),
               os.path.join(dst_path, "marks"),
               ked_train_keys,
               marks_extension,
               rename_prefix="ked_")
    copy_files(os.path.join(ked_path, "validation_marks"),
               os.path.join(dst_path, "validation_marks"),
               ked_valid_keys,
               marks_extension,
               rename_prefix="ked_")
    copy_files(os.path.join(ked_path, "marks"),
               os.path.join(dst_path, "ked_testing_marks"),
               ked_test_keys,
               marks_extension,
               rename_prefix="ked_")
Ejemplo n.º 7
0
def all_keys(path):
    keys = file_names(path)
    return keys