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) | |