Spaces:
No application file
No application file
import json | |
from pathlib import Path | |
def scan_folder(base_path): | |
wav_lab_pairs = {} | |
base = Path(base_path) | |
for suf in ["wav", "lab"]: | |
for f in base.rglob(f"*.{suf}"): | |
relative_path = f.relative_to(base) | |
parts = relative_path.parts | |
print(parts) | |
if len(parts) >= 3: | |
character = parts[0] | |
emotion = parts[1] | |
if character not in wav_lab_pairs: | |
wav_lab_pairs[character] = {} | |
if emotion not in wav_lab_pairs[character]: | |
wav_lab_pairs[character][emotion] = [] | |
wav_lab_pairs[character][emotion].append(str(f.name)) | |
return wav_lab_pairs | |
def save_to_json(data, output_file): | |
with open(output_file, "w", encoding="utf-8") as file: | |
json.dump(data, file, ensure_ascii=False, indent=2) | |
base_path = "ref_data" | |
out_ref_file = "ref_data.json" | |
wav_lab_pairs = scan_folder(base_path) | |
save_to_json(wav_lab_pairs, out_ref_file) | |