Introducing Gradio Clients
WatchIntroducing Gradio Clients
WatchNew to Gradio? Start here: Getting Started
See the Release History
To install Gradio from main, run the following command:
pip install https://gradio-builds.s3.amazonaws.com/02798ec170be7c9e8756dec24ef29c7f46fe2060/gradio-4.41.0-py3-none-any.whl
*Note: Setting share=True
in
launch()
will not work.
gradio.Audio(···)
type
): a str
filepath, or tuple
of (sample rate in Hz, audio data as numpy array). If the latter, the audio data is a 16-bit int
array whose values range from -32768 to 32767 and shape of the audio data array is (samples,) for mono audio or (samples, channels) for multi-channel audio.def predict(
value: str | tuple[int, np.ndarray] | None
)
...
str
or pathlib.Path
filepath or URL to an audio file, or a bytes
object (recommended for streaming), or a tuple
of (sample rate in Hz, audio data as numpy array). Note: if audio is supplied as a numpy array, the audio will be normalized by its peak value to avoid distortion or clipping in the resulting audio.def predict(···) -> str | Path | bytes | tuple[int, np.ndarray] | None
...
return value
Class | Interface String Shortcut | Initialization |
---|---|---|
| "audio" | Uses default values |
| "microphone" | Uses sources=["microphone"] |
import numpy as np
import gradio as gr
notes = ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"]
def generate_tone(note, octave, duration):
sr = 48000
a4_freq, tones_from_a4 = 440, 12 * (octave - 4) + (note - 9)
frequency = a4_freq * 2 ** (tones_from_a4 / 12)
duration = int(duration)
audio = np.linspace(0, duration, duration * sr)
audio = (20000 * np.sin(audio * (2 * np.pi * frequency))).astype(np.int16)
return sr, audio
demo = gr.Interface(
generate_tone,
[
gr.Dropdown(notes, type="index"),
gr.Slider(4, 6, step=1),
gr.Textbox(value="1", label="Duration in seconds"),
],
"audio",
)
if __name__ == "__main__":
demo.launch()
Event listeners allow you to respond to user interactions with the UI components you've defined in a Gradio Blocks app. When a user interacts with an element, such as changing a slider value or uploading an image, a function is called.
The Audio component supports the following event listeners. Each event listener takes the same parameters, which are listed in the Event Parameters table below.
Listener | Description |
---|---|
| This listener is triggered when the user streams the Audio. |
| Triggered when the value of the Audio changes either because of user input (e.g. a user types in a textbox) OR because of a function update (e.g. an image receives a value from the output of an event trigger). See |
| This listener is triggered when the user clears the Audio using the X button for the component. |
| This listener is triggered when the user plays the media in the Audio. |
| This listener is triggered when the media in the Audio stops for any reason. |
| This listener is triggered when the user reaches the end of the media playing in the Audio. |
| This listener is triggered when the media in the Audio stops for any reason. |
| This listener is triggered when the user starts recording with the Audio. |
| This listener is triggered when the user pauses recording with the Audio. |
| This listener is triggered when the user stops recording with the Audio. |
| This listener is triggered when the user uploads a file into the Audio. |
| This listener is triggered when the user changes the value of the Audio. |
gradio.WaveformOptions(···)
waveform_options
parameter of gr.Audio
.