Аудио плагин инкапсулирует алгоритм обработки аудиоданных и позволяет вам настроить параметры алгоритма в то время как передача потокового аудио.
Чтобы задать плагин, который позволяет пользователям настроить ширину стерео:
Создайте определение класса, которое наследовалось audioPlugin
.
Параметризуйте ширину стерео алгоритма обработки путем определения общественной собственности Width
.
Позвольте пользователям настроить ширину стерео путем определения audioPluginInterface
это содержит Width
как audioPluginParameter
.
Задайте обработку аудиоданных путем создания process
метод. process
метод берет аудиовход, in
, и настраивает ширину стерео путем: (a) применения середины кодирования стороны, (b) корректировки ширины стерео на основе управляемого пользователями Width
параметр, и затем (c) применение середины декодирования стороны.
classdef StereoWidth < audioPlugin % <== (1) Inherit from audioPlugin. properties Width = 1; % <== (2) Define tunable property. end properties (Constant) PluginInterface = audioPluginInterface( ... % <== (3) Map tunable property to plugin parameter. audioPluginParameter('Width', ... 'Mapping',{'pow',2,0,4})); end methods function out = process(plugin,in) %< == (4) Define audio processing. x = [in(:,1) + in(:,2), in(:,1) - in(:,2)]; % (a) Mid-side encoding. y = [x(:,1), x(:,2)*plugin.Width]; % (b) Adjust stereo width. out = [(y(:,1) + y(:,2))/2, (y(:,1) - y(:,2))/2]; % (c) Mid-side decoding. end end end
Если вы задали аудио плагин, можно моделировать его с помощью приложения Audio Test Bench. Приложение Audio Test Bench позволяет потоковому аудио через плагин, в то время как вы настройки параметров, выполните аудирование и визуализируйте исходное и обработанное аудио. Открыть ваш StereoWidth
плагин в приложении Audio Test Bench, в командной строке MATLAB®, введите:
audioTestBench(StereoWidth)
Можно подтвердить плагин аудио MATLAB® и сгенерировать плагин VST от Audio Test Bench. Можно также подтвердить и сгенерировать плагин из командной строки при помощи validateAudioPlugin
и generateAudioPlugin
функции. После того, как сгенерированный, можно развернуть плагин в цифровую звуковую рабочую станцию (DAW).
validateAudioPlugin StereoWidth
Checking plug-in class 'StereoWidth'...
passed. Generating testbench file 'testbench_StereoWidth.m'... done. Running testbench... passed. Generating mex file 'testbench_StereoWidth_mex.mexw64'... done. Running mex testbench... passed. Deleting testbench. Ready to generate audio plug-in.
generateAudioPlugin StereoWidth
.......
Плагин VST сохранен в вашу рабочую директорию.
Audio Test Bench | audioPlugin
| audioPluginGridLayout
| audioPluginInterface
| audioPluginParameter
| audioPluginSource
| generateAudioPlugin
| validateAudioPlugin