krishna-k commited on
Commit
81567e9
·
verified ·
1 Parent(s): 53ec323

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -1
app.py CHANGED
@@ -2,11 +2,31 @@ from fastrtc import Stream, ReplyOnPause
2
  import numpy as np
3
  from pydub import AudioSegment
4
  from pydub.utils import which
 
5
 
6
  AudioSegment.ffmpeg = which("ffmpeg")
7
 
 
 
8
  def echo(audio: tuple[int, np.ndarray]) -> tuple[int, np.ndarray]:
9
  yield audio
10
 
11
  stream = Stream(ReplyOnPause(echo), modality="audio", mode="send-receive")
12
- stream.ui.launch(share=True)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  import numpy as np
3
  from pydub import AudioSegment
4
  from pydub.utils import which
5
+ import gradio as gr
6
 
7
  AudioSegment.ffmpeg = which("ffmpeg")
8
 
9
+
10
+
11
  def echo(audio: tuple[int, np.ndarray]) -> tuple[int, np.ndarray]:
12
  yield audio
13
 
14
  stream = Stream(ReplyOnPause(echo), modality="audio", mode="send-receive")
15
+
16
+ def process_audio(audio_input):
17
+ # audio_input is received as a Gradio Audio object, containing a tuple of (sample_rate, numpy array)
18
+ sample_rate, audio_data = audio_input
19
+
20
+ # Process audio through the stream
21
+ processed_sample_rate, processed_audio = echo((sample_rate, audio_data))
22
+
23
+ # Return processed audio to Gradio for output
24
+ return processed_sample_rate, processed_audio
25
+
26
+ interface = gr.Interface(
27
+ fn=process_audio, # The function to process audio
28
+ inputs=gr.Audio(source="microphone", type="numpy"), # Microphone input (audio)
29
+ outputs=gr.Audio(type="numpy"), # Audio output (processed)
30
+ live=True # Make the processing live (if needed)
31
+ )
32
+ interface.launch()