实时参数调优
参数调优是在流式音频信号时实时修改音频系统参数的能力。在算法开发中,可调参数使您能够快速原型化和测试各种参数配置。在已部署的应用程序中,可调参数使用户能够针对特定目的微调通用算法,并对变化的动态做出反应。
音频工具箱™是优化的参数调整在实时音频流。System对象、块和音频插件提供了各种可调参数,包括采样率和帧大小,使它们在音频流循环中使用时成为强大的工具。
若要优化“音频工具箱”的使用,请将音频处理算法打包为音频插件。将您的音频算法打包为音频插件,使您可以使用图形化方式调整您的算法parameterTuner
或音频测试台:
音频测试台—为可调参数创建用户界面(UI),使您能够指定音频流循环的输入和输出,并提供对时间范围和频谱分析仪等分析工具的访问。将代码打包为音频插件还可以使您快速将参数与MIDI控件同步。
parameterTuner
—为可调参数创建一个UI,可以从任何MATLAB中使用®编程环境。您可以自定义参数控件,以呈现旋钮、滑块、摇杆开关、拨动开关、复选框或下拉列表。您还可以定义自定义背景颜色、背景图像或两者兼有。然后,您可以将音频插件放在编程环境(如脚本)中的音频处理循环中,然后在循环执行时调优参数。
有关更多信息,请参见MATLAB音频插件.
在MATLAB中创建ui的其他方法包括:
应用程序设计器——用于支持2-D绘图的大量交互式控件的开发环境。看到使用应用程序设计器创建并运行一个简单的应用程序获取更多信息。
编程工作流——使用MATLAB函数逐个元素定义应用程序。本教程使用编程方法。
看到开发应用的方法有关不同参数调优方法的成本和收益的更详细列表。
编程参数调优
如果不能将算法打包为音频插件,则可以使用基本的MATLAB技术创建调优UI。
本教程包含三个文件:
parameterRef
——包含可调参数的类定义parameterTuningUI
——为参数调优创建UI的函数AudioProcessingScript
——音频处理脚本
查看图表,了解实时参数调优是如何实现的。要实现实时参数调优,请浏览示例以获得解释和分步说明。
1.创建具有可调参数的类
要使用UI优化音频流循环中的参数,您需要将参数与UI小部件的位置关联起来。要将参数与UI小部件关联,请将参数作为句柄类的对象。句柄类的对象通过引用传递,这意味着您可以在一个地方修改对象的值,而在另一个地方使用更新后的值。例如,您可以使用图形上的滑块修改对象的值,并在音频处理循环中使用更新后的值。
保存parameterRef
类定义文件转移到当前文件夹。
classdefparameterRef < handle属性名义价值结束结束
的对象parameterRef
班级有一个的名字
而且价值
.的的名字
是为了在UI上显示。你可以使用价值
调优。
2.Create生成用户界面的功能
的parameterTuningUI
函数接受作为对象句柄指定的形参和所需的范围。该函数创建一个带有与参数关联的滑块的图形。嵌套函数,slidercb
,当滑块位置改变时调用。滑块回调函数将滑块的位置映射到参数范围,更新参数的值,并更新UI上的文本。您可以很容易地修改这个函数来优化同一个UI中的多个参数。
3.创建音频处理脚本
音频处理脚本:
为音频流循环创建输入和输出对象。
创建句柄类的对象,
parameterRef
,它存储参数名称和值。调用调优UI函数,
parameterTuningUI
,包含您的参数和参数范围。循环处理音频。你可以调整你的参数,
x
,在音频流循环。
在脚本运行时,移动滑块的位置以更新参数值并听取结果。