loadAudioPlugin

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

Описание

пример

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

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

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

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

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

hostedPlugin.DisplayMode = 'Parameters';

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

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

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

  • audioOut = process(hostedPlugin, audioIn)

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

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

  • значение = getParameter(hostedPlugin, параметр)

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

  • setParameter(hostedPlugin, параметр, 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)
class(hostedSourcePlugin)

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

hostedSourcePlugin
hostedPlugin

Загрузите плагин аудио 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