Spaces:
Build error
Build error
# Copyright (c) Facebook, Inc. and its affiliates. | |
# | |
# This source code is licensed under the MIT license found in the | |
# LICENSE file in the root directory of this source tree. | |
import csv | |
from pathlib import Path | |
def main(args): | |
""" | |
`uid syn ref text` | |
""" | |
in_root = Path(args.generation_root).resolve() | |
ext = args.audio_format | |
with open(args.audio_manifest) as f, open(args.output_path, "w") as f_out: | |
reader = csv.DictReader( | |
f, delimiter="\t", quotechar=None, doublequote=False, | |
lineterminator="\n", quoting=csv.QUOTE_NONE | |
) | |
header = ["id", "syn", "ref", "text", "speaker"] | |
f_out.write("\t".join(header) + "\n") | |
for row in reader: | |
dir_name = f"{ext}_{args.sample_rate}hz_{args.vocoder}" | |
id_ = row["id"] | |
syn = (in_root / dir_name / f"{id_}.{ext}").as_posix() | |
ref = row["audio"] | |
if args.use_resynthesized_target: | |
ref = (in_root / f"{dir_name}_tgt" / f"{id_}.{ext}").as_posix() | |
sample = [id_, syn, ref, row["tgt_text"], row["speaker"]] | |
f_out.write("\t".join(sample) + "\n") | |
print(f"wrote evaluation file to {args.output_path}") | |
if __name__ == "__main__": | |
import argparse | |
parser = argparse.ArgumentParser() | |
parser.add_argument( | |
"--generation-root", help="output directory for generate_waveform.py" | |
) | |
parser.add_argument( | |
"--audio-manifest", | |
help="used to determine the original utterance ID and text" | |
) | |
parser.add_argument( | |
"--output-path", help="path to output evaluation spec file" | |
) | |
parser.add_argument( | |
"--use-resynthesized-target", action="store_true", | |
help="use resynthesized reference instead of the original audio" | |
) | |
parser.add_argument("--vocoder", type=str, default="griffin_lim") | |
parser.add_argument("--sample-rate", type=int, default=22_050) | |
parser.add_argument("--audio-format", type=str, default="wav") | |
args = parser.parse_args() | |
main(args) | |