Spaces:
Running
Running
Update app.py
Browse files
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 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
|
|
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")
|