主要内容

实时参数调优

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

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

为了优化音频工具箱的使用,将音频处理算法打包为音频插件。包装您的音频算法作为一个音频插件,使您可以图形化地调整您的算法使用parameterTuner音频测试台上

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

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

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

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

看到构建应用程序的方法有关参数调优的不同方法的成本和好处的更详细列表。

编程参数调优

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

本教程包含三个文件:

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

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

  3. AudioProcessingScript——音频处理脚本

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

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

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

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

classdefparameterRef <处理属性名义价值结束结束

对象的parameterRef类有一个的名字价值.的的名字用于在UI上显示。您使用价值调优。

2.生成UI的函数

parameterTuningUI函数接受作为对象句柄指定的参数和所需的范围。该函数创建一个带有与参数关联的滑块的图形。嵌套函数slidercb,在滑块位置改变时调用。slider回调函数将滑块的位置映射到参数范围,更新参数的值,并更新UI上的文本。您可以很容易地修改这个函数,以便在同一个UI中调优多个参数。

保存parameterTuningUI当前文件夹

3.创建音频处理脚本

音频处理脚本:

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

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

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

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

运行AudioProcessingScript

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

另请参阅

|

相关的话题