vsrinivas commited on
Commit
a1204a0
1 Parent(s): c3a36b3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -8
app.py CHANGED
@@ -24,9 +24,13 @@ def extract_yt_audio(it, video_url, video_file):
24
  yt = YouTube(video_url, use_oauth=True)
25
  a = yt.streams.filter(only_audio=True).first()
26
  audio_file = a.download()
27
- sample = AudioSegment.from_file(audio_file)
 
 
 
 
28
  else:
29
- sample = AudioSegment.from_file(video_url)
30
  audio_path = 'audio.wav'
31
  # display(Audio(audio_path))
32
  sample.export(audio_path, format="wav")
@@ -99,9 +103,9 @@ def semantic_chunks(segs, max_chunk_length=15.0):
99
 
100
  def toggle_input_fields(input_type):
101
  if input_type == "URL":
102
- return gr.update(visible=True), gr.update(visible=False)
103
  else:
104
- return gr.update(visible=False), gr.update(visible=True)
105
 
106
  def clear_all():
107
  return (gr.update(visible=True, value=""), gr.update(visible=True, value=""), gr.update(visible=False), gr.update(visible=False), gr.update(visible=False), gr.update(visible=False))
@@ -123,13 +127,13 @@ with gr.Blocks() as demo:
123
  # input_url = gr.Textbox(label="Type-in the URL or File Location of the Video", value='sample.mp4')
124
  segments = gr.Textbox(visible=False)
125
  submit_btn_1 = gr.Button("Get the Transcript", visible=True)
126
- audio = gr.Audio(visible=True, type="filepath", label='Play Audio')
127
- transcript = gr.Textbox(visible=True, label='Transcript')
128
  submit_btn_2 = gr.Button("Get the semantically Chuncked Segments", visible=False)
129
- chunks = gr.Dataframe(visible=False, label = 'semantic Chunks')
130
  clear_btn = gr.Button("Clear")
131
 
132
- input_type.change(fn=toggle_input_fields, inputs=input_type, outputs=[input_url, video_file])
133
  submit_btn_1.click(fn=extract_yt_audio, inputs=[input_type, input_url, video_file], outputs=[transcript, submit_btn_2, segments, audio])
134
  # submit_btn_1.click(fn=extract_yt_audio, inputs=[input_url], outputs=[transcript, submit_btn_2, segments, audio])
135
  submit_btn_2.click(fn=semantic_chunks, inputs=[segments], outputs=[chunks])
 
24
  yt = YouTube(video_url, use_oauth=True)
25
  a = yt.streams.filter(only_audio=True).first()
26
  audio_file = a.download()
27
+ sample = AudioSegment.from_file(audio_file
28
+ elif it == 'URL':
29
+ response = requests.get(video_url)
30
+ video_data = BytesIO(response.content)
31
+ sample = AudioSegment.from_file(video_data, format="mp4")
32
  else:
33
+ sample = AudioSegment.from_file(video_file)
34
  audio_path = 'audio.wav'
35
  # display(Audio(audio_path))
36
  sample.export(audio_path, format="wav")
 
103
 
104
  def toggle_input_fields(input_type):
105
  if input_type == "URL":
106
+ return gr.update(visible=True), gr.update(visible=False), gr.update(visible=True), gr.update(visible=True)
107
  else:
108
+ return gr.update(visible=False), gr.update(visible=True), gr.update(visible=True), gr.update(visible=True)
109
 
110
  def clear_all():
111
  return (gr.update(visible=True, value=""), gr.update(visible=True, value=""), gr.update(visible=False), gr.update(visible=False), gr.update(visible=False), gr.update(visible=False))
 
127
  # input_url = gr.Textbox(label="Type-in the URL or File Location of the Video", value='sample.mp4')
128
  segments = gr.Textbox(visible=False)
129
  submit_btn_1 = gr.Button("Get the Transcript", visible=True)
130
+ audio = gr.Audio(visible=False, type="filepath", label='Play Audio')
131
+ transcript = gr.Textbox(visible=False, label='Transcript')
132
  submit_btn_2 = gr.Button("Get the semantically Chuncked Segments", visible=False)
133
+ chunks = gr.Dataframe(visible=False, label = 'Semantic Chunks')
134
  clear_btn = gr.Button("Clear")
135
 
136
+ input_type.change(fn=toggle_input_fields, inputs=input_type, outputs=[input_url, video_file, audio, transcript])
137
  submit_btn_1.click(fn=extract_yt_audio, inputs=[input_type, input_url, video_file], outputs=[transcript, submit_btn_2, segments, audio])
138
  # submit_btn_1.click(fn=extract_yt_audio, inputs=[input_url], outputs=[transcript, submit_btn_2, segments, audio])
139
  submit_btn_2.click(fn=semantic_chunks, inputs=[segments], outputs=[chunks])