Spaces:
Sleeping
Sleeping
import gradio as gr | |
from transformers import pipeline | |
from gtts import gTTS | |
from pydub import AudioSegment | |
from summarizer import summarize_file | |
#text to sppech function | |
def text_to_speech(text): | |
# Convert text to speech with a US accent using gTTS | |
tts = gTTS(text=text, lang='en', tld='us', slow=False) | |
tts.save('temp.mp3') | |
# Load the audio file | |
audio = AudioSegment.from_file('temp.mp3') | |
# Adjust the speed to approximately 170 wpm | |
playback_speed = 1.20 | |
audio = audio.speedup(playback_speed=playback_speed) | |
# Save and return the adjusted audio file | |
final_filename = 'text_to_speech.mp3' | |
audio.export(final_filename, format='mp3') | |
return final_filename | |
def process_files(): | |
return (gr.update(interactive=True, | |
elem_id='summary_button'), | |
gr.update(interactive = True, elem_id = 'summarization_method') | |
) | |
def get_summarization_method(option): | |
return option | |
def text_to_audio(text, model_name="facebook/fastspeech2-en-ljspeech"): | |
# Initialize the TTS pipeline | |
tts_pipeline = pipeline("text-to-speech", model=model_name) | |
# Generate the audio from text | |
audio = tts_pipeline(text) | |
# Save the audio to a file | |
audio_path = "output.wav" | |
with open(audio_path, "wb") as file: | |
file.write(audio["wav"]) | |
return audio_path | |
def generate_output(method, file): | |
summary_text = summarize_file(method, file) | |
audio_summary = text_to_speech(summary_text) | |
return summary_text, audio_summary |