класс externalAudioPlugin

Базовый класс для внешних аудио плагинов

Описание

externalAudioPlugin является базовым классом для размещенных аудио плагинов. Когда вы загружаете внешний плагин с помощью loadAudioPlugin, объект того плагина создается, имея externalAudioPlugin или externalAudioPluginSource как базовый класс. Класс externalAudioPluginSource используется, когда внешний аудио плагин является исходным плагином.

Для примера при хостинге аудио плагинов смотрите Хост Внешние Аудио Плагины.

Методы

dispParameterОтобразите информацию сингла или нескольких параметров
getParameterПолучите нормированное значение и информацию о параметре
информацияПолучите информацию о размещенном плагине
процессАудиопоток процесса
setParameterУстановите нормированное значение параметров размещенного плагина

Унаследованные методы

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

Копировать семантику

Указатель. Чтобы изучить, как классы Handle влияют на операции копии, смотрите Поведение объекта (MATLAB) в документации MATLAB®.

Примеры

свернуть все

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

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

Используйте info, чтобы возвратить информацию о размещенном плагине.

info(hostedPlugin)
ans = 

  struct with fields:

        PluginName: 'ParametricEQ'
            Format: 'VST'
     InputChannels: 2
    OutputChannels: 2
         NumParams: 9
        PluginPath: 'E:\jobarchive\Bdsp\2018_07_19_h20m03s12_job916096_pass\matlab\toolbox\audio\samples\ParametricEqualizer.dll'
        VendorName: ''
     VendorVersion: 'V1.0.0'
          UniqueId: 'MWap'

Используйте setParameter, чтобы изменить нормированное значение параметра Medium Center Frequency к 0,75. Задайте параметр его индексом.

setParameter(hostedPlugin,5,0.75)

Когда вы устанавливаете нормированное значение параметров, значение отображения параметра автоматически обновляется. Нормированное значение параметров обычно соответствует положению виджета пользовательского интерфейса или MIDI-контроллера. Значение отображения параметра обычно отражает значение, используемое внутренне для обработки.

Используйте dispParameter, чтобы отобразить обновленную таблицу параметров.

dispParameter(hostedPlugin)
                       Parameter    Value    Display
        _____________________________________________
     1             Low Peak Gain:   0.5000      0.000 dB
     2      Low Center Frequency:   0.2330    100.000 Hz
     3              Low Q Factor:   0.2822      2.000   
     4          Medium Peak Gain:   0.5000      0.000 dB
     5   Medium Center Frequency:   0.7500   3556.559 Hz
     6           Medium Q Factor:   0.2822      2.000   
     7            High Peak Gain:   0.5000      0.000 dB
     8     High Center Frequency:   0.8997   9999.999 Hz
     9             High Q Factor:   0.2822      2.000   

Также можно использовать getParameter, чтобы возвратить нормированное значение одного параметра.

parameterIndex = 5;
parameterValue = getParameter(hostedPlugin,parameterIndex)
parameterValue =

    0.7500

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

Введенный в R2017b