liumaolin commited on
Commit
9845a3d
·
1 Parent(s): f622112

feat(api/tts-voice-app): add Cantonese (yue) support and improve language-specific defaults

Browse files

- Extend `language` schema with `yue` option (Cantonese)
- Update default target texts for supported languages
- Dynamically select target text based on task language in `TaskService`
- Add Cantonese to language dropdown in CreateTaskDialog component

api_server/app/models/schemas/task.py CHANGED
@@ -74,9 +74,9 @@ class QuickModeOptions(BaseModel):
74
  default="v2",
75
  description="模型版本"
76
  )
77
- language: str = Field(
78
  default="zh",
79
- description="训练语言,如 'zh', 'en', 'ja' 等"
80
  )
81
  quality: Literal["fast", "standard", "high"] = Field(
82
  default="standard",
 
74
  default="v2",
75
  description="模型版本"
76
  )
77
+ language: Literal["zh", "en", "ja", "ko", "yue"] = Field(
78
  default="zh",
79
+ description="训练语言zh(中文)、en(英语)、ja(日语)、ko(韩语)、yue(粤语)"
80
  )
81
  quality: Literal["fast", "standard", "high"] = Field(
82
  default="standard",
api_server/app/services/task_service.py CHANGED
@@ -40,6 +40,15 @@ QUALITY_PRESETS = {
40
  },
41
  }
42
 
 
 
 
 
 
 
 
 
 
43
 
44
  class TaskService:
45
  """
@@ -197,7 +206,9 @@ class TaskService:
197
  # 使用默认值 - 空字符串表示由推理阶段从 asr_opt/slicer_opt.list 文件解析
198
  config["ref_text"] = ""
199
  config["ref_audio_path"] = ""
200
- config["target_text"] = "这是一段测试音合成的文本。"
 
 
201
 
202
  # 创建 Task 领域模型
203
  task = Task(
 
40
  },
41
  }
42
 
43
+ # 各语言的默认推理测试文本
44
+ DEFAULT_TARGET_TEXTS = {
45
+ "zh": "这是一段测试语音合成的文本。请你用自然、清晰、不过度夸张的语气朗读,并在逗号和句号处做适当停顿:先慢一点,再稍微快一点,最后恢复正常语速。",
46
+ "en": "This is a test text for speech synthesis. Please read it naturally and clearly, without exaggeration, pausing appropriately at commas and periods: start slowly, then speed up a bit, and finally return to normal pace.",
47
+ "ja": "これは音声合成のテストテキストです。自然で明瞭に、大げさにならないように朗読してください。読点と句点で適切に間を置いて:最初はゆっくり、少し速く、最後は普通の速さに戻してください。",
48
+ "ko": "이것은 음성 합성을 위한 테스트 텍스트입니다. 자연스럽고 명확하게, 과장하지 않고 읽어주세요. 쉼표와 마침표에서 적절히 멈추며: 먼저 천천히, 그 다음 조금 빠르게, 마지막으로 보통 속도로 돌아오세요.",
49
+ "yue": "呢段係測試語音合成嘅文字。請你用自然、清楚、唔好太誇張嘅語氣讀出嚟,喺逗號同句號嗰度要適當噉停一停:開頭慢啲,跟住快少少,最後返返正常語速。",
50
+ }
51
+
52
 
53
  class TaskService:
54
  """
 
206
  # 使用默认值 - 空字符串表示由推理阶段从 asr_opt/slicer_opt.list 文件解析
207
  config["ref_text"] = ""
208
  config["ref_audio_path"] = ""
209
+ # 根据言选择默认测试文本
210
+ language = request.options.language
211
+ config["target_text"] = DEFAULT_TARGET_TEXTS.get(language, DEFAULT_TARGET_TEXTS["zh"])
212
 
213
  # 创建 Task 领域模型
214
  task = Task(
tts-voice-app/src/renderer/src/components/training/CreateTaskDialog.vue CHANGED
@@ -36,6 +36,7 @@ const uploadFailed = ref(false)
36
  // 语言选项
37
  const languageOptions = [
38
  { label: '中文', value: 'zh' },
 
39
  { label: 'English', value: 'en' },
40
  { label: '日本語', value: 'ja' },
41
  { label: '한국어', value: 'ko' }
 
36
  // 语言选项
37
  const languageOptions = [
38
  { label: '中文', value: 'zh' },
39
+ { label: '粤语', value: 'yue' },
40
  { label: 'English', value: 'en' },
41
  { label: '日本語', value: 'ja' },
42
  { label: '한국어', value: 'ko' }