File size: 6,428 Bytes
106478e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
"""
Configuration settings for F5-TTS Thai WebUI
"""

# Model configurations
DEFAULT_MODEL_BASE = "hf://VIZINTZOR/F5-TTS-THAI/model_1000000.pt"
FP16_MODEL_BASE = "hf://VIZINTZOR/F5-TTS-THAI/model_650000_FP16.pt"
VOCAB_BASE = "./vocab/vocab.txt"
VOCAB_HF = "hf://VIZINTZOR/F5-TTS-THAI/vocab.txt"

MODEL_CHOICES = ["Default", "FP16", "Custom"]

# F5TTS model configuration
F5TTS_MODEL_CFG = {
    "dim": 1024,
    "depth": 22,
    "heads": 16,
    "ff_mult": 2,
    "text_dim": 512,
    "conv_layers": 4
}

# Audio settings
TARGET_SAMPLE_RATE = 24000
HOP_LENGTH = 256

# UI settings
MAX_SPEECH_TYPES = 100
MAX_SEGMENTS = 20

# Default TTS settings
DEFAULT_TTS_SETTINGS = {
    "remove_silence": True,
    "cross_fade_duration": 0.15,
    "nfe_step": 32,
    "speed": 1.0,
    "cfg_strength": 2.0,
    "max_chars": 250,
    "seed": -1,
    "no_ref_audio": False
}

# Whisper model settings
WHISPER_MODELS = ['base', 'small', 'medium', 'large-v2', 'large-v3', 'large-v3-turbo']
WHISPER_COMPUTE_TYPES = ["float32", "float16", "int8_float16", "int8"]
WHISPER_LANGUAGES = {
    "source": ["Auto", 'th', "en"],
    "target": ['th', "en"]
}

# Example configurations
EXAMPLES = [
    [
        "./src/f5_tts/infer/examples/thai_examples/ref_gen_1.wav",
        "ได้รับข่าวคราวของเราที่จะหาที่มันเป็นไปที่จะจัดขึ้น.",
        "พรุ่งนี้มีประชุมสำคัญ อย่าลืมเตรียมเอกสารให้เรียบร้อย"
    ],
    [
        "./src/f5_tts/infer/examples/thai_examples/ref_gen_2.wav",
        "ฉันเดินทางไปเที่ยวที่จังหวัดเชียงใหม่ในช่วงฤดูหนาวเพื่อสัมผัสอากาศเย็นสบาย.",
        "ฉันชอบฟังเพลงขณะขับรถ เพราะช่วยให้รู้สึกผ่อนคลาย"
    ],
    [
        "./src/f5_tts/infer/examples/thai_examples/ref_gen_3.wav",
        "กู้ดอาฟเต้อนูนไนท์ทูมีทยู.",
        "วันนี้อากาศดีมาก เหมาะกับการไปเดินเล่นที่สวนสาธารณะ"
    ],
    [
        "./src/f5_tts/infer/examples/thai_examples/ref_gen_4.wav",
        "เราอยากจะตื่นขึ้นมามั้ยคะ.",
        "เมื่อวานฉันไปเดินเล่นที่ชายหาด เสียงคลื่นซัดฝั่งเป็นจังหวะที่ชวนให้ใจสงบ."
    ]
]

TIPS_TEXT = """
- สามารถตั้งค่า "ตัวอักษรสูงสุดต่อส่วน" หรือ max_chars เพื่อลดความผิดพลาดการอ่าน แต่ความเร็วในการสร้างจะช้าลง สามารถปรับลด NFE Step เพื่อเพิ่มความเร็วได้
ปรับ NFE Step เหลือ 7 สามารถเพิ่มความเร็วการในการสร้างได้มาก แต่เสียงที่ได้พอฟังได้.
- อย่าลืมเว้นวรรคประโยคเพื่อให้สามารถแบ่งส่วนในการสร้างได้.
- สำหรับ ref_text หรือ ข้อความตันฉบับ แนะนำให้ใช้เป็นภาษาไทยหรือคำอ่านภาษาไทยสำหรับเสียงภาษาอื่น เพื่อให้การอ่านภาษาไทยดีขึ้น เช่น Good Morning > กู้ดมอร์นิ่ง.
- สำหรับเสียงต้นแบบ ควรใช้ความยาวไม่เกิน 10 วินาที ถ้าเป็นไปได้ห้ามมีเสียงรบกวน.
- สามารถปรับลดความเร็วให้ช้าลง ถ้าเสียงต้นฉบับมีความยาวไม่มาก เช่น 2-5 วินาที
- การอ่านข้อความยาวๆ หรือบางคำ ยังไม่ถูกต้อง สามารถปรับลดความเร็วเพื่อให้การอ่านถูกต้องได้ เช่น ถ้าเสียงต้นฉบับมีความยาว 1-3 วินาที อาจจะต้องประความเร็วเหลือ 0.8-0.9.
- โมเดลตอนนี้ยังเน้นการอ่านภาษาไทยเป็นหลัก การอ่านภาษาไทยผสมกับภาษาอังกฤษยังต้องปรับปรุง.
"""

MULTISPEECH_EXAMPLE_TEXT = """
**ตัวอย่าง:**                                                                      
{ปกติ} สวัสดีครับ มีอะไรให้ผมช่วยไหมครับ    
{เศร้า} ผมเครียดจริงๆ นะตอนนี้...      
{โกรธ} รู้ไหม! เธอไม่ควรอยู่ที่นี่!       
{กระซิบ} ฉันมีอะไรจะบอกคุณ แต่มันเป็นความลับนะ.   
"""

MULTISPEECH_PLACEHOLDER = """ป้อนสคริปต์โดยใส่ชื่อผู้พูด (หรือลักษณะอารมณ์) ไว้ที่ต้นแต่ละบล็อก ตัวอย่างเช่น:
{ปกติ} สวัสดีครับ มีอะไรให้ผมช่วยไหมครับ
{เศร้า} ผมเครียดจริงๆ นะตอนนี้...
{โกรธ} รู้ไหม! เธอไม่ควรอยู่ที่นี่!
{กระซิบ} ฉันมีอะไรจะบอกคุณ แต่มันเป็นความลับนะ."""