Задайте аудио сменные параметры
pluginParameter = audioPluginParameter(propertyName)
pluginParameter = audioPluginParameter(propertyName,Name,Value)
pluginParameter = audioPluginParameter(
возвращает объект, propertyName
)pluginParameter
, который сопоставляет аудио сменный параметр к аудио сменному свойству, заданному propertyName
. Используйте сменный объект параметра, pluginParameter
, в качестве аргумента к функции audioPluginInterface
в вашем сменном определении класса.
В среде цифровой звуковой рабочей станции (DAW), или при использовании Audio Test Bench в среде MATLAB®, сменные параметры являются настраиваемыми, стоящими с пользователем переменными с заданными областями значений, сопоставленными со средствами управления. Когда вы изменяете значение параметров с помощью управления, связанное сменное свойство также изменяется. Если алгоритм обработки аудиоданных плагина зависит от свойств, алгоритм также изменяется.
Чтобы визуализировать отношение между сменными свойствами, параметрами, и средой, в которой запущен плагин, смотрите Реализацию Аудио Сменных Параметров.
pluginParameter = audioPluginParameter(
задает свойства propertyName
,Name,Value
)audioPluginParameter
с помощью одного или нескольких аргументов пары Name,Value
.
Создайте основной аудио сменный файл определения класса. Задайте свойство, Gain
и функцию обработки, которая умножается введенный Gain
.
classdef myAudioPlugin < audioPlugin properties Gain = 1; end methods function out = process(plugin,in) out = in*plugin.Gain; end end end
Добавьте постоянное свойство, PluginInterface
, который задан как объект audioPluginInterface
.
classdef myAudioPlugin < audioPlugin properties Gain = 1; end properties (Constant) PluginInterface = audioPluginInterface; end methods function out = process(plugin,in) out = in*plugin.Gain; end end end
Передайте audioPluginParameter
audioPluginInterface
. Чтобы сопоставить сменное свойство, Gain
, к сменному параметру, задает первый аргумент audioPluginParameter
как имя свойства, 'Gain'
.
classdef myAudioPlugin < audioPlugin properties Gain = 1; end properties (Constant) PluginInterface = audioPluginInterface(... audioPluginParameter('Gain')); end methods function out = process(plugin,in) out = in*plugin.Gain; end end end
Создайте основной сменный файл определения класса. Задайте 'DisplayName'
как 'Awesome Gain'
, 'Label'
как 'linear'
и 'Mapping'
как {'lin',0,20}
.
classdef myAudioPlugin < audioPlugin properties Gain = 1; end properties (Constant) PluginInterface = audioPluginInterface(... audioPluginParameter('Gain',... 'DisplayName', 'Awesome Gain',... 'Label', 'linear',... 'Mapping', {'lin',0,20})); end methods function out = process(plugin,in) out = in*plugin.Gain; end end end
Следующее определение класса использует целочисленное отображение параметра, чтобы задать отношение между свойством и параметром. Можно использовать плагин, созданный из этого класса, чтобы настроить линейное усиление звукового сигнала на целочисленных шагах от 0 до 3.
classdef pluginWithIntegerMapping < audioPlugin properties Gain = 1; end properties (Constant) PluginInterface = audioPluginInterface( ... audioPluginParameter('Gain', ... 'Mapping', {'int',0,3})); end methods function out = process(plugin,in) out = in*plugin.Gain; end end end
Чтобы запустить плагин, сохраните определение класса в локальную папку и затем вызовите Audio Test Bench.
audioTestBench(pluginWithIntegerMapping)
Следующее определение класса использует отображение параметра степени, чтобы задать отношение между свойством и параметром. Можно использовать плагин, созданный из этого класса, чтобы настроить усиление звукового сигнала в дБ.
classdef pluginWithPowerMapping < audioPlugin properties Gain = 0; end properties (Constant) PluginInterface = audioPluginInterface( ... audioPluginParameter('Gain', ... 'Label', 'dB', ... 'Mapping', {'pow', 1/3, -140, 12})); end methods function out = process(plugin,in) dBGain = 10^(plugin.Gain/20); out = in*dBGain; end end end
Чтобы запустить плагин, сохраните определение класса в локальную папку и затем вызовите Audio Test Bench.
audioTestBench(pluginWithPowerMapping)
Следующее определение класса использует логарифмическое отображение параметра, чтобы задать отношение между свойством и параметром. Можно использовать плагин, созданный из этого класса, чтобы настроить центральную частоту одно полосы фильтр EQ от 100 до 10 000.
classdef pluginWithLogMapping < audioPlugin properties EQ CenterFrequency = 1000; end properties (Constant) PluginInterface = audioPluginInterface( ... audioPluginParameter('CenterFrequency', ... 'Mapping', {'log',100,10000})); end methods function plugin = pluginWithLogMapping plugin.EQ = multibandParametricEQ('NumEQBands',1, ... 'PeakGains',20, ... 'Frequencies',plugin.CenterFrequency); end function out = process(plugin,in) out = plugin.EQ(in); end function set.CenterFrequency(plugin,val) plugin.CenterFrequency = val; plugin.EQ.Frequencies = val; end function reset(plugin) plugin.EQ.SampleRate = getSampleRate(plugin); end end end
Чтобы запустить плагин, сохраните определение класса в локальную папку и затем вызовите Audio Test Bench.
audioTestBench(pluginWithLogMapping)
Следующее определение класса использует отображение параметра перечисления, чтобы задать отношение между свойством и параметром. Можно использовать плагин, созданный из этого класса, чтобы блокироваться или пройти через звуковой сигнал путем настройки параметра PassThrough
.
classdef pluginWithLogicalEnumMapping < audioPlugin properties PassThrough = true; end properties (Constant) PluginInterface = audioPluginInterface( ... audioPluginParameter('PassThrough', ... 'Mapping', {'enum','Block signal','Pass through'})); end methods function out = process(plugin,in) if plugin.PassThrough out = in; else out = zeros(size(in)); end end end end
Чтобы запустить плагин, сохраните определение класса в локальную папку и затем вызовите Audio Test Bench.
audioTestBench(pluginWithLogicalEnumMapping)
Следующие определения классов включают простой пример отображения параметра перечисления для свойств, заданных классом перечисления. Можно задать рабочий режим плагина, созданного из этого класса путем настройки параметра Mode
.
Сменное определение класса
classdef pluginWithEnumMapping < audioPlugin properties Mode = OperatingMode.boost; end properties (Constant) PluginInterface = audioPluginInterface(... audioPluginParameter('Mode',... 'Mapping',{'enum','+6 dB','-6 dB','silence','white noise'})); end methods function out = process(plugin,in) switch (plugin.Mode) case OperatingMode.boost out = in * 2; case OperatingMode.cut out = in / 2; case OperatingMode.mute out = zeros(size(in)); case OperatingMode.noise out = rand(size(in)) - 0.5; otherwise out = in; end end end end
Определение класса перечисления
classdef OperatingMode < int8 enumeration boost (0) cut (1) mute (2) noise (3) end end
Чтобы запустить плагин, сохраните плагин и файлы определения класса перечисления к локальной папке. Затем вызовите Audio Test Bench на сменном классе.
audioTestBench(pluginWithEnumMapping)
propertyName
Имя аудио сменного свойстваИмя аудио сменного свойства, которое вы хотите сопоставить с параметром, заданным как вектор символов. Введите имя свойства точно, когда оно задано в разделе свойства вашего аудио сменного класса.
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
'DisplayName','Gain','Label','dB'
задает имя отображения вашего параметра как 'Gain'
и метка отображения для модулей значения параметров как 'dB'
.DisplayName
Отобразите имя параметраОтобразите имя своего параметра, заданного как пара, разделенная запятой, состоящая из 'DisplayName'
и вектора символов. Если 'DisplayName'
не задан, имя связанного свойства используется.
Имя отображения вашего параметра используется в среде цифровой звуковой рабочей станции (DAW), и при использовании Audio Test Bench в среде MATLAB.
'Label'
— Display для модулей значения параметровОтобразите метку для модулей значения параметров, заданных как пара, разделенная запятой, состоящая из 'Label'
и вектора символов.
Метка отображения для модулей значения параметров используется в среде цифровой звуковой рабочей станции (DAW), и при использовании Audio Test Bench в среде MATLAB.
Пара "имя-значение" 'Label'
проигнорирована для нечисловых параметров.
'Mapping'
— Отображение между свойством и областью значений параметраОтображение между свойством и областью значений параметра, заданной как пара, разделенная запятой, состоящая из 'Mapping'
и массива ячеек.
Parameter range mapping задает отображение между свойством и связанной областью значений параметра.
Первый элемент массива ячеек является вектором символов, задающим вид отображения. Допустимыми значениями является 'lin'
, 'log'
, 'pow'
, 'int'
и 'enum'
. Последующие элементы массива ячеек зависят от вида отображения. Допустимые отображения зависят от типа данных свойства.
Тип данных свойства | Допустимые отображения | Значение по умолчанию |
---|---|---|
'double' | 'lin' , 'log' , 'pow' , 'int' | {'lin' , 0 , 1 } |
логический | 'enum' | {'enum' , 'off' , 'on' } |
класс перечисления | 'enum' | имена перечисления |
Отображение | Описание | Пример |
---|---|---|
'lin' |
Задает линейное соотношение с данными минимальными и максимальными значениями.
|
{ Простой пример: укажите информацию параметра |
'log' |
Задает логарифмическое отношение с данными минимальными и максимальными значениями, где положение управления сопоставляет с логарифмом значения свойства. Минимальное значение должно быть больше, чем
|
{ Простой пример: логарифмическое отображение параметра |
'pow' |
Задает отношение закона о степени с данной экспонентой, минимумом и максимальными значениями. Значение свойства связано с положением управления, повышенным до экспоненты:
|
{ Простой пример: отображение параметра степени |
'int' |
Квантует положение управления и сопоставляет его с областью значений последовательных целых чисел с данными минимальными и максимальными значениями.
|
{ Простой пример: целочисленное отображение параметра |
(Логический) | Опционально обеспечивает векторы символов для отображения на сменном диалоговом окне. |
Простой пример: перечисление для логического отображения параметра свойств |
| Опционально предоставляет векторы символов членам класса перечисления. |
{ Простой пример: 'перечисление' для отображения параметра класса перечисления |
Для нетривиальных примеров аудио сменного отображения параметра смотрите галерею Audio Plugin Example.
Аудио сменные параметры являются видимыми и настраиваемыми и в MATLAB и в средах цифровой звуковой рабочей станции (DAW).
Среда MATLAB. Используйте Audio Test Bench, чтобы взаимодействовать со сменными параметрами в среде MATLAB.
Среда DAW. Используйте generateAudioPlugin
, чтобы развернуть ваш аудио плагин на среде DAW. Среда DAW определяет точное размещение сменных параметров, как замечено сменным пользователем.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.