the-walking-fish commited on
Commit
5276198
ยท
verified ยท
1 Parent(s): 34a24ae

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -8
app.py CHANGED
@@ -9,11 +9,12 @@ import time
9
  import threading
10
 
11
  language_dict = tts_order_voice
 
12
 
13
  async def text_to_speech_edge(text, language_code):
14
  voice = language_dict[language_code]
15
  communicate = edge_tts.Communicate(text, voice)
16
- with tempfile.NamedTemporaryFile(delete=False, suffix=".mp3") as tmp_file:
17
  tmp_path = tmp_file.name
18
 
19
  await communicate.save(tmp_path)
@@ -25,12 +26,13 @@ def cleanup_temp_files(temp_dir, max_age_seconds=3600):
25
  while True:
26
  now = time.time()
27
  for filename in os.listdir(temp_dir):
28
- file_path = os.path.join(temp_dir, filename)
29
- if os.path.isfile(file_path):
30
- file_age = now - os.path.getmtime(file_path)
31
- if file_age > max_age_seconds:
32
- os.remove(file_path)
33
- print(f"ๅทฒๅˆช้™ค้ŽๆœŸ็š„่‡จๆ™‚ๆ–‡ไปถ: {file_path}")
 
34
  time.sleep(600) # ๆฏ้š”10ๅˆ†้˜ๆ™‚ๅŸท่กŒไธ€ๆฌกๆธ…็†
35
 
36
  # ๅ•Ÿๅ‹•ๆธ…็†่‡จๆ™‚ๆ–‡ไปถ็š„็ทš็จ‹
@@ -46,4 +48,4 @@ language = gr.Dropdown(choices=list(language_dict.keys()), value=default_languag
46
  interface = gr.Interface(fn=text_to_speech_edge, inputs=[input_text, language], outputs=[output_audio], title="Edge TTS ๆ–‡ๅญ—่ฝ‰่ชž้Ÿณ")
47
 
48
  if __name__ == "__main__":
49
- anyio.run(interface.launch, backend="asyncio")
 
9
  import threading
10
 
11
  language_dict = tts_order_voice
12
+ temp_file_prefix = "edge_tts_"
13
 
14
  async def text_to_speech_edge(text, language_code):
15
  voice = language_dict[language_code]
16
  communicate = edge_tts.Communicate(text, voice)
17
+ with tempfile.NamedTemporaryFile(delete=False, suffix=".mp3", prefix=temp_file_prefix) as tmp_file:
18
  tmp_path = tmp_file.name
19
 
20
  await communicate.save(tmp_path)
 
26
  while True:
27
  now = time.time()
28
  for filename in os.listdir(temp_dir):
29
+ if filename.startswith(temp_file_prefix): # ๅชๆธ…็†็‰นๅฎšๅ‰็ถด็š„ๆ–‡ไปถ
30
+ file_path = os.path.join(temp_dir, filename)
31
+ if os.path.isfile(file_path):
32
+ file_age = now - os.path.getmtime(file_path)
33
+ if file_age > max_age_seconds:
34
+ os.remove(file_path)
35
+ print(f"ๅทฒๅˆช้™ค้ŽๆœŸ็š„่‡จๆ™‚ๆ–‡ไปถ: {file_path}")
36
  time.sleep(600) # ๆฏ้š”10ๅˆ†้˜ๆ™‚ๅŸท่กŒไธ€ๆฌกๆธ…็†
37
 
38
  # ๅ•Ÿๅ‹•ๆธ…็†่‡จๆ™‚ๆ–‡ไปถ็š„็ทš็จ‹
 
48
  interface = gr.Interface(fn=text_to_speech_edge, inputs=[input_text, language], outputs=[output_audio], title="Edge TTS ๆ–‡ๅญ—่ฝ‰่ชž้Ÿณ")
49
 
50
  if __name__ == "__main__":
51
+ anyio.run(interface.launch, backend="asyncio")