File size: 628 Bytes
			
			| 4f6422e | 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 | import gradio as gr
import numpy as np
import time
def add_to_stream(audio, instream):
    time.sleep(1)
    if audio is None:
        return gr.Audio(), instream
    if instream is None:
        ret = audio
    else:
        ret = (audio[0], np.concatenate((instream[1], audio[1])))
    return ret, ret
with gr.Blocks() as demo:
    inp = gr.Audio(sources=["microphone"])
    out = gr.Audio()
    stream = gr.State()
    clear = gr.Button("Clear")
    inp.stream(add_to_stream, [inp, stream], [out, stream])
    clear.click(lambda: [None, None, None], None, [inp, out, stream])
if __name__ == "__main__":
    demo.launch()
 |