loadAudioPlugin

Загрузите VST, VST3 и плагины AU в среду MATLAB

Синтаксис

hostedPlugin = loadAudioPlugin(pluginpath)

Описание

пример

hostedPlugin = loadAudioPlugin(pluginpath) загружает 64-битный VST, VST3 или плагин аудио AU, заданный pluginpath. На Windows® можно загрузить VST и плагины VST3. На macOS можно загрузить AU, VST и плагины VST3.

Ваш размещенный плагин имеет два режима отображения: Parameters и Properties. Режимом отображения по умолчанию является Properties.

  • Параметры Взаимодействуйте с нормированными значениями параметров размещенного набора использования плагина и получите функции.

  • Свойства Взаимодействуйте с эвристическим образом интерпретированными параметрами с реальными значениями. Можно использовать стандартную запись через точку, чтобы установить и получить значения при использовании этого режима.

Можно задать режим отображения размещенного плагина с помощью стандартной записи через точку, например:

hostedPlugin.DisplayMode = 'Parameters';

Смотрите Хост Внешние Аудио Плагины для обсуждения режимов отображения и пошаговой демонстрации обоих режимов взаимодействия.

Можно взаимодействовать с и осуществить размещенный плагин с помощью следующих функций.

Аудио процесса

  • audioOut = process(hostedPlugin,audioIn)

    Возвращает звуковой сигнал, обработанный согласно алгоритму и параметрам размещенного плагина. Для исходных плагинов вызовите process без аудиовхода.

Установите и получите нормированные значения параметров

  • value = getParameter(hostedPlugin,parameter)

    Возвращает нормированное значение заданного размещенного сменного параметра. Нормированные значения находятся в области значений [0,1]. Можно задать параметр его именем или его индексом. Чтобы задать имя, используйте вектор символов.

  • setParameter(hostedPlugin,parameter,newValue)

    Устанавливает нормированное значение заданного размещенного сменного параметра к newValue. Нормированные значения находятся в области значений [0,1].

Получите высокоуровневую информацию о размещенном плагине

  • dispParameter(hostedPlugin)

    Отображения все параметры и сопоставленные индексы, значения, отобразили значения и метки отображения размещенного плагина.

  • pluginInfo = info(hostedPlugin)

    Возвращает структуру, содержащую информацию о размещенном плагине.

Установите среду, в которой запущен плагин

  • frameSize = getSamplesPerFrame(hostedPlugin)

    Возвращает формат кадра, который размещенный плагин возвращает в последующих вызовах его функции обработки (только исходные плагины).

  • setSamplesPerFrame(hostedPlugin,frameSize)

    Устанавливает формат кадра, который размещенный плагин должен возвратить в последующих вызовах его функции обработки (только исходные плагины).

  • setSampleRate(hostedPlugin,sampleRate)

    Устанавливает частоту дискретизации размещенного плагина.

  • sampleRate = getSampleRate(hostedPlugin)

    Возвращает частоту дискретизации в Гц, на уровне которого запускается плагин.

Примеры

свернуть все

Используйте loadAudioPlugin, чтобы разместить VST внешний плагин и VST внешний исходный плагин в MATLAB®.

Используйте команду fullfile, чтобы определить полный путь к осциллятору плагин VST и параметрический эквалайзер плагин VST, включенный с Audio Toolbox™. Если вы используете Mac, заменяете расширение файла .dll на .vst.

oscPluginPath = ...
    fullfile(matlabroot,'toolbox/audio/samples/oscillator.dll');
EQPluginPath = ...
    fullfile(matlabroot,'toolbox/audio/samples/ParametricEqualizer.dll');

Создайте внешние сменные объекты путем вызова loadAudioPlugin для каждого из сменных путей.

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

Размещенные плагины выводят или от externalAudioPlugin или от класса externalAudioSourcePlugin. Поскольку oscillator.dll является исходным плагином аудио, размещенный объект выводит от externalAudioSourcePlugin. Используйте class(), чтобы проверить классы размещенных плагинов.

class(hostedPlugin)
ans =

    'externalAudioPlugin'

class(hostedSourcePlugin)
ans =

    'externalAudioPluginSource'

Вызовите размещенные плагины, чтобы отобразить основную информацию о них. Эта информация включает формат, сменное имя, количество каналов в и, и настраиваемые свойства плагина. Исходные плагины также отображают формат кадра плагина.

hostedSourcePlugin
hostedPlugin
hostedSourcePlugin = 

  VST plugin 'oscillator'  source, 1 out, 256 samples

    Frequency: 100 Hz
    Amplitude: 1 AU
     DCOffset: 0 AU

hostedPlugin = 

  VST plugin 'ParametricEQ'  2 in, 2 out

              LowPeakGain: 0 dB
       LowCenterFrequency: 100 Hz
               LowQFactor: 2
           MediumPeakGain: 0 dB
    MediumCenterFrequency: 1000 Hz
            MediumQFactor: 2
             HighPeakGain: 0 dB
      HighCenterFrequency: 10000 Hz
              HighQFactor: 2

Загрузите плагин аудио VST в MATLAB™ путем определения его полного пути. Если вы используете Mac, заменяете расширение файла .dll на .vst.

pluginPath = ...
    fullfile(matlabroot,'toolbox/audio/samples/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;

Используйте размещенный плагин, чтобы обработать звуковой файл в цикле аудиопотока. Разверните среднее пиковое усиление вверх в цикле, чтобы услышать эффект.

while hostedPlugin.MediumPeakGain < 19
    hostedPlugin.MediumPeakGain = hostedPlugin.MediumPeakGain + 0.04;
    x = fileReader();
    y = process(hostedPlugin,x);
    deviceWriter(y);
end

release(fileReader)
release(deviceWriter)

Загрузите плагин источника аудиосигналов VST в MATLAB™ путем определения его полного пути. Если вы используете Mac, заменяете расширение файла .dll на .vst.

pluginPath = fullfile(matlabroot,'toolbox','audio','samples','oscillator.dll');
hostedSourcePlugin = loadAudioPlugin(pluginPath);

Установите свойство Amplitude на 0,5. Установите свойство Frequency на 16 кГц.

hostedSourcePlugin.Amplitude = 0.5;
hostedSourcePlugin.Frequency = 16000;

Установите частоту дискретизации, на уровне которой можно запустить плагин. Создайте выходной объект записать в ваше аудио устройство.

setSampleRate(hostedSourcePlugin,44100);
deviceWriter = audioDeviceWriter('SampleRate',44100);

Используйте размещенный исходный плагин, чтобы вывести аудиопоток. Обработка в цикле аудиопотока сползает параметр частоты вниз и затем.

k = 1;
for i = 1:1000
    hostedSourcePlugin.Frequency = hostedSourcePlugin.Frequency - 30*k;
    y = process(hostedSourcePlugin);
    deviceWriter(y);
    if (hostedSourcePlugin.Frequency - 30 <= 0.1) || ...
            (hostedSourcePlugin.Frequency + 30 >= 20e3)
        k = -1*k;
    end
end

release(deviceWriter)

Входные параметры

свернуть все

Местоположение внешнего плагина, заданного как вектор символов. Используйте полный путь, чтобы задать аудио плагин, который вы хотите разместить в MATLAB®. Если плагин расположен в текущей папке, задайте его ее именем.

Пример: loadAudioPlugin('coolPlugin.dll')

Пример: loadAudioPlugin('C:\Program Files\VSTPlugins\coolPlugin.dll')

Сменный путь для Mac

Для macOS сменные местоположения предопределяются в зависимости от того, если плагин был сохранен в масштабе всей системы или для конкретного пользователя.

Эта таблица показывает пути в масштабе всей системы.

Сменный типPath
VST2

/Library/Audio/Plug-Ins/VST/coolPlugin.vst

VST3

/Library/Audio/Plug-Ins/VST3/coolPlugin.vst3

AU

/Library/Audio/Plug-Ins/Components/coolPlugin.component

Эта таблица показывает специфичные для пользователя пути.

Сменный типPath
VST2

~/Library/Audio/Plug-Ins/VST/coolPlugin.vst

VST3

~/Library/Audio/Plug-Ins/VST3/coolPlugin.vst3

AU

~/Library/Audio/Plug-Ins/Components/coolPlugin.component

Выходные аргументы

свернуть все

Объект внешнего плагина, выведенного от externalAudioPlugin или класса externalAudioSourcePlugin. Можно взаимодействовать с размещенным плагином, как DAW был бы с дополнительной функциональностью среды MATLAB.

Ограничения

Функция loadAudioPlugin поддерживает 64-битные плагины только. Вы не можете загрузить 32-битные плагины с помощью функции loadAudioPlugin.

Введенный в R2017b