Commit 233b7d451bb4f8b0632c25899452061b70018c96
1 parent
b6c178927e
Exists in
master
adding changelabels function
Showing 1 changed file with 22 additions and 3 deletions Side-by-side Diff
volia/masseffect.py
... | ... | @@ -4,6 +4,7 @@ |
4 | 4 | from utils import SubCommandRunner |
5 | 5 | import os |
6 | 6 | |
7 | + | |
7 | 8 | def utt2char(features: str, outfile: str): |
8 | 9 | """Allow the user to generate utt2char file from masseffect features file. |
9 | 10 | |
... | ... | @@ -54,7 +55,6 @@ |
54 | 55 | |
55 | 56 | directories = dir_en + dir_fr |
56 | 57 | filenames = filenames_en + filenames_fr |
57 | - | |
58 | 58 | |
59 | 59 | with open(outfile, "w") as f: |
60 | 60 | for i, fn in enumerate(filenames): |
... | ... | @@ -66,7 +66,18 @@ |
66 | 66 | f.write(f"{lang},{character},{record_id} {path}\n") |
67 | 67 | |
68 | 68 | |
69 | - | |
69 | +def changelabels(source: str, labels: str, outfile: str): | |
70 | + data_dict = core.data.read_id_values(source) | |
71 | + labels_dict = core.data.read_labels(labels) | |
72 | + keys = list(data_dict.keys()) | |
73 | + | |
74 | + with open(outfile, "w") as f: | |
75 | + for key in keys: | |
76 | + splited = key.split(",") | |
77 | + splited[1] = labels_dict[key] | |
78 | + core.data.write_line(",".join(splited), data_dict[key]) | |
79 | + | |
80 | + | |
70 | 81 | if __name__ == '__main__': |
71 | 82 | # Main parser |
72 | 83 | parser = argparse.ArgumentParser(description="...") |
... | ... | @@ -90,6 +101,13 @@ |
90 | 101 | parser_wavscp.add_argument("--outfile", default="wav.scp", help="wav.scp output file") |
91 | 102 | parser_wavscp.set_defaults(which="wavscp") |
92 | 103 | |
104 | + # Change labels | |
105 | + parser_changelabels = subparsers.add_parser("changelabels", help="...") | |
106 | + parser_changelabels.add_argument("--source", required=True, type=str, help="source file where we want to change ids.") | |
107 | + parser_changelabels.add_argument("--labels", required=True, type=str, help="file with labels") | |
108 | + parser_changelabels.add_argument("--outfile", required=True, type=str, help="Output file") | |
109 | + parser_changelabels.set_defaults(which="changelabels") | |
110 | + | |
93 | 111 | # Parse |
94 | 112 | args = parser.parse_args() |
95 | 113 | |
... | ... | @@ -97,7 +115,8 @@ |
97 | 115 | runner = SubCommandRunner({ |
98 | 116 | "utt2char" : utt2char, |
99 | 117 | "char2utt": char2utt, |
100 | - "wavscp": wavscp | |
118 | + "wavscp": wavscp, | |
119 | + "changelabels": changelabels | |
101 | 120 | }) |
102 | 121 | |
103 | 122 | runner.run(args.which, args.__dict__, remove="which") |