Пример #1
0
def get_wavernn(config_path, checkpoint_path, device):
    # Init model
    params_wavernn = load_config(config_path)
    wavernn = WaveRNN(**params_wavernn).to(device)

    # Load checkpoint
    state_dict = torch.load(checkpoint_path,
                            map_location=lambda storage, loc: storage)
    wavernn.load_state_dict(state_dict)
    print("Loaded WaveRNN checkpoint.")

    return wavernn, params_wavernn
Пример #2
0
def get_tacotron(config_path, checkpoint_path, device):
    # Init model
    params_tacotron = load_config(config_path)
    params_tacotron["num_chars"] = len(char_list_g2p)
    tacotron = Tacotron2(**params_tacotron).to(device)

    # Load checkpoint
    state_dict = torch.load(checkpoint_path,
                            map_location=lambda storage, loc: storage)
    tacotron.load_state_dict(state_dict)
    print("Loaded Tacotron checkpoint.")

    return tacotron, params_tacotron
Пример #3
0
def main(args):
    # Load config
    config_file_path = os.path.join(args.config_path, "config.yml")
    config = load_config(config_file_path)

    # Set number of characters
    config["model"]["num_chars"] = len(char_list)

    # Path manager
    output_path = os.path.join(config["output_path"], config["run_name"])
    path_manager = PathManager(output_path)

    # Model
    model = Tacotron2(**config["model"])

    # Trainer
    trainer = TacotronTrainer(config, path_manager, model)
    trainer.train()
            meta_line = executor.submit(
                partial(compute_features, source_audio_path, file_name_, text,
                        speaker_name, out_melspecs_path, g2p, itr,
                        count_files))
            metafile.append(meta_line)

    metafile = [
        metaline.result() for metaline in metafile if metaline is not None
    ]
    print(metafile)

    # Write metafile
    with open(os.path.join(output_path, "metadata.txt"), "w") as final_meta:
        for l in metafile:
            final_meta.write(l + "\n")


if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("--dataset_path", type=str, required=True)
    parser.add_argument("--output_path", type=str, required=True)
    parser.add_argument("--config_path", type=str, required=True)
    parser.add_argument("--num_workers", type=int, default=5)
    args = parser.parse_args()
    target_speakers = [
        "0d358649ded3baf7f476eeb2ba44fc2cfc195824b0294fcb4a2059c4e6a2e6ab1aede4dd71f5df11fb4550d6db6ee9e45244180d9692ea897afb86cc0471caa0"
    ]

    config = load_config(os.path.join(args.config_path, "config.yml"))
    preprocess(args.dataset_path, args.output_path, target_speakers, config,
               args.num_workers)