SuMmeet / app_v2.py
AdWeeb's picture
create app_v2.py
6b62afb
raw
history blame
No virus
2.75 kB
# -*- coding: utf-8 -*-
"""
Created on Mon Mar 28 01:04:50 2022
@author: adeep
"""
from fnmatch import translate
import cv2 as cv
import tempfile
import numpy as np
import pandas as pd
import streamlit as st
import joblib
import os
from moviepy.editor import VideoFileClip
import speech_recognition as sr
from pydub import AudioSegment
from pydub.silence import split_on_silence
import transformers
from transformers import pipeline
import nltk
nltk.download('punkt')
nltk.download('averaged_perceptron_tagger')
import nltk
nltk.download('punkt')
nltk.download('averaged_perceptron_tagger')
from nltk.tokenize import sent_tokenize
import re
from utils import get_translation, welcome, get_large_audio_transcription
from PIL import Image
def main():
st.title("Summarize Text")
video = st.file_uploader("Choose a file", type=['mp4'])
button = st.button("Summarize")
max = st.sidebar.slider('Select max', 50, 500, step=10, value=150)
min = st.sidebar.slider('Select min', 10, 450, step=10, value=50)
with st.spinner("Generating Summary.."):
if button and video:
tfile = tempfile.NamedTemporaryFile(delete=False)
tfile.write(video.read())
#st.write(tfile.name)
v = VideoFileClip(tfile.name)
v.audio.write_audiofile("movie.wav")
#st.video(video, format="video/mp4", start_time=0)
st.audio("movie.wav")
whole_text=get_large_audio_transcription("movie.wav")
#st.write(whole_text)
#summarizer = pipeline("summarization")
summarizer = pipeline("summarization", model="t5-base", tokenizer="t5-base", framework="pt")
summarized = summarizer(whole_text, min_length=75, max_length=400)
summ=summarized[0]['summary_text']
st.write(summ)
if 'summary' not in st.session_state:
st.session_state.summary=True
st.session_state.summarization = summ
translate = st.sidebar.radio('Do you want to translate the text to any different language?', ('No', 'Yes'))
if translate == 'Yes':
lang_list = ['Hindi', 'Marathi', 'Malayalam', 'Kannada', 'Telugu', 'Tamil', 'Oriya', 'Bengali', 'Gujarati', 'Urdu']
s_type = st.sidebar.selectbox('Select the Language in which you want to Translate:',lang_list)
st.sidebar.write('You selected:', s_type)
if 'summary' in st.session_state:
summarized_text = st.session_state.summarization
st.write(summarized_text)
translation = get_translation(source='English', dest=s_type, text=summarized_text)
st.sidebar.write(translation)
if __name__ == '__main__':
main()