lenML/ChatTTS-Forge
301
1from modules.utils.CsvMgr import BaseManager2 3# speakers_mgr = BaseManager("./data/speakers.csv")4styles_mgr = BaseManager("./data/styles.csv")5 6if __name__ == "__main__":7 # builtin style8 styles = {9 "advertisement_upbeat": {10 "speed": 9,11 "oral": 7,12 "laugh": 2,13 "break": 1,14 "prefix": "兴奋的语气推广产品。",15 },16 "affectionate": {17 "speed": 6,18 "oral": 8,19 "laugh": 1,20 "break": 2,21 "prefix": "温暖亲切的语气。",22 },23 "angry": {24 "speed": 7,25 "oral": 5,26 "break": 3,27 "prefix": "生气厌恶的语气。",28 },29 "assistant": {30 "speed": 5,31 "oral": 7,32 "laugh": 1,33 "break": 2,34 "prefix": "热情轻松的语气。",35 },36 "calm": {37 "speed": 0,38 "oral": 4,39 "break": 4,40 "prefix": "沉着冷静的语气。",41 },42 "chat": {43 "speed": 6,44 "oral": 9,45 "laugh": 1,46 "break": 2,47 "prefix": "轻松随意的语气。",48 },49 "cheerful": {50 "speed": 7,51 "oral": 8,52 "laugh": 2,53 "break": 2,54 "prefix": "积极愉快的语气。",55 },56 "customerservice": {57 "speed": 5,58 "oral": 6,59 "laugh": 1,60 "break": 5,61 "prefix": "友好热情的语气。",62 },63 "depressed": {64 "speed": 2,65 "oral": 3,66 "break": 5,67 "prefix": "忧郁沮丧的语气。",68 },69 "disgruntled": {70 "speed": 4,71 "oral": 5,72 "break": 4,73 "prefix": "轻蔑抱怨的语气。",74 },75 "documentary-narration": {76 "speed": 4,77 "oral": 4,78 "break": 3,79 "prefix": "轻松且信息丰富的语气。",80 },81 "embarrassed": {82 "speed": 3,83 "oral": 3,84 "break": 5,85 "prefix": "不确定犹豫的语气。",86 },87 "empathetic": {88 "speed": 5,89 "oral": 6,90 "laugh": 1,91 "break": 3,92 "prefix": "关心理解的语气。",93 },94 "envious": {95 "speed": 5,96 "oral": 5,97 "laugh": 1,98 "break": 2,99 "prefix": "钦佩的语气。",100 },101 "excited": {102 "speed": 8,103 "oral": 7,104 "laugh": 2,105 "break": 1,106 "prefix": "乐观充满希望的语气。",107 },108 "fearful": {109 "speed": 9,110 "oral": 6,111 "break": 2,112 "prefix": "恐惧紧张的语气。",113 },114 "friendly": {115 "speed": 6,116 "oral": 7,117 "laugh": 1,118 "break": 2,119 "prefix": "愉快温暖的语气。",120 },121 "gentle": {122 "speed": 4,123 "oral": 5,124 "laugh": 1,125 "break": 3,126 "prefix": "温和礼貌的语气。",127 },128 "hopeful": {129 "speed": 5,130 "oral": 6,131 "laugh": 1,132 "break": 4,133 "prefix": "温暖渴望的语气。",134 },135 "lyrical": {136 "speed": 3,137 "oral": 4,138 "break": 4,139 "prefix": "优美感伤的语气。",140 },141 "narration-professional": {142 "speed": 5,143 "oral": 3,144 "break": 3,145 "prefix": "专业客观的语气。",146 },147 "narration-relaxed": {148 "speed": 2,149 "oral": 4,150 "break": 3,151 "prefix": "舒缓悦耳的语气。",152 },153 "newscast": {154 "speed": 6,155 "oral": 4,156 "break": 2,157 "prefix": "正式专业的语气。",158 },159 "newscast-casual": {160 "speed": 5,161 "oral": 5,162 "break": 2,163 "prefix": "随意的新闻语气。",164 },165 "newscast-formal": {166 "speed": 6,167 "oral": 3,168 "break": 2,169 "prefix": "正式权威的语气。",170 },171 "poetry-reading": {172 "speed": 4,173 "oral": 5,174 "break": 3,175 "prefix": "带情感和节奏的语气。",176 },177 "sad": {178 "speed": 0,179 "oral": 3,180 "break": 5,181 "prefix": "悲伤的语气。",182 },183 "serious": {184 "speed": 5,185 "oral": 3,186 "break": 4,187 "prefix": "严肃命令的语气。",188 },189 "shouting": {190 "speed": 7,191 "oral": 6,192 "break": 1,193 "prefix": "努力让别人听清楚的语气。",194 },195 "sports_commentary": {196 "speed": 8,197 "oral": 7,198 "laugh": 1,199 "break": 2,200 "prefix": "轻松感兴趣的体育播报语气。",201 },202 "sports_commentary_excited": {203 "speed": 9,204 "oral": 8,205 "laugh": 2,206 "break": 1,207 "prefix": "快速充满活力的体育播报语气。",208 },209 "whispering": {210 "speed": 2,211 "oral": 3,212 "break": 4,213 "prefix": "柔和的语气。",214 },215 "terrified": {216 "speed": 9,217 "oral": 7,218 "break": 1,219 "prefix": "害怕的语气。",220 },221 "unfriendly": {222 "speed": 4,223 "oral": 2,224 "break": 3,225 "prefix": "冷淡无情的语气。",226 },227 }228 styles_en = {229 "advertisement_upbeat": {230 "speed": 9,231 "oral": 7,232 "laugh": 2,233 "break": 1,234 "prefix": "Promote products or services with an excited and energetic tone.",235 },236 "affectionate": {237 "speed": 6,238 "oral": 8,239 "laugh": 1,240 "break": 2,241 "prefix": "Express a warm and affectionate tone with a higher pitch and volume. The speaker is in a state of capturing the listener's attention and is often likeable.",242 },243 "angry": {244 "speed": 7,245 "oral": 5,246 "break": 3,247 "prefix": "Express an angry and disgusted tone.",248 },249 "assistant": {250 "speed": 5,251 "oral": 7,252 "laugh": 1,253 "break": 2,254 "prefix": "Digital assistant uses an enthusiastic and relaxed tone.",255 },256 "calm": {257 "speed": 0,258 "oral": 4,259 "break": 4,260 "prefix": "Speak with a calm and composed attitude. The tone, pitch, and rhythm are much more consistent compared to other speech types.",261 },262 "chat": {263 "speed": 6,264 "oral": 9,265 "laugh": 1,266 "break": 2,267 "prefix": "Express a relaxed and casual tone.",268 },269 "cheerful": {270 "speed": 7,271 "oral": 8,272 "laugh": 2,273 "break": 2,274 "prefix": "Express a positive and cheerful tone.",275 },276 "customerservice": {277 "speed": 5,278 "oral": 6,279 "laugh": 1,280 "break": 5,281 "prefix": "Provide support to customers with a friendly and enthusiastic tone.",282 },283 "depressed": {284 "speed": 2,285 "oral": 3,286 "break": 5,287 "prefix": "Express a depressed and downcast tone with lower pitch and volume.",288 },289 "disgruntled": {290 "speed": 4,291 "oral": 5,292 "break": 4,293 "prefix": "Express a tone of contempt and complaint. This emotional voice exhibits displeasure and disdain.",294 },295 "documentary-narration": {296 "speed": 4,297 "oral": 4,298 "break": 3,299 "prefix": "Narrate documentaries in a relaxed, interested, and informative style, suitable for documentary voiceovers, expert commentary, and similar content.",300 },301 "embarrassed": {302 "speed": 3,303 "oral": 3,304 "break": 5,305 "prefix": "Express an uncertain, hesitant tone when the speaker feels uncomfortable.",306 },307 "empathetic": {308 "speed": 5,309 "oral": 6,310 "laugh": 1,311 "break": 3,312 "prefix": "Express care and understanding.",313 },314 "envious": {315 "speed": 5,316 "oral": 5,317 "laugh": 1,318 "break": 2,319 "prefix": "Express an admiring tone when you desire something others have.",320 },321 "excited": {322 "speed": 8,323 "oral": 7,324 "laugh": 2,325 "break": 1,326 "prefix": "Express an optimistic and hopeful tone. It seems something wonderful has happened, and the speaker is pleased.",327 },328 "fearful": {329 "speed": 9,330 "oral": 6,331 "break": 2,332 "prefix": "Express a fearful and anxious tone with a higher pitch, higher volume, and faster speech rate. The speaker is in a state of tension and unease.",333 },334 "friendly": {335 "speed": 6,336 "oral": 7,337 "laugh": 1,338 "break": 2,339 "prefix": "Express a pleasant, delightful, and warm tone. It sounds sincere and full of concern.",340 },341 "gentle": {342 "speed": 4,343 "oral": 5,344 "laugh": 1,345 "break": 3,346 "prefix": "Express a gentle, polite, and pleasant tone with a lower pitch and volume.",347 },348 "hopeful": {349 "speed": 5,350 "oral": 6,351 "laugh": 1,352 "break": 4,353 "prefix": "Express a warm and desirous tone. It sounds like something good is going to happen to the speaker.",354 },355 "lyrical": {356 "speed": 3,357 "oral": 4,358 "break": 4,359 "prefix": "Express emotions in a beautiful and sentimental way.",360 },361 "narration-professional": {362 "speed": 5,363 "oral": 3,364 "break": 3,365 "prefix": "Read content in a professional and objective tone.",366 },367 "narration-relaxed": {368 "speed": 2,369 "oral": 4,370 "break": 3,371 "prefix": "Express a soothing and pleasant tone when reading content.",372 },373 "newscast": {374 "speed": 6,375 "oral": 4,376 "break": 2,377 "prefix": "Narrate news in a formal and professional tone.",378 },379 "newscast-casual": {380 "speed": 5,381 "oral": 5,382 "break": 2,383 "prefix": "Deliver general news in a generic and casual tone.",384 },385 "newscast-formal": {386 "speed": 6,387 "oral": 3,388 "break": 2,389 "prefix": "Deliver news in a formal, confident, and authoritative tone.",390 },391 "poetry-reading": {392 "speed": 4,393 "oral": 5,394 "break": 3,395 "prefix": "Express an emotional and rhythmic tone when reading poetry.",396 },397 "sad": {"speed": 0, "oral": 3, "break": 5, "prefix": "Express a sad tone."},398 "serious": {399 "speed": 5,400 "oral": 3,401 "break": 4,402 "prefix": "Express a serious and commanding tone. The speaker's voice is usually stiff, and the pace is not as relaxed.",403 },404 "shouting": {405 "speed": 7,406 "oral": 6,407 "break": 1,408 "prefix": "Express a tone that sounds like the voice is far away or in another place, trying hard to be heard clearly.",409 },410 "sports_commentary": {411 "speed": 8,412 "oral": 7,413 "laugh": 1,414 "break": 2,415 "prefix": "Express a relaxed yet interested tone, used for sports commentary.",416 },417 "sports_commentary_excited": {418 "speed": 9,419 "oral": 8,420 "laugh": 2,421 "break": 1,422 "prefix": "Commentate on exciting moments in sports with a fast and energetic tone.",423 },424 "whispering": {425 "speed": 2,426 "oral": 3,427 "break": 4,428 "prefix": "Express a soft tone, trying to make a quiet and gentle sound.",429 },430 "terrified": {431 "speed": 9,432 "oral": 7,433 "break": 1,434 "prefix": "Express a terrified tone, with fast speech and trembling voice. It sounds like the speaker is in an unstable, frantic state.",435 },436 "unfriendly": {437 "speed": 4,438 "oral": 2,439 "break": 3,440 "prefix": "Express a cold and unfeeling tone.",441 },442 }443 id = 0444 for k, v in styles.items():445 v.pop("prefix")446 styles_mgr.add_item(id, k, f"builtin style {k}", v)447 id += 1448 # for k, v in styles_en.items():449 450 # styles_mgr.add_item(id, f"en_{k}", f"builtin style {k}", v)451 # id += 1452 