Main Content

generateAudioPlugin

Generate audio plugin fromMATLABclass

Description

example

generateAudioPluginclassNamegenerates a VST 2 audio plugin from a MATLAB®class specified byclassName. SeeSupported Compilersfor a list of compilers supported bygenerateAudioPlugin.

example

generateAudioPluginoptionsclassNamespecifies a nondefault plugin type, output folder, file name, or file type. You can use the-juceprojectoption to create a zip file containing generated C/C++ code and a JUCER project. Options can be specified in any grouping, and in any order.

例子

collapse all

generateAudioPluginaudiopluginexample.Echo
.......

A VST 2 plugin with file nameEchois saved to your current folder. The extension of your plugin depends on your operating system.

mkdir(fullfile(pwd,'myPluginFolder')) generateAudioPlugin-outdirmyPluginFolderaudiopluginexample.Echo
.......

A VST 2 plugin with file nameEchois saved to your specified folder,myPluginFolder. The extension of your plugin depends on your operating system.

generateAudioPlugin-outputawesomeEffectaudiopluginexample.Echo
.......

A VST 2 plugin with file nameawesomeEffectis saved to your current folder. The extension of your plugin depends on your operating system.

mkdir(fullfile(pwd,'myPluginFolder')) generateAudioPlugin-outputcoolEffect-outdirmyPluginFolderaudiopluginexample.Echo
.......

A VST 2 plugin with file namecoolEffectis saved to your specified folder,myPluginFolder. The extension of your plugin depends on your operating system.

generateAudioPlugin-win32audiopluginexample.Echo
.......

A 32-bit VST 2 plugin with file nameEcho.dllis saved to your current folder.

generateAudioPlugin-juceprojectaudiopluginexample.Echo

A zip file containing generated C/C++ code and a JUCER project file suitable for use with JUCE 5.3.2 to 6.0.8 is saved to your current folder.

To generate a binary standalone executable, use the-exeoption. The following command savesEcho.exeto your current folder.

generateAudioPlugin-exeaudiopluginexample.Echo
.......

When you execute the generated code, the UI you defined in your audio plugin opens.

eval('!Echo.exe')

The standalone executable enables you to:

  • Configure audio input and output from the plugin. Synchronizing parameters with MIDI devices is not currently supported.

  • Save and load states.

  • Reset states to default values.

Input Arguments

collapse all

Options can be specified in any grouping, and in any order.

Option

Description

-au Generates an Audio Unit (AU) v2 audio plugin binary. This syntax is only valid onmacOS.
-vst Generates a VST 2 audio plugin binary. By default,generateAudioPlugingenerates a VST 2 plugin.
-exe

Generates a standalone executable for your audio plugin. When you evaluate the generated code, the UI you defined in your audio plugin opens. You can control the input to your plugin and the output from your plugin usingOptions.

-juceproject

Creates a zip file containing generated C/C++ code and a JUCER project file suitable for use with JUCE 5.3.2 to 6.0.8. You can use the generated zip file to modify the generated plugin or compile it to a format other than VST 2.4. This option requires aMATLAB Coder™license. To use the generated files with JUCE, you must obtain your own appropriately licensed copy of JUCE.

-win32

Creates a 32-bit audio plugin. Valid only on win64. This option does not support thecoder.DeepLearningConfig('mkldnn')deep learning library configuration, the'Intel AVX (Windows)'code replacement library, or the'DSP Intel AVX2-FMA (Windows)'code replacement library.

-output文件名

Specifies the file name of the generated plugin or zip file. The appropriate extension is appended to the文件名based on the platform on which the plugin or zip file is generated. By default, the plugin or zip file is named after the class.

-outdirfolder

Generates a plugin or zip file to a specific folder. By default, the generated plugin is placed in the current folder. Iffolderis not in the current folder, specify the exact path.

-audioconfigcfg

Generates a plugin that uses a deep learning network or a code replacement library. SeeaudioPluginConfigfor more details.

Only the-juceprojectoption is supported inMATLABOnline.

Name of the plugin class to generate. The plugin class must be on the MATLAB path. It must derive from either theaudioPluginclass or theaudioPluginSourceclass.

You can specify the plugin class to generate by specifying its class name or file name. For example, the following syntaxes perform equivalent operations:

  • generateAudioPlugin myPlugin

  • generateAudioPlugin myPlugin.m

If you want to specify the plugin class by file name, and your plugin class is inside a package, you must specify the package as a file path. For example, the following syntaxes perform equivalent operations:

  • generateAudioPlugin myPluginPackage.myPlugin

  • generateAudioPlugin +myPluginPackage/myPlugin.m

Limitations

Build problems can occur when using folder names with spaces. For more information, seeBuild Process Support for Folder Names(Simulink Coder)andWhy is the build process failing for a shipped model in Simulink or for a model run in Accelerator mode?.

More About

collapse all

Generated VST Plugin File Extension

The extension of your generated VST plugin depends on your operating system.

Operating System

File Extension

Windows

.dll

macOS

.vst

Introduced in R2016a