积极的屁孩 commited on
Commit
28f4e7c
·
1 Parent(s): 8fb2b84

fix espeak-ng

Browse files
Files changed (1) hide show
  1. app.py +26 -10
app.py CHANGED
@@ -12,21 +12,37 @@ import subprocess
12
  import re
13
 
14
  def install_espeak():
15
- """检测并安装espeak依赖"""
16
  try:
17
- # 检查espeak是否已安装
18
- result = subprocess.run(["which", "espeak"], capture_output=True, text=True)
19
  if result.returncode != 0:
20
- print("检测到系统中未安装espeak,正在尝试安装...")
21
- # 尝试使用apt-get安装espeak
22
  subprocess.run(["apt-get", "update"], check=True)
23
- subprocess.run(["apt-get", "install", "-y", "espeak"], check=True)
24
- print("espeak安装成功!")
 
25
  else:
26
- print("espeak已安装在系统中。")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  except Exception as e:
28
- print(f"安装espeak时出错: {e}")
29
- print("请尝试手动运行: apt-get update && apt-get install -y espeak")
30
 
31
  # 在所有其他操作之前安装espeak
32
  install_espeak()
 
12
  import re
13
 
14
  def install_espeak():
15
+ """检测并安装espeak-ng依赖"""
16
  try:
17
+ # 检查espeak-ng是否已安装
18
+ result = subprocess.run(["which", "espeak-ng"], capture_output=True, text=True)
19
  if result.returncode != 0:
20
+ print("检测到系统中未安装espeak-ng,正在尝试安装...")
21
+ # 尝试使用apt-get安装espeak-ng及其数据
22
  subprocess.run(["apt-get", "update"], check=True)
23
+ # 安装 espeak-ng 和对应的语言数据包
24
+ subprocess.run(["apt-get", "install", "-y", "espeak-ng", "espeak-ng-data"], check=True)
25
+ print("espeak-ng及其数据包安装成功!")
26
  else:
27
+ print("espeak-ng已安装在系统中。")
28
+ # 即使已安装,也尝试更新数据确保完整性 (可选,但有时有帮助)
29
+ # print("尝试更新 espeak-ng 数据...")
30
+ # subprocess.run(["apt-get", "update"], check=True)
31
+ # subprocess.run(["apt-get", "install", "--only-upgrade", "-y", "espeak-ng-data"], check=True)
32
+
33
+ # 验证中文支持 (可选)
34
+ try:
35
+ voices_result = subprocess.run(["espeak-ng", "--voices=cmn"], capture_output=True, text=True, check=True)
36
+ if "cmn" in voices_result.stdout:
37
+ print("espeak-ng 支持 'cmn' 语言。")
38
+ else:
39
+ print("警告:espeak-ng 安装了,但 'cmn' 语言似乎仍不可用。")
40
+ except Exception as e:
41
+ print(f"验证 espeak-ng 中文支持时出错(可能不影响功能): {e}")
42
+
43
  except Exception as e:
44
+ print(f"安装espeak-ng时出错: {e}")
45
+ print("请尝试手动运行: apt-get update && apt-get install -y espeak-ng espeak-ng-data")
46
 
47
  # 在所有其他操作之前安装espeak
48
  install_espeak()