generateAudioPlugin
Generate audio plugin from MATLAB class
Description
generateAudioPlugin
generates a VST 2 audio plugin from a MATLAB® class specified by className
className
. See Supported
Compilers for a list of compilers supported by
generateAudioPlugin
.
Examples
Generate Audio Plugin
generateAudioPlugin audiopluginexample.Echo
.......
A VST 2 plugin with file name Echo
is saved to your current folder. The extension of your plugin depends on your operating system.
Specify Output Folder for Generated Plugin
mkdir(fullfile(pwd,'myPluginFolder')) generateAudioPlugin -outdir myPluginFolder audiopluginexample.Echo
.......
A VST 2 plugin with file name Echo
is saved to your specified folder, myPluginFolder
. The extension of your plugin depends on your operating system.
Specify File Name of Generated Plugin
generateAudioPlugin -output awesomeEffect audiopluginexample.Echo
.......
A VST 2 plugin with file name awesomeEffect
is saved to your current folder. The extension of your plugin depends on your operating system.
Specify Output Folder and File Name of Generated Plugin
mkdir(fullfile(pwd,'myPluginFolder')) generateAudioPlugin -output coolEffect -outdir myPluginFolder audiopluginexample.Echo
.......
A VST 2 plugin with file name coolEffect
is saved to your specified folder, myPluginFolder
. The extension of your plugin depends on your operating system.
Generate win32 Plugin from win64 System
generateAudioPlugin -win32 audiopluginexample.Echo
.......
A 32-bit VST 2 plugin with file name Echo.dll
is saved to your current folder.
Generate JUCE-Compatible Zip File
generateAudioPlugin -juceproject audiopluginexample.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.
Generate Standalone Executable
To generate a binary standalone executable, use the -exe
option. The following command saves Echo.exe
to your current folder.
generateAudioPlugin -exe audiopluginexample.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
options
— Options to specify output folder, plugin name, and file type
-au
| -vst
| -vst3
| -exe
| -juceproject
| -output fileName
| -outdir folder
| -win32
| -mac64universal
| -audioconfig cfg
fileName
folder
cfg
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 valid only on macOS. |
-vst | Generates a VST 2 audio plugin binary. By default,
generateAudioPlugin generates a
VST 2 plugin. |
-vst3 | Generates a VST 3 audio plugin binary. This option
adds a Bypass parameter to the
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 using Options. |
-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 a MATLAB Coder™ license. To use the generated files with JUCE, you must obtain your own appropriately licensed copy of JUCE. |
-output
| Specifies the file name of the generated plugin
or zip file. The appropriate extension is appended
to the |
-outdir
| Generates a plugin or zip file to a specific
folder. By default, the generated plugin is placed
in the current folder. If
|
-win32 | Creates a 32-bit audio plugin. Valid only on
win64 Windows® platforms. This option does not
support the
|
-mac64universal | Creates a Mac audio plugin for use on Intel® and Apple Silicon. This option works only on
Macintosh platforms. This option does not
support the
|
-audioconfig
| Generates a plugin that uses a deep learning
network or a code replacement library. See |
Only the -juceproject
option is supported
in MATLAB
Online.
className
— Name of plugin class to generate
plugin class
Name of the plugin class to generate. The plugin class must be on the
MATLAB path. It must derive from either the audioPlugin
class or the audioPluginSource
class.
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, see Build Process Support for Folder Names (Simulink Coder) and Why is the build process failing for a shipped model in Simulink or for a model run in Accelerator mode?.
More About
Generated VST Plugin File Extension
The extension of your generated VST plugin depends on your operating system.
Operating System | File Extension |
---|---|
Windows |
|
macOS |
|
Version History
Abrir ejemplo
Tiene una versión modificada de este ejemplo. ¿Desea abrir este ejemplo con sus modificaciones?
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)