CoolFace
Apppublic

chilge/nemo

sourceHugging Faceupdated 4y agoView on Hugging Face
0likes
preprocess_flist_config.py118 linesDownload Raw Back to root
1import os2import argparse3from tqdm import tqdm4from random import shuffle5import json6config_template = {7  "train": {8    "log_interval": 200,9    "eval_interval": 1000,10    "seed": 1234,11    "epochs": 10000,12    "learning_rate": 2e-4,13    "betas": [0.8, 0.99],14    "eps": 1e-9,15    "batch_size": 12,16    "fp16_run": False,17    "lr_decay": 0.999875,18    "segment_size": 17920,19    "init_lr_ratio": 1,20    "warmup_epochs": 0,21    "c_mel": 45,22    "c_kl": 1.0,23    "use_sr": True,24    "max_speclen": 384,25    "port": "8001"26  },27  "data": {28    "training_files":"filelists/train.txt",29    "validation_files":"filelists/val.txt",30    "max_wav_value": 32768.0,31    "sampling_rate": 32000,32    "filter_length": 1280,33    "hop_length": 320,34    "win_length": 1280,35    "n_mel_channels": 80,36    "mel_fmin": 0.0,37    "mel_fmax": None38  },39  "model": {40    "inter_channels": 192,41    "hidden_channels": 192,42    "filter_channels": 768,43    "n_heads": 2,44    "n_layers": 6,45    "kernel_size": 3,46    "p_dropout": 0.1,47    "resblock": "1",48    "resblock_kernel_sizes": [3,7,11],49    "resblock_dilation_sizes": [[1,3,5], [1,3,5], [1,3,5]],50    "upsample_rates": [10,8,2,2],51    "upsample_initial_channel": 512,52    "upsample_kernel_sizes": [16,16,4,4],53    "n_layers_q": 3,54    "use_spectral_norm": False,55    "gin_channels": 256,56    "ssl_dim": 256,57    "n_speakers": 0,58  },59  "spk":{60    "nen": 0,61    "paimon": 1,62    "yunhao": 263  }64}65 66 67if __name__ == "__main__":68    parser = argparse.ArgumentParser()69    parser.add_argument("--train_list", type=str, default="./filelists/train.txt", help="path to train list")70    parser.add_argument("--val_list", type=str, default="./filelists/val.txt", help="path to val list")71    parser.add_argument("--test_list", type=str, default="./filelists/test.txt", help="path to test list")72    parser.add_argument("--source_dir", type=str, default="./dataset/32k", help="path to source dir")73    args = parser.parse_args()74    75    train = []76    val = []77    test = []78    idx = 079    spk_dict = {}80    spk_id = 081    for speaker in tqdm(os.listdir(args.source_dir)):82        spk_dict[speaker] = spk_id83        spk_id += 184        wavs = [os.path.join(args.source_dir, speaker, i)for i in os.listdir(os.path.join(args.source_dir, speaker))]85        wavs = [i for i in wavs if i.endswith("wav")]86        shuffle(wavs)87        train += wavs[2:-10]88        val += wavs[:2]89        test += wavs[-10:]90    n_speakers = len(spk_dict.keys())*291    shuffle(train)92    shuffle(val)93    shuffle(test)94            95    print("Writing", args.train_list)96    with open(args.train_list, "w") as f:97        for fname in tqdm(train):98            wavpath = fname99            f.write(wavpath + "\n")100        101    print("Writing", args.val_list)102    with open(args.val_list, "w") as f:103        for fname in tqdm(val):104            wavpath = fname105            f.write(wavpath + "\n")106            107    print("Writing", args.test_list)108    with open(args.test_list, "w") as f:109        for fname in tqdm(test):110            wavpath = fname111            f.write(wavpath + "\n")112 113    config_template["model"]["n_speakers"] = n_speakers114    config_template["spk"] = spk_dict115    print("Writing configs/config.json")116    with open("configs/config.json", "w") as f:117        json.dump(config_template, f, indent=2)118