File size: 5,351 Bytes
c5ed230
 
 
9d024b5
 
c5ed230
 
 
 
 
 
 
 
24e3342
c5ed230
 
d94ccbe
c5ed230
 
 
 
 
 
 
d94ccbe
 
 
 
 
 
b5830b6
 
 
 
 
 
c5ed230
 
 
 
 
 
 
 
 
 
 
 
5854014
9d024b5
5854014
c5ed230
 
5854014
f394738
c5ed230
 
 
dc13618
eda7a93
f394738
 
dd5fb07
36fb9b8
f394738
 
d4047cd
dd5fb07
f394738
 
 
 
4cf5647
604f411
 
 
 
 
6403da0
 
 
 
 
 
d8135af
6403da0
cf5787a
 
 
604f411
 
 
c5ed230
 
 
 
 
 
 
 
 
 
 
 
d94ccbe
c5ed230
9d024b5
 
c5ed230
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
dc13618
 
 
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
import os
import sys

import torch

JSON_AS_ASCII = False

MAX_CONTENT_LENGTH = 5242880

# Flask debug mode
DEBUG = False

# Server port
PORT = 7860

# Absolute path of vits-simple-api
ABS_PATH = os.path.dirname(os.path.realpath(__file__))

# Upload path
UPLOAD_FOLDER = ABS_PATH + "/upload"

# Cahce path
CACHE_PATH = ABS_PATH + "/cache"

# Logs path
LOGS_PATH = ABS_PATH + "/logs"

# Set the number of backup log files to keep. 
LOGS_BACKUPCOUNT = 30

# If CLEAN_INTERVAL_SECONDS <= 0, the cleaning task will not be executed.
CLEAN_INTERVAL_SECONDS = 3600

# save audio to CACHE_PATH
SAVE_AUDIO = False

# zh ja ko en... If it is empty, it will be read based on the text_cleaners specified in the config.json.
LANGUAGE_AUTOMATIC_DETECT = []

# Set to True to enable API Key authentication
API_KEY_ENABLED = False

# API_KEY is required for authentication
API_KEY = "api-key"

# logging_level:DEBUG/INFO/WARNING/ERROR/CRITICAL
LOGGING_LEVEL = "DEBUG"

# Language identification library. Optional fastlid, langid
LANGUAGE_IDENTIFICATION_LIBRARY = "langid"

# To use the english_cleaner, you need to install espeak and provide the path of libespeak-ng.dll as input here.
# If ESPEAK_LIBRARY is set to empty, it will be read from the environment variable.
# For windows : "C:/Program Files/eSpeak NG/libespeak-ng.dll"
ESPEAK_LIBRARY = ""

# Fill in the model path here
MODEL_LIST = [
    # VITS
    [ABS_PATH + "/Model/genshin/G_953000.pth", ABS_PATH + "/Model/genshin/config.json"],
    [ABS_PATH + "/Model/Nene_Nanami_Rong_Tang/1374_epochs.pth", ABS_PATH + "/Model/Nene_Nanami_Rong_Tang/config.json"],
    [ABS_PATH + "/Model/vctk/pretrained_vctk.pth", ABS_PATH + "/Model/vctk/vctk_base.json"],
    [ABS_PATH + "/Model/paimon/paimon6k_390000.pth", ABS_PATH + "/Model/paimon/paimon6k.json"],
    [ABS_PATH + "/Model/vits_chinese/vits_bert_model.pth", ABS_PATH + "/Model/vits_chinese/bert_vits.json"],
    [ABS_PATH + "/Model/Bishojo_Mangekyo/generator_mangekyo.pth", ABS_PATH + "/Model/Bishojo_Mangekyo/config_mangekyo.json"],
    [ABS_PATH + "/Model/Cantonese/model.pth", ABS_PATH + "/Model/Cantonese/config.json"],
    [ABS_PATH + "/Model/shanghainese/2796_epochs.pth", ABS_PATH + "/Model/shanghainese/config.json"],
    
    # HuBert-VITS (Need to configure HUBERT_SOFT_MODEL)
    [ABS_PATH + "/Model/louise/360_epochs.pth", ABS_PATH + "/Model/louise/config.json"],
    # W2V2-VITS (Need to configure DIMENSIONAL_EMOTION_NPY)
    [ABS_PATH + "/Model/w2v2-vits/1026_epochs.pth", ABS_PATH + "/Model/w2v2-vits/config.json"],
    # bert-vits2
    [ABS_PATH + "/Model/bert-vits2/kh/kh.pth", ABS_PATH + "/Model/bert-vits2/kh/config.json"],
    [ABS_PATH + "/Model/bert-vits2/nailv_read/nailv_read_new.pth", ABS_PATH + "/Model/bert-vits2/nailv_read/config.json"],
    [ABS_PATH + "/Model/bert-vits2/xt_read/xt_read.pth", ABS_PATH + "/Model/bert-vits2/xt_read/config.json"],
    [ABS_PATH + "/Model/bert-vits2/xt_read/xt_read_1.pth", ABS_PATH + "/Model/bert-vits2/xt_read/config.json"],
    [ABS_PATH + "/Model/bert-vits2/xt_read/xt_read_new.pth", ABS_PATH + "/Model/bert-vits2/xt_read/config.json"],   
    [ABS_PATH + "/Model/bert-vits2/xingtong/1da.pth", ABS_PATH + "/Model/bert-vits2/xingtong/config.json"],
    [ABS_PATH + "/Model/bert-vits2/xingtong/2da.pth", ABS_PATH + "/Model/bert-vits2/xingtong/config.json"],
    [ABS_PATH + "/Model/bert-vits2/xingtong/2db.pth", ABS_PATH + "/Model/bert-vits2/xingtong/config.json"],
    [ABS_PATH + "/Model/bert-vits2/xingtong/2dc.pth", ABS_PATH + "/Model/bert-vits2/xingtong/config.json"],
    [ABS_PATH + "/Model/bert-vits2/xingtong/2dd.pth", ABS_PATH + "/Model/bert-vits2/xingtong/config.json"],
    [ABS_PATH + "/Model/bert-vits2/xingtong/3da.pth", ABS_PATH + "/Model/bert-vits2/xingtong/config.json"],
    [ABS_PATH + "/Model/bert-vits2/azuma/azuma.pth", ABS_PATH + "/Model/bert-vits2/azuma/config.json"],
    [ABS_PATH + "/Model/bert-vits2/luming/luming.pth", ABS_PATH + "/Model/bert-vits2/luming/config.json"],
    [ABS_PATH + "/Model/bert-vits2/jiaran/jiaran.pth", ABS_PATH + "/Model/bert-vits2/jiaran/config.json"],
    [ABS_PATH + "/Model/bert-vits2/kino/kino.pth", ABS_PATH + "/Model/bert-vits2/kino/config.json"],
    [ABS_PATH + "/Model/bert-vits2/nailin/nailin.pth", ABS_PATH + "/Model/bert-vits2/nailin/config.json"],
    [ABS_PATH + "/Model/bert-vits2/nanami/nanami.pth", ABS_PATH + "/Model/bert-vits2/nanami/config.json"], 
    [ABS_PATH + "/Model/bert-vits2/TF/G_1800.pth", ABS_PATH + "/Model/bert-vits2/TF/config.json"],
     
]

# hubert-vits: hubert soft model
HUBERT_SOFT_MODEL = ABS_PATH + "/Model/hubert-soft-0d54a1f4.pt"

# w2v2-vits: Dimensional emotion npy file
# load single npy: ABS_PATH+"/all_emotions.npy
# load mutiple npy: [ABS_PATH + "/emotions1.npy", ABS_PATH + "/emotions2.npy"]
# load mutiple npy from folder: ABS_PATH + "/Model/npy"
DIMENSIONAL_EMOTION_NPY = ABS_PATH + "/Model/npy"

# w2v2-vits: Need to have both `model.onnx` and `model.yaml` files in the same path.
# DIMENSIONAL_EMOTION_MODEL = ABS_PATH + "/Model/model.yaml"

DEVICE = torch.device("cuda" if torch.cuda.is_available() else "cpu")

"""
Default parameter
"""

ID = 0

FORMAT = "wav"

LANG = "AUTO"

LENGTH = 1

NOISE = 0.33

NOISEW = 0.4

# 长文本分段阈值,max<=0表示不分段.
# Batch processing threshold. Text will not be processed in batches if max<=0
MAX = 50

# Bert_VITS2
SDP_RATIO = 0.2