dawood's picture
dawood HF staff
Upload folder using huggingface_hub
74ba51d verified
raw
history blame contribute delete
No virus
910 Bytes
import gradio as gr
from gradio_unifiedaudio import UnifiedAudio
from pathlib import Path
import numpy as np
import time
example = UnifiedAudio().example_inputs()
dir_ = Path(__file__).parent
def add_to_stream(audio, instream):
if instream is None:
ret = audio
else:
ret = (audio[0], np.concatenate((instream[1], audio[1])))
return audio, ret
def stop_recording(audio):
return UnifiedAudio(value=audio, streaming=False)
def stop_playing():
return UnifiedAudio(value=None, streaming=True), None
with gr.Blocks() as demo:
mic = UnifiedAudio(sources=["microphone"], streaming=True)
stream = gr.State()
mic.stop_recording(stop_recording, stream, mic)
# mic.end(lambda: [None, None], None, [mic, stream])
mic.end(stop_playing, None, [mic, stream])
mic.stream(add_to_stream, [mic, stream], [mic, stream])
if __name__ == '__main__':
demo.launch()