Exemple #1
0
def test_preprocessing():
    # make arguments
    args = make_args()

    # prepare dummy wav files
    wavdir = "data/wav"
    if not os.path.exists(wavdir):
        os.makedirs(wavdir)
    for i in range(5):
        make_dummy_wav(wavdir + "/%d.wav" % i, 8000, args.fs)

    # feature extract
    wav_list = find_files(wavdir, "*.wav")
    if not os.path.exists(args.wavdir):
        os.makedirs(args.wavdir)
    world_feature_extract(wav_list, args)

    # calc_stats
    file_list = find_files(args.hdf5dir, "*.h5")
    calc_stats(file_list, args)

    # noise shaping
    wav_list = find_files(args.wavdir, "*.wav")
    if not os.path.exists(args.writedir):
        os.makedirs(args.writedir)
    noise_shaping(wav_list, args)

    # assert list length
    wav_ns_list = find_files(args.writedir, "*.wav")
    assert len(wav_list) == len(file_list)
    assert len(wav_list) == len(wav_ns_list)
Exemple #2
0
def test_preprocessing():
    # make arguments
    args = make_args()

    # prepare dummy wav files
    wavdir = "data/wav"
    if not os.path.exists(wavdir):
        os.makedirs(wavdir)
    for i in range(5):
        make_dummy_wav(wavdir + "/%d.wav" % i, 8000, args.fs)

    # feature extract
    wav_list = find_files(wavdir, "*.wav")
    if not os.path.exists(args.wavdir):
        os.makedirs(args.wavdir)
    args.feature_type = "world"
    world_feature_extract(wav_list, args)
    args.feature_type = "melspc"
    melspectrogram_extract(wav_list, args)
    args.feature_type = "mcep"
    melcepstrum_extract(wav_list, args)

    # calc_stats
    file_list = find_files(args.hdf5dir, "*.h5")
    args.feature_type = "world"
    calc_stats(file_list, args)
    args.feature_type = "melspc"
    calc_stats(file_list, args)
    args.feature_type = "mcep"
    calc_stats(file_list, args)

    # noise shaping
    wav_list = find_files(args.wavdir, "*.wav")
    args.feature_type = "world"
    args.writedir = "data/wav_ns/world"
    if not os.path.exists(args.writedir):
        os.makedirs(args.writedir)
    world_noise_shaping(wav_list, args)
    args.feature_type = "mcep"
    args.writedir = "data/wav_ns/mcep"
    if not os.path.exists(args.writedir):
        os.makedirs(args.writedir)
    melcepstrum_noise_shaping(wav_list, args)
Exemple #3
0
def test_train_generator():
    # make dummy wavfiles
    wavdir = "data/wav"
    if not os.path.exists(wavdir):
        os.makedirs(wavdir)
    for i in range(5):
        make_dummy_wav(wavdir + "/%d.wav" % i)

    # make features
    feat_args = make_feature_args()
    wav_list = find_files(wavdir, "*.wav")
    if not os.path.exists(feat_args.wavdir):
        os.makedirs(feat_args.wavdir)
    feat_args.feature_type = "melspc"
    melspectrogram_extract(wav_list, feat_args)
    feat_args.feature_type = "world"
    world_feature_extract(wav_list, feat_args)
    feat_list = find_files(feat_args.hdf5dir, "*.h5")

    for ft in ["world", "melspc"]:
        # ----------------------------------
        # minibatch without upsampling layer
        # ----------------------------------
        generator_args = make_train_generator_args(wav_list=wav_list,
                                                   feat_list=feat_list,
                                                   feature_type=ft,
                                                   use_upsampling_layer=False,
                                                   batch_length=10000,
                                                   batch_size=5)
        generator = train_generator(**vars(generator_args))
        (x, h), t = next(generator)
        assert x.size(0) == t.size(0) == h.size(0)
        assert x.size(1) == t.size(1) == h.size(2)

        # ----------------------------------------
        # utterance batch without upsampling layer
        # ----------------------------------------
        generator_args = make_train_generator_args(wav_list=wav_list,
                                                   feat_list=feat_list,
                                                   feature_type=ft,
                                                   use_upsampling_layer=False,
                                                   batch_length=None,
                                                   batch_size=5)
        generator = train_generator(**vars(generator_args))
        (x, h), t = next(generator)
        assert x.size(0) == t.size(0) == h.size(0) == 1
        assert x.size(1) == t.size(1) == h.size(2)

        # -------------------------------
        # minibatch with upsampling layer
        # -------------------------------
        generator_args = make_train_generator_args(wav_list=wav_list,
                                                   feat_list=feat_list,
                                                   feature_type=ft,
                                                   use_upsampling_layer=True,
                                                   batch_length=10000,
                                                   batch_size=5)
        generator = train_generator(**vars(generator_args))
        (x, h), t = next(generator)
        assert x.size(0) == t.size(0) == h.size(0)
        assert x.size(1) == t.size(
            1) == h.size(2) * generator_args.upsampling_factor

        # -------------------------------------
        # utterance batch with upsampling layer
        # -------------------------------------
        generator_args = make_train_generator_args(wav_list=wav_list,
                                                   feat_list=feat_list,
                                                   feature_type=ft,
                                                   use_upsampling_layer=True,
                                                   batch_length=None,
                                                   batch_size=5)
        generator = train_generator(**vars(generator_args))
        (x, h), t = next(generator)
        assert x.size(0) == t.size(0) == h.size(0) == 1
        assert x.size(1) == t.size(
            1) == h.size(2) * generator_args.upsampling_factor
Exemple #4
0
def test_decode_generator():
    # make dummy wavfiles
    wavdir = "data/wav"
    if not os.path.exists(wavdir):
        os.makedirs(wavdir)
    for i in range(5):
        make_dummy_wav(wavdir + "/%d.wav" % i)

    # make features
    feat_args = make_feature_args()
    wav_list = find_files(wavdir, "*.wav")
    if not os.path.exists(feat_args.wavdir):
        os.makedirs(feat_args.wavdir)
    feat_args.feature_type = "melspc"
    melspectrogram_extract(wav_list, feat_args)
    feat_args.feature_type = "world"
    world_feature_extract(wav_list, feat_args)
    feat_list = find_files(feat_args.hdf5dir, "*.h5")

    for ft in ["world", "melspc"]:
        # ----------------------------------
        # non-batch without upsampling layer
        # ----------------------------------
        generator_args = make_decode_generator_args(feat_list=feat_list,
                                                    feature_type=ft,
                                                    use_upsampling_layer=False,
                                                    batch_size=1)
        generator = decode_generator(**vars(generator_args))
        _, (x, h, n_samples) = next(generator)
        assert x.size(0) == h.size(0) == 1
        assert h.size(2) == n_samples + 1

        # -------------------------------
        # non-batch with upsampling layer
        # -------------------------------
        generator_args = make_decode_generator_args(feat_list=feat_list,
                                                    feature_type=ft,
                                                    use_upsampling_layer=True,
                                                    batch_size=1)
        generator = decode_generator(**vars(generator_args))
        _, (x, h, n_samples) = next(generator)
        assert x.size(0) == h.size(0) == 1
        assert h.size(2) * generator_args.upsampling_factor == n_samples + 1

        # ----------------------------------
        # minibatch without upsampling layer
        # ----------------------------------
        generator_args = make_decode_generator_args(feat_list=feat_list,
                                                    feature_type=ft,
                                                    use_upsampling_layer=False,
                                                    batch_size=5)
        generator = decode_generator(**vars(generator_args))
        _, (batch_x, batch_h, n_samples_list) = next(generator)
        assert batch_x.size(0) == batch_h.size(0) == len(n_samples_list)
        assert batch_h.size(2) == max(n_samples_list) + 1

        # -------------------------------
        # minibatch with upsampling layer
        # -------------------------------
        generator_args = make_decode_generator_args(feat_list=feat_list,
                                                    feature_type=ft,
                                                    use_upsampling_layer=True,
                                                    batch_size=5)
        generator = decode_generator(**vars(generator_args))
        _, (batch_x, batch_h, n_samples_list) = next(generator)
        assert batch_x.size(0) == batch_h.size(0) == len(n_samples_list)
        assert batch_h.size(2) * generator_args.upsampling_factor == max(
            n_samples_list) + 1