kseth9852 commited on
Commit
0b5729b
·
verified ·
1 Parent(s): 56409ec
Files changed (1) hide show
  1. app.py +9 -17
app.py CHANGED
@@ -1,7 +1,7 @@
1
  import streamlit as st
2
  import fitz # PyMuPDF
3
  from transformers import pipeline
4
- import pyttsx3
5
  import tempfile
6
  import os
7
 
@@ -25,16 +25,6 @@ def extract_text(file):
25
  def load_explainer():
26
  return pipeline("text2text-generation", model="google/flan-t5-large")
27
 
28
- # Text-to-speech function
29
- def speak_text(text):
30
- engine = pyttsx3.init()
31
- engine.setProperty('rate', 150)
32
- with tempfile.NamedTemporaryFile(delete=False, suffix=".mp3") as f:
33
- filename = f.name
34
- engine.save_to_file(text, filename)
35
- engine.runAndWait()
36
- return filename
37
-
38
  # Main logic
39
  if uploaded_file:
40
  text_data = extract_text(uploaded_file)
@@ -70,12 +60,14 @@ if uploaded_file:
70
  st.success("Explanation:")
71
  st.write(response)
72
 
73
- # Play text as speech
74
- if st.button("🎧 Listen to Explanation"):
75
- audio_file = speak_text(response)
76
- audio_bytes = open(audio_file, 'rb').read()
77
- st.audio(audio_bytes, format='audio/mp3')
78
- os.remove(audio_file)
 
 
79
 
80
  else:
81
  st.info("Upload a PDF Health Report to begin.")
 
1
  import streamlit as st
2
  import fitz # PyMuPDF
3
  from transformers import pipeline
4
+ from gtts import gTTS
5
  import tempfile
6
  import os
7
 
 
25
  def load_explainer():
26
  return pipeline("text2text-generation", model="google/flan-t5-large")
27
 
 
 
 
 
 
 
 
 
 
 
28
  # Main logic
29
  if uploaded_file:
30
  text_data = extract_text(uploaded_file)
 
60
  st.success("Explanation:")
61
  st.write(response)
62
 
63
+ # Text-to-speech using gTTS
64
+ tts = gTTS(text=response)
65
+ temp_audio = tempfile.NamedTemporaryFile(delete=False, suffix=".mp3")
66
+ tts.save(temp_audio.name)
67
+
68
+ audio_file = open(temp_audio.name, 'rb')
69
+ audio_bytes = audio_file.read()
70
+ st.audio(audio_bytes, format='audio/mp3')
71
 
72
  else:
73
  st.info("Upload a PDF Health Report to begin.")