主要内容

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、参数)

    将指定托管插件参数的规范化值设置为newValue。规范化值的范围是[0,1]。

获取托管插件的高级信息

  • dispParameter(hostedPlugin)

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

  • pluginInfo =信息(hostedPlugin)

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

设置插件运行的环境

  • frameSize =getSamplesPerFrame(hostedPlugin)

    返回宿主插件在后续调用其处理函数时返回的帧大小(仅限源插件)。

  • setSamplesPerFrame(hostedPlugin frameSize)

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

  • setSampleRate(hostedPlugin sampleRate)

    设置托管插件的采样率。

  • sampleRate =getSampleRate(hostedPlugin)

    返回插件运行时的采样率(以Hz为单位)。

例子

全部折叠

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

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

oscPluginPath =fullfile (matlabroot“工具箱/音频/样本/ oscillator.dll”);EQPluginPath =fullfile (matlabroot“工具箱/音频/样本/ ParametricEqualizer.dll”);

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

hostedSourcePlugin = loadAudioPlugin(oscPluginPath);hostedPlugin = loadAudioPlugin(EQPluginPath);

托管插件派生自externalAudioPluginexternalAudioSourcePlugin类。因为oscillator.dll是源音频插件,托管对象派生自externalAudioSourcePlugin。使用类()验证托管插件的类。

类(hostedPlugin)
ans = 'externalAudioPlugin'
类(hostedSourcePlugin)
ans = 'externalAudioPluginSource'

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

hostedSourcePlugin
hostedSourcePlugin = VST插件'振荡器'源,1出,256个样本频率:100赫兹振幅:1 AU DCOffset: 0 AU
hostedPlugin
hostedPlugin = VST插件' paramtriceq ' 2 in, 2 out LowPeakGain: 0 dB LowCenterFrequency: 100hz LowQFactor: 2 MediumPeakGain: 0 dB MediumCenterFrequency: 1000hz MediumQFactor: 2 HighPeakGain: 0 dB HighCenterFrequency: 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(“SampleRate”, fileReader.SampleRate);setSampleRate (hostedPlugin fileReader.SampleRate);

设置MediumPeakGain属性为-20分贝。

hostedPlugin。MediumPeakGain = -20;

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

hostedPlugin。MediumPeakGain < 19 hostedPlugin。MediumPeakGain = hostedPlugin。MediumPeakGain + 0.04;x = fileReader();y = process(hostedPlugin,x);deviceWriter (y);结束发布(fileReader)发布(deviceWriter)

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

pluginPath = fullfile(matlabroot,“工具箱”“音频”“样本”“oscillator.dll”);hostedSourcePlugin = loadAudioPlugin(pluginPath);

设置振幅属性为0.5。设置频率属性为16千赫。

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

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

setSampleRate (hostedSourcePlugin, 44100);deviceWriter = audioDeviceWriter(“SampleRate”, 44100);

使用托管源插件输出音频流。音频流循环中的处理将频率参数降低然后上升。

K = 1;i = 1:1000 hostedSourcePlugin. i = 1:1000 hostedSourcePlugin. 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

/图书馆/音频/插件/威仕特/ coolPlugin.vst

VST3

/图书馆/音频/插件/ VST3 / coolPlugin.vst3

非盟

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

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

插件类型 路径
VST2

~ /图书馆/音频/插件/威仕特/ coolPlugin.vst

VST3

~ /图书馆/音频/插件/ VST3 / coolPlugin.vst3

非盟

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

输出参数

全部折叠

对象派生的外部插件externalAudioPluginexternalAudioSourcePlugin类。您可以像DAW一样与托管插件交互,并使用MATLAB环境的附加功能。

限制

loadAudioPlugin函数只支持64位插金宝app件。方法不能加载32位插件loadAudioPlugin函数。

在R2016b中引入