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 |