主要内容

实时参数整定

参数调优是在流音频信号时实时修改音频系统参数的能力。在算法开发中,可调参数使您能够快速原型和测试各种参数配置。在已部署的应用程序中,可调参数使用户能够针对特定目的调整通用算法,并对不断变化的动态做出反应。

音频工具箱™ 针对实时音频流中的参数调整进行了优化。系统对象、块和音频插件提供各种可调参数,包括采样率和帧大小,使它们在音频流循环中使用时成为强大的工具。

要优化音频工具箱的使用,请将音频处理算法打包为音频插件。将音频算法打包为音频插件使您能够使用parameterTuner音频测试台上:

  • 音频测试台上——为可调参数创建用户界面(UI),使您能够指定从音频流循环的输入和输出,并提供访问分析工具,如时间范围和频谱分析仪。将代码打包为音频插件还可以让您快速地与MIDI控件同步参数。

  • parameterTuner——创建一个可调参数的UI,可以从任何MATLAB使用®编程环境。您可以自定义参数控件,将其呈现为旋钮、滑块、摇杆开关、切换开关、复选框或下拉框。您还可以定义一个自定义的背景颜色、背景图像,或者两者同时定义。然后,您可以将您的音频插件放置在一个音频处理循环(例如脚本)的编程环境中,然后在循环执行时调优参数。

有关更多信息,请参见MATLAB中的音频插件

在MATLAB中创建UI的其他方法包括:

  • App Designer–支持二维绘图的大型交互式控件集的开发环境。请参阅金宝app使用App Designer创建并运行简单的应用程序了解更多信息。

  • 编程工作流–使用MATLAB函数逐个元素定义应用程序。本教程使用编程方法。

看见构建应用程序的方法有关参数调整的不同方法的成本和收益的更详细列表,请参阅。

编程参数调优

如果不能将算法打包为音频插件,可以使用基本的MATLAB技术创建一个调优UI。

本教程包含三个文件:

  1. parameterRef——包含可调参数的类定义

  2. 参数化——为参数调优创建UI的函数

  3. 音频处理脚本——音频处理脚本

查看图表,了解如何实现实时参数调优。要实现实时参数调优,请通过示例进行解释和逐步说明。

1.创建具有可调参数的类

要使用UI调优音频流循环中的参数,需要将参数与UI小部件的位置关联起来。要将参数与UI小部件关联,请将参数设置为句柄类的对象。句柄类的对象是通过引用传递的,这意味着您可以在一个地方修改对象的值,并在另一个地方使用更新后的值。例如,您可以使用图形上的滑块修改对象的值,并在音频处理循环中使用更新后的值。

保存parameterRef类定义文件保存到当前文件夹。

classdefparameterRef<句柄属性名义价值终止终止

对象的parameterRef类有一个名称价值.这个名称用于在UI上显示。您可以使用价值用于调谐。

2.创建用于生成UI的函数

这个参数化函数接受指定为对象句柄的参数和所需范围。函数创建一个带有与参数关联的滑块的图形。嵌套函数,滑块,在滑块位置更改时调用。滑块回调函数将滑块位置映射到参数范围,更新参数值,并更新UI上的文本。您可以轻松修改此函数以在同一UI中调整多个参数。

保存参数化到当前文件夹

3.创建音频处理脚本

音频处理脚本:

  1. 为音频流循环创建输入和输出对象。

  2. 创建句柄类的对象,parameterRef,它存储参数名称和值。

  3. 调用调优UI函数,参数化,带有参数和参数范围。

  4. 循环处理音频。你可以调整参数,x,在音频流循环。

音频处理脚本

当脚本运行时,移动滑块的位置以更新参数值并听到结果。

另见

|

相关的话题