Inial commited on
Commit
b0c9535
·
verified ·
1 Parent(s): 520f301

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -24
app.py CHANGED
@@ -3,28 +3,26 @@ from transformers import pipeline
3
  from huggingface_hub import list_models
4
  import langcodes
5
 
6
- # Tải danh sách mô hình MMS-TTS
 
7
  lang_map = {}
8
 
9
- def load_languages():
10
- global lang_map
11
- all_models = list_models(filter="facebook/mms-tts", full=True)
12
- for model in all_models:
13
- repo = model.modelId # ví dụ: facebook/mms-tts-kaz
14
- code = repo.split("-")[-1]
15
- try:
16
- name = langcodes.Language.make(language=code).display_name().title()
17
- except:
18
- name = code.upper()
19
- lang_map[name.lower()] = code # key là tên thường để dễ so sánh
20
-
21
- load_languages()
22
-
23
- def tts_fn(text, language_name):
24
- lang_key = language_name.strip().lower()
25
- code = lang_map.get(lang_key)
26
  if not code:
27
- return f"❌ Unsupported language name: '{language_name}'", None
28
  model_id = f"facebook/mms-tts-{code}"
29
  try:
30
  tts = pipeline("text-to-speech", model=model_id)
@@ -34,15 +32,12 @@ def tts_fn(text, language_name):
34
  return f"❌ Error: {str(e)}", None
35
 
36
  with gr.Blocks() as demo:
37
- gr.Markdown("# 🌐 MMS-TTS: 1100+ Languages Type Language Name")
38
-
39
  with gr.Row():
40
- language = gr.Textbox(label="Language name", placeholder="e.g., Kazakh, Bashkir, French...")
41
  text = gr.Textbox(label="Enter your text", placeholder="Type something here...")
42
-
43
  with gr.Row():
44
  btn = gr.Button("Speak")
45
-
46
  with gr.Row():
47
  out_text = gr.Textbox(label="Info")
48
  out_audio = gr.Audio(label="Audio", type="filepath")
 
3
  from huggingface_hub import list_models
4
  import langcodes
5
 
6
+ # Tự động lấy danh sách tất cả mô hình MMS-TTS
7
+ all_models = list_models(filter="facebook/mms-tts", full=True)
8
  lang_map = {}
9
 
10
+ # Tạo bản đồ tên ngôn ngữ (title case) → mã ISO
11
+ for model in all_models:
12
+ repo = model.modelId # ví dụ: facebook/mms-tts-kaz
13
+ code = repo.split("-")[-1]
14
+ try:
15
+ name = langcodes.Language.make(language=code).display_name().title()
16
+ except:
17
+ name = code.upper()
18
+ lang_map[name.title()] = code # Đảm bảo lưu tên ở dạng Title Case
19
+
20
+ def tts_fn(text, language):
21
+ # Normalize input language: bỏ khoảng trắng, viết lại dạng Title Case
22
+ language_clean = language.strip().title()
23
+ code = lang_map.get(language_clean)
 
 
 
24
  if not code:
25
+ return f"❌ Unsupported language name: '{language}'", None
26
  model_id = f"facebook/mms-tts-{code}"
27
  try:
28
  tts = pipeline("text-to-speech", model=model_id)
 
32
  return f"❌ Error: {str(e)}", None
33
 
34
  with gr.Blocks() as demo:
35
+ gr.Markdown("# 🌐 MMS-TTS: 1100+ Languages (No ISO Code Needed)")
 
36
  with gr.Row():
37
+ language = gr.Textbox(label="Enter language name (e.g., Meadow Mari)")
38
  text = gr.Textbox(label="Enter your text", placeholder="Type something here...")
 
39
  with gr.Row():
40
  btn = gr.Button("Speak")
 
41
  with gr.Row():
42
  out_text = gr.Textbox(label="Info")
43
  out_audio = gr.Audio(label="Audio", type="filepath")