File size: 1,330 Bytes
1b6bcbc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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}")