Spaces:
Runtime error
Runtime error
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) | |