czhaobt commited on
Commit
4cc910e
·
verified ·
1 Parent(s): d07a53f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -3
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
- os.remove(temp_file_path)
 
 
 
 
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}")