主要内容

loadAudioPlugin

加载VST,VST3和AU插件MATLAB环境

描述

例子

hostedPlugin= loadaudioplugin(pluginpath加载指定的64位VST、VST3或AU音频插件pluginpath.在Windows上®,可以加载VST和VST3插件。在macOS,可以加载AU、VST和VST3插件。

您的托管插件有两种显示模式:参数特性.默认显示模式是特性

  • 参数- 使用SET和GET功能与托管插件的标准化参数值进行交互。

  • 特性—与启发式解释的参数与现实世界的值交互。在使用此模式时,您可以使用标准点表示法来设置和获取值。

您可以使用标准点表示法指定托管插件的显示模式,例如:

hostedPlugin。这个=“参数”;

主机外部音频插件用于讨论显示模式和两种交互模式的演练。

您可以使用以下函数与托管插件进行交互并锻炼托管插件。

流程音频

  • AudioOut =.过程(HostedPlugin,Audioin)

    根据托管插件的算法和参数返回处理的音频信号。用于源插件,呼叫过程没有音频输入。

设置并获取标准化参数值

  • 价值=getParameter(hostedPlugin参数)

    返回指定的托管插件参数的规范化值。规范化值的范围是[0,1]。可以通过参数的名称或索引来指定参数。要指定名称,请使用字符向量。

  • setParameter(newValue hostedPlugin、参数)

    设置指定托管插件参数的归一化值纽瓦伊.规范化值的范围是[0,1]。

获取托管插件的高级信息

  • 分配参数(hostedplugin)

    显示托管插件的所有参数和关联索引,值,显示的值和显示标签。

  • plugininfo =信息(hostedplugin)

    返回一个包含托管插件信息的结构。

设置插件运行的环境

  • Framesize =.getSamplesPerFrame(hostedplugin)

    返回托管插件在后续调用其处理功能(仅限源插件)中返回的帧大小。

  • setsamplesperframe.(hostedplugin,帧质化)

    设置托管插件必须在后续调用中返回其处理功能的帧大小(仅限源插件)。

  • setSampleRate(hostedplugin,samplere)

    设置托管插件的采样率。

  • Samplere =.getSampleRate(hostedplugin)

    返回插件运行时的采样频率(Hz)。

例子

全部折叠

loadAudioPlugin在MATLAB®中托管VST外部插件和VST外部源插件。

使用fullfile命令以确定振荡器VST插件和参数均衡器VST插件的完整路径,包括音频工具箱™。如果您使用的是Mac,请更换.dll.文件扩展名.vst.

ascpluginpath =......fullfile(matlabroot,“工具箱/音频/样本/ oscillator.dll”);EQPluginPath =......fullfile(matlabroot,'工具箱/音频/样本/ parametricequalizer.dll');

通过致电创建外部插件对象loadAudioPlugin对于每个插件路径。

hostedsourceplugin = loadaudioplugin(armpluginpath);hostedplugin = loadaudioplugin(eqpluginpath);

托管插件派生自ExerialAudioPlugin.或者ExternalAudutiosPlugin.班级。因为oscillator.dll是源音频插件,托管对象来自ExternalAudutiosPlugin..用班级()验证托管插件的类。

班级(hostedplugin)
ans = ' externalAudioPlugin '
类(HostedSourceplugin)
ans = ' externalAudioPluginSource '

调用托管的插件来显示关于它们的基本信息。这些信息包括格式、插件名、输入和输出通道的数量,以及插件的可调属性。源插件也显示插件的帧大小。

hostedSourcePlugin
hostedsourceplugin = vst插件'振荡器源,1 out,256样本频率:100 hz幅度:1 au dcoffset:0 au
hostedPlugin
hostedplugin = vst插件'parametriceq'2,2 out lowpeakgain:0 db低中心频道:100 hz lowqfactor:2中等私人:0 db媒体中心:1000 Hz中等问题:2高级跳闸:0 dB高中心频率:10000 Hz HighQfactor:2

通过指定其完整路径,将VST音频插件加载到MATLAB™中。如果您使用的是Mac,请更换.dll.文件扩展名.vst.

pluginpath = fullfile(matlabroot,“工具箱”'声音的''样品''parametricequalizer.dll');hostedplugin = loadaudioplugin(pluginpath);

为音频流循环创建输入和输出对象,从文件中读取并写入音频设备。将托管插件的采样率设置为插件输入的采样率。

fileReader = dsp。AudioFileReader ('funkydrums-44p1-stereo-25secs.mp3');devicewriter = audiodevicewriter('采样率', fileReader.SampleRate);setSampleRate (hostedPlugin fileReader.SampleRate);

设定MediumPeakGain属性至-20 dB。

hostedPlugin。MediumPeakGain = -20;

使用托管插件处理音频流循环中的音频文件。在循环中向上扫描中等峰值增益以听到效果。

hostedPlugin。MediumPeakGain < 19 hostdplugin . MediumPeakGain < 19MediumPeakGain = hostedPlugin。MediumPeakGain + 0.04;x = fileReader ();y =过程(hostedPlugin x);deviceWriter (y);结尾释放(Filereader)释放(DeviceWriter)

通过指定其完整路径,将VST音频源插件加载到MATLAB™中。如果您使用的是Mac,请更换.dll.文件扩展名.vst.

pluginpath = fullfile(matlabroot,“工具箱”'声音的''样品''振荡器.dll');hostedSourcePlugin = loadAudioPlugin (pluginPath);

设定振幅房地产,至0.5。设定频率财产至16 kHz。

hostedSourcePlugin。幅值= 0.5;hostedSourcePlugin。频率= 16000;

设置运行插件的采样率。创建一个输出对象写入音频设备。

setSampleRate (hostedSourcePlugin, 44100);devicewriter = audiodevicewriter('采样率',44100);

使用托管源插件输出音频流。音频流循环中的处理斜坡向上然后向上倾斜频率参数。

k = 1;为了i = 1:1000 hostdsourceplugin . i = 1:1000频率= hostedSourcePlugin.Frequency - 30*k; y = process(hostedSourcePlugin); deviceWriter(y);如果(hostedSourcePlugin。频率- 30 <= 0.1) || (hostedSourcePlugin.Frequency + 30 >= 20e3) k = -1*k;结尾结尾发行版(deviceWriter)

输入参数

全部折叠

外部插件的位置,指定为字符向量。使用完整路径来指定您想在MATLAB中托管的音频插件®.如果插件位于当前文件夹中,请通过其名称指定。

例子:Loadaudioplugin('coolplugin.dll')

例子:LoadAudioPlugin('C:\ Program Files \ Vstplugins \ CoolPlugin.dll')

插件路径Mac

为了macOS,取决于插件是否已保存系统宽或特定用户,该插件位置是预先确定的。

此表显示了系统范围的路径。

插件类型 小路
vst2.

/library/audio/plug-ins/vst/coolplugin.vst.

vst3.

/library/audio/plug-ins/vst3/coolplugin.vst3.

Au.

/图书馆/音频/插件/组件/ coolPlugin.component

该表显示了特定于用户的路径。

插件类型 小路
vst2.

〜/库/音频/插件/ vst / coolplugin.vst

vst3.

〜/库/音频/插件/ vst3 / coolplugin.vst3

Au.

〜/库/音频/插件/组件/ coolplugin.component

输出参数

全部折叠

外部插件的对象,源自ExerialAudioPlugin.或者ExternalAudutiosPlugin.班级。您可以使用MATLAB环境的附加功能与托管插件交互。

限制

loadAudioPlugin函数只支持64位的万博1manbetx插件。控件无法加载32位插件loadAudioPlugin功能。

介绍在R2016B.