matlab-write-audio-plugin

Author MATLAB Audio Toolbox plugins that validate and compile to VST/AU binaries.

995|122|Updated Apr 3, 2026
One-click install
npx skills add https://github.com/matlab/matlab-agentic-toolkit --skill matlab-write-audio-plugin
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: matlab-write-audio-plugin
Source: https://github.com/matlab/matlab-agentic-toolkit/tree/main/skills-catalog/signal-processing/matlab-write-audio-plugin
Command: npx skills add https://github.com/matlab/matlab-agentic-toolkit --skill matlab-write-audio-plugin

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Writing MATLAB audio plugins that pass validateAudioPlugin and compile to deployable VST/AU binaries requires deep knowledge of codegen constraints, buffer sizing, parameter mapping, and lifecycle rules that are easy to get wrong.

Core Features & Use Cases

  • Plugin Authoring Guidance: Provides the canonical classdef structure for audioPlugin and audioPluginSource classes, including PluginInterface definition, process/reset methods, and tunable parameter mapping.
  • Codegen Compliance Rules: Covers fixed-size buffer allocation, complex array initialization, switch completeness, sub-object construction, and dsp.AsyncBuffer patterns that codegen requires.
  • Validation and Generation Workflow: Walks through validateAudioPlugin, checkcode cleanup, and generateAudioPlugin with format flags for VST2, VST3, AU, standalone executables, and JUCE projects.
  • Use Case: A user asks to build a real-time denoising plugin using a pretrained neural network; the Skill supplies the AsyncBuffer framing pattern, coder.loadDeepLearningNetwork inference function, and audioPluginConfig settings needed to generate a working VST.

Quick Start

Use this skill to write a MATLAB audio plugin class that passes validateAudioPlugin and generates a VST3 binary.

Frequently Asked Questions about matlab-write-audio-plugin

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write an audio plugin in MATLAB?

Create a classdef file inheriting from audioPlugin with %#codegen, define tunable public properties, declare a Constant PluginInterface using audioPluginInterface and audioPluginParameter, and implement process and reset methods. Then run validateAudioPlugin to test it.

How do I generate a VST plugin from MATLAB code?

Run generateAudioPlugin on your validated plugin class. The default output is VST 2; use flags like -vst3, -au, -exe, or -juceproject to select other formats depending on your platform.

Why does validateAudioPlugin fail with variable-size errors?

Codegen locks property sizes from the constructor's last assignment, so concatenating to shift buffers or using colon indexing on columns creates variable-size results. Pre-allocate buffers at maximum size and use indexed assignment instead.

Can I use deep learning networks inside a MATLAB audio plugin?

Yes, load the network with coder.loadDeepLearningNetwork in a persistent variable, feed fixed-size frames via dsp.AsyncBuffer, and declare audioPluginConfig with DeepLearningConfig set to coder.DeepLearningConfig('none') for deployment.

Can I generate Audio Unit plugins on Windows or Linux?

No, AU and AUV3 generation is macOS only, and compiled binaries are unavailable on Linux. On Linux use -juceproject to produce a JUCE project, and on Windows use -vst or -vst3 instead of AU.

When should I not use the audioPlugin framework?

Avoid it for general MATLAB class authoring, audio file I/O or feature extraction without a plugin, Simulink audio blocks, and non-plugin Audio Toolbox functions like audioDatastore or audioFeatureExtractor.