Spaces:
No application file
No application file
import json | |
from typing import List | |
class FormatBertvits2(): | |
def __init__(self) -> None: | |
pass | |
def load(self, path : str) -> List[dict]: | |
# this format : {wav_path}|{speaker_name}|{language}|{text}" | |
data = [] | |
with open(path, 'r', encoding="utf-8") as source: | |
read_list = source.readlines() | |
for _ in read_list: | |
items = _.split('|') | |
if (len(items) == 4): | |
wav_path, speaker_name, language, text= items | |
data.append( | |
{ | |
'wav_path':wav_path, | |
'speaker_name':speaker_name, | |
'language':language, | |
'text':text.strip() | |
} | |
) | |
print(f"data has been load from {path}") | |
return data | |
def save(self, path : str, data : List[dict]): | |
with open(path, 'w', encoding="utf-8") as target: | |
for _ in data: | |
wav_path = _['wav_path'] | |
speaker_name = _['speaker_name'] | |
language = _['language'] | |
text = _['text'] | |
target.write(f"{wav_path}|{speaker_name}|{language}|{text}\n") | |
print(f"data has been save at {path}") |