Spaces:
Runtime error
Runtime error
File size: 7,309 Bytes
4c5f074 736353f 4c5f074 736353f 3a6087c 4c5f074 3a6087c 4c5f074 3a6087c 4c5f074 3a6087c 4c5f074 736353f 3a6087c 4c5f074 3a6087c 4c5f074 3a6087c 4c5f074 3a6087c 4c5f074 3a6087c 736353f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
import os
import gradio as gr
import transformers
transformers.utils.move_cache()
from transformers import pipeline
from pytube import YouTube
auto_speech_recog = pipeline("automatic-speech-recognition", model="facebook/wav2vec2-base-960h")
summarizer = pipeline("summarization", model="facebook/bart-large-cnn", max_length="5000")
def transcribe_upload(input_file):
out = auto_speech_recog(input_file, chunk_length_s=10, stride_length_s=(2, 2))['text'].lower()
print("/n", out.count(" "), "\n")
return out
def transcribe_record(input_file):
return auto_speech_recog(input_file, chunk_length_s=10, stride_length_s=(2, 2))['text'].lower()
def text_summerization(text_input):
return summarizer(text_input, max_length=1432, min_length=300, do_sample=False, truncation=True)
def load_video_url(video, url):
video = gr.Video()
current_dir = os.getcwd()
try:
yt = YouTube(url)
except:
print("Connection Error")
try:
highest_audio = yt.streams.filter(progressive=False).get_highest_resolution().itag
file_url = os.path.join(current_dir, "audio", "test.mp4")
yt.streams.get_by_itag(highest_audio).download(output_path=os.path.join(current_dir, "audio"), filename = "test.mp4")
except :
print("error")
return file_url
with gr.Blocks(css = "css/index.css") as iface:
gr.Markdown(elem_id="logo" , value="")
with gr.Column():
with gr.Tab("Record Audio"):
input_record = gr.Audio(label = 'Record Audio Input',source="microphone",type="filepath")
gr_transcribe_record = gr.Button('Transcribe')
with gr.Tab("Upload Audio as File"):
input_upload = gr.Audio(label = 'Upload Audio',source="upload",type="filepath")
gr_transcribe_upload = gr.Button('Transcribe')
with gr.Tab("URL"):
with gr.Row():
with gr.Column():
input_url = gr.Textbox(elem_id="url_input",label="URL", show_label=False)
video_url = gr.Video(elem_id="video_elem", show_label=False, interactive = False)
video_url.style(width=600, height=400)
input_url.submit(load_video_url, [video_url, input_url], video_url)
gr_transcribe_url = gr.Button('Transcribe')
asr_out = gr.Textbox(label="Text transcribe")
summerize_btn = gr.Button("Summerize")
summerize_out = gr.Textbox(label="Summrization")
gr_transcribe_url.click(transcribe_upload, video_url, asr_out)
gr_transcribe_record.click(transcribe_record, input_record, asr_out)
gr_transcribe_upload.click(transcribe_upload, input_upload, asr_out)
summerize_btn.click(text_summerization, asr_out, summerize_out)
iface.launch(debug=True)
|