|
from synthesizer.preprocess import preprocess_dataset |
|
from synthesizer.hparams import hparams |
|
from utils.argutils import print_args |
|
from pathlib import Path |
|
import argparse |
|
|
|
|
|
if __name__ == "__main__": |
|
parser = argparse.ArgumentParser( |
|
description="Preprocesses audio files from datasets, encodes them as mel spectrograms " |
|
"and writes them to the disk. Audio files are also saved, to be used by the " |
|
"vocoder for training.", |
|
formatter_class=argparse.ArgumentDefaultsHelpFormatter |
|
) |
|
parser.add_argument("datasets_root", type=Path, help=\ |
|
"Path to the directory containing your LibriSpeech/TTS datasets.") |
|
parser.add_argument("-o", "--out_dir", type=Path, default=argparse.SUPPRESS, help=\ |
|
"Path to the output directory that will contain the mel spectrograms, the audios and the " |
|
"embeds. Defaults to <datasets_root>/SV2TTS/synthesizer/") |
|
parser.add_argument("-n", "--n_processes", type=int, default=4, help=\ |
|
"Number of processes in parallel.") |
|
parser.add_argument("-s", "--skip_existing", action="store_true", help=\ |
|
"Whether to overwrite existing files with the same name. Useful if the preprocessing was " |
|
"interrupted.") |
|
parser.add_argument("--hparams", type=str, default="", help=\ |
|
"Hyperparameter overrides as a comma-separated list of name-value pairs") |
|
parser.add_argument("--no_alignments", action="store_true", help=\ |
|
"Use this option when dataset does not include alignments\ |
|
(these are used to split long audio files into sub-utterances.)") |
|
parser.add_argument("--datasets_name", type=str, default="LibriSpeech", help=\ |
|
"Name of the dataset directory to process.") |
|
parser.add_argument("--subfolders", type=str, default="train-clean-100,train-clean-360", help=\ |
|
"Comma-separated list of subfolders to process inside your dataset directory") |
|
args = parser.parse_args() |
|
|
|
|
|
if not hasattr(args, "out_dir"): |
|
args.out_dir = args.datasets_root.joinpath("SV2TTS", "synthesizer") |
|
|
|
|
|
assert args.datasets_root.exists() |
|
args.out_dir.mkdir(exist_ok=True, parents=True) |
|
|
|
|
|
print_args(args, parser) |
|
args.hparams = hparams.parse(args.hparams) |
|
preprocess_dataset(**vars(args)) |
|
|