Update app.py
Browse files
app.py
CHANGED
@@ -1,5 +1,7 @@
|
|
1 |
import streamlit as st
|
2 |
import importlib.util
|
|
|
|
|
3 |
try:
|
4 |
# 检查 accelerate 库是否安装
|
5 |
spec = importlib.util.find_spec("accelerate")
|
@@ -29,7 +31,6 @@ def img2text(url):
|
|
29 |
# text2story
|
30 |
def text2story(text):
|
31 |
try:
|
32 |
-
|
33 |
story_generator = pipeline("text-generation", model="perplexity-ai/r1-1776", trust_remote_code=True)
|
34 |
story = story_generator(text, max_length=200, num_return_sequences=1)[0]['generated_text']
|
35 |
return story
|
@@ -40,6 +41,15 @@ def text2story(text):
|
|
40 |
# text2audio
|
41 |
def text2audio(story_text):
|
42 |
try:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
tts = gTTS(text=story_text, lang='en')
|
44 |
audio_file = io.BytesIO()
|
45 |
tts.write_to_fp(audio_file)
|
@@ -86,5 +96,8 @@ if uploaded_file is not None:
|
|
86 |
format="audio/mpeg",
|
87 |
start_time=0)
|
88 |
|
89 |
-
#
|
90 |
-
|
|
|
|
|
|
|
|
1 |
import streamlit as st
|
2 |
import importlib.util
|
3 |
+
import langdetect
|
4 |
+
|
5 |
try:
|
6 |
# 检查 accelerate 库是否安装
|
7 |
spec = importlib.util.find_spec("accelerate")
|
|
|
31 |
# text2story
|
32 |
def text2story(text):
|
33 |
try:
|
|
|
34 |
story_generator = pipeline("text-generation", model="perplexity-ai/r1-1776", trust_remote_code=True)
|
35 |
story = story_generator(text, max_length=200, num_return_sequences=1)[0]['generated_text']
|
36 |
return story
|
|
|
41 |
# text2audio
|
42 |
def text2audio(story_text):
|
43 |
try:
|
44 |
+
# 检测故事的语言
|
45 |
+
detected_lang = langdetect.detect(story_text)
|
46 |
+
tts = gTTS(text=story_text, lang=detected_lang)
|
47 |
+
audio_file = io.BytesIO()
|
48 |
+
tts.write_to_fp(audio_file)
|
49 |
+
audio_file.seek(0)
|
50 |
+
return audio_file
|
51 |
+
except langdetect.LangDetectException:
|
52 |
+
st.error("无法检测故事的语言,默认使用英语进行语音合成。")
|
53 |
tts = gTTS(text=story_text, lang='en')
|
54 |
audio_file = io.BytesIO()
|
55 |
tts.write_to_fp(audio_file)
|
|
|
96 |
format="audio/mpeg",
|
97 |
start_time=0)
|
98 |
|
99 |
+
# 删除临时文件并进行异常处理
|
100 |
+
try:
|
101 |
+
os.remove(temp_file_path)
|
102 |
+
except Exception as e:
|
103 |
+
st.error(f"删除临时文件时出错: {e}")
|