博主原文链接:https://www.yourmetaverse.cn/nlp/341/
掌握Gradio的Audio模块:实时交互与多功能展示
Gradio是一个功能强大且易于使用的Python库,可用于快速构建交互式界面和部署机器学习模型。其中的Audio模块提供了许多有用的方法和参数,用于控制和处理音频组件的交互和功能。在本篇博客中,我们将深入了解Gradio的Audio模块的一些重要方法:pause、stop、stream、start_recording、stop_recording和upload。这些方法可以帮助我们实现音频组件的暂停、停止、实时流式处理、录制和上传功能。
1. pause方法
- fn:封装接口的函数,通常是机器学习模型的预测函数。
- inputs:用作输入的组件列表。
- outputs:用作输出的组件列表。
- api_name:定义该参数可在API文档中公开该端点。
- status_tracker:预留参数。
- scroll_to_output:如果为True,在完成时将滚动到输出组件。
- show_progress:控制是否显示进度动画。
- queue:如果为True,在队列中排队请求(如果已启用队列)。
- batch:如果为True,函数应处理一批输入。
- max_batch_size:最大批量处理输入的数量。
- preprocess:控制是否运行组件数据的预处理。
- postprocess:控制是否运行组件数据的后处理。
- cancels:要取消的其他事件列表。
- every:在客户端连接打开时以指定秒数运行此事件。
2. stop方法
- fn:封装接口的函数,通常是机器学习模型的预测函数。
- inputs:用作输入的组件列表。
- outputs:用作输出的组件列表。
- api_name:定义该参数可在API文档中公开该端点。
- status_tracker:预留参数。
- scroll_to_output:如果为True,在完成时将滚动到输出组件。
- show_progress:控制是否显示进度动画。
- queue:如果为True,在队列中排队请求(如果已启用队列)。
- batch:如果为True,函数应处理一批输入。
- max_batch_size:最大批量处理输入的数量。
- preprocess:控制是否运行组件数据的预处理。
- postprocess:控制是否运行组件数据的后处理。
- cancels:要取消的其他事件列表。
- every:在客户端连接打开时以指定秒数运行此事件。
3. stream方法
- fn:封装接口的函数,通常是机器学习模型的预测函数。
- inputs:用作输入的组件列表。
- outputs:用作输出的组件列表。
- api_name:定义该参数可在API文档中公开该端点。
- status_tracker:预留参数。
- scroll_to_output:如果为True,在完成时将滚动到输出组件。
- show_progress:控制是否显示进度动画。
- queue:如果为True,在队列中排队请求(如果已启用队列)。
- batch:如果为True,函数应处理一批输入。
- max_batch_size:最大批量处理输入的数量。
- preprocess:控制是否运行组件数据的预处理。
- postprocess:控制是否运行组件数据的后处理。
- cancels:要取消的其他事件列表。
- every:在客户端连接打开时以指定秒数运行此事件。
4. start_recording方法
- fn:封装接口的函数,通常是机器学习模型的预测函数。
- inputs:用作输入的组件列表。
- outputs:用作输出的组件列表。
- api_name:定义该参数可在API文档中公开该端点。
- status_tracker:预留参数。
- scroll_to_output:如果为True,在完成时将滚动到输出组件。
- show_progress:控制是否显示进度动画。
- queue:如果为True,在队列中排队请求(如果已启用队列)。
- batch:如果为True,函数应处理一批输入。
- max_batch_size:最大批量处理输入的数量。
- preprocess:控制是否运行组件数据的预处理。
- postprocess:控制是否运行组件数据的后处理。
- cancels:要取消的其他事件列表。
- every:在客户端连接打开时以指定秒数运行此事件。
5. stop_recording方法
- fn:封装接口的函数,通常是机器学习模型的预测函数。
- inputs:用作输入的组件列表。
- outputs:用作输出的组件列表。
- api_name:定义该参数可在API文档中公开该端点。
- status_tracker:预留参数。
- scroll_to_output:如果为True,在完成时将滚动到输出组件。
- show_progress:控制是否显示进度动画。
- queue:如果为True,在队列中排队请求(如果已启用队列)。
- batch:如果为True,函数应处理一批输入。
- max_batch_size:最大批量处理输入的数量。
- preprocess:控制是否运行组件数据的预处理。
- postprocess:控制是否运行组件数据的后处理。
- cancels:要取消的其他事件列表。
- every:在客户端连接打开时以指定秒数运行此事件。
6. upload方法
- fn:封装接口的函数,通常是机器学习模型的预测函数。
- inputs:用作输入的组件列表。
- outputs:用作输出的组件列表。
- api_name:定义该参数可在API文档中公开该端点。
- status_tracker:预留参数。
- scroll_to_output:如果为True,在完成时将滚动到输出组件。
- show_progress:控制是否显示进度动画。
- queue:如果为True,在队列中排队请求(如果已启用队列)。
- batch:如果为True,函数应处理一批输入。
- max_batch_size:最大批量处理输入的数量。
- preprocess:控制是否运行组件数据的预处理。
- postprocess:控制是否运行组件数据的后处理。
- cancels:要取消的其他事件列表。
- every:在客户端连接打开时以指定秒数运行此事件。
这些方法和参数使得Gradio的Audio模块非常灵活和多功能,可以根据实际需求进行配置和使用。无论是实现音频的暂停、停止、实时流式处理,还是录制和上传功能,Gradio的Audio模块都能够满足各种交互式界面的需求。通过掌握这些方法和参数,我们能够构建出更加丰富和互动的音频组件,提升用户体验和功能性。
参数介绍
下面是Gradio的Audio模块的pause
、stop
、stream
、start_recording
、stop_recording
和upload
方法的参数整理表格,包括每个参数的数据类型和默认值,并附带参数的描述:
方法 | 参数 | 数据类型 | 默认值 | 描述 |
---|---|---|---|---|
pause | fn | Callable | None | - | 需要包装成接口的函数,通常是机器学习模型的预测函数。函数的每个参数对应一个输入组件,函数应返回一个值或值的元组,其中每个元素对应一个输出组件。 |
inputs | Component | list[Component] | set[Component] | None | None | 用作输入的组件或组件列表。如果函数不需要输入,应为空列表。 | |
outputs | Component | list[Component] | None | None | 用作输出的组件或组件列表。如果函数不返回输出,应为空列表。 | |
api_name | str | None | None | 定义该参数可在API文档中公开该端点。 | |
status_tracker | None | None | 预留参数。 | |
scroll_to_output | bool | False | 如果为True,在完成时将滚动到输出组件。 | |
show_progress | Literal[‘full’] | Literal[‘minimal’] | Literal[‘hidden’] | “full” | 控制是否显示进度动画。 | |
queue | bool | None | None | 如果为True,在队列中排队请求(如果已启用队列)。如果为False,即使启用了队列,也不将此事件放入队列中。如果为None,将使用Gradio应用程序的队列设置。 | |
batch | bool | False | 如果为True,函数应处理一批输入。 | |
max_batch_size | int | 4 | 如果从队列中调用此方法,将最多将输入批量处理为指定数量(仅适用于batch=True时)。 | |
preprocess | bool | True | 控制是否在运行’fn’之前运行组件数据的预处理。 | |
postprocess | bool | True | 控制是否在将’fn’输出返回给浏览器之前运行组件数据的后处理。 | |
cancels | dict[str, Any] | list[dict[str, Any]] | None | None | 要在此事件触发时取消的其他事件列表。 | |
every | float | None | None | 在客户端连接打开时以指定秒数运行此事件。以秒为单位计算。队列必须已启用。 | |
stop | 同上 | 同上 | 同上 | 同上 |
stream | 同上 | 同上 | 同上 | 同上 |
start_recording | 同上 | 同上 | 同上 | 同上 |
stop_recording | 同上 | 同上 | 同上 | 同上 |
upload | 同上 | 同上 | 同上 | 同上 |
总结而言,Gradio的Audio模块为我们提供了强大的音频处理和交互功能,为构建交互式界面和部署机器学习模型提供了极大的便利。利用这些方法和参数,我们可以轻松地实现音频的暂停、停止、实时流式处理、录制和上传等功能。不论是构建音频处理应用还是增强用户交互体验,Gradio的Audio模块都是一个不可或缺的工具。