parameterTuner

Настройте параметры объекта при потоковой передаче

Синтаксис

Описание

пример

H = parameterTuner(obj) создает параметр, настраивающий пользовательский интерфейс, и возвращает указатель фигуры, H.

Примеры

свернуть все

parameterTuner позволяет графически настройкам параметров нескольких объектов. В этом примере вы используете перекрестный фильтр, чтобы разделить сигнал в несколько поддиапазонов и затем применить различные эффекты к поддиапазонам.

Создайте dsp.AudioFileReader читать в покадровом аудио. Создайте audioDeviceWriter записать аудио в вашу звуковую карту.

fileReader = dsp.AudioFileReader('FunkyDrums-48-stereo-25secs.mp3', ...
                                 'PlayCount',2);
deviceWriter = audioDeviceWriter('SampleRate',fileReader.SampleRate);

Создайте crossoverFilter с двумя перекрестными соединениями, чтобы разделить аудио в три полосы. Вызовите visualize построить частотные характеристики фильтров. Вызовите parameterTuner открыть пользовательский интерфейс, чтобы настроить частоты среза при потоковой передаче.

xFilt = crossoverFilter('SampleRate',fileReader.SampleRate,'NumCrossovers',2);
visualize(xFilt)
parameterTuner(xFilt)

Создайте два compressor объекты применить сжатие динамического диапазона на два из поддиапазонов. Вызовите visualize построить статическую характеристику обоих из компрессоров. Вызовите parameterTuner открыть UIs, чтобы настроить статические характеристики.

cmpr1 = compressor('SampleRate',fileReader.SampleRate);
visualize(cmpr1)
parameterTuner(cmpr1)

cmpr2 = compressor('SampleRate',fileReader.SampleRate);
visualize(cmpr2)

parameterTuner(cmpr2)

Создайте audiopluginexample.Chorus применять эффект хора к одной из полос. Вызовите parameterTuner открыть пользовательский интерфейс, чтобы настроить параметры плагина хора.

chorus = audiopluginexample.Chorus;
setSampleRate(chorus,fileReader.SampleRate);
parameterTuner(chorus)

В цикле аудиопотока:

  1. Читайте в системе координат аудио из файла.

  2. Разделите аудио в три полосы, использующие перекрестный фильтр.

  3. Примените сжатие динамического диапазона к первым и вторым полосам.

  4. Примените эффект хора к третьей полосе.

  5. Суммируйте диапазоны звуковых частот.

  6. Запишите систему координат аудио к вашему аудио устройству для слушания.

while ~isDone(fileReader)
    audioIn = fileReader();
    
    [b1,b2,b3] = xFilt(audioIn);
    
    b1 = cmpr1(b1);
    b2 = cmpr2(b2);
    b3 = process(chorus,b3);
    
    audioOut = b1+b2+b3;

    deviceWriter(audioOut);
    
    drawnow limitrate % Process parameterTuner callbacks
end

Как лучшая практика, выпустите свои объекты, однажды сделанные.

release(fileReader)
release(deviceWriter)

Создайте dsp.AudioFileReader читать в покадровом аудио. Создайте audioDeviceWriter записать аудио в вашу звуковую карту. Используйте loadAudioPlugin загружать плагин эквалайзера. Если вы используете Mac, заменяете .dll расширение файла с .vst.

fileReader = dsp.AudioFileReader('FunkyDrums-48-stereo-25secs.mp3');
deviceWriter = audioDeviceWriter('SampleRate',fileReader.SampleRate);

pluginPath = fullfile(matlabroot,'toolbox/audio/samples/ParametricEqualizer.dll');
eq = loadAudioPlugin(pluginPath);
setSampleRate(eq,fileReader.SampleRate);

Вызовите parameterTuner открыть пользовательский интерфейс для настроек параметров эквалайзера при потоковой передаче.

parameterTuner(eq)

В цикле аудиопотока:

  1. Читайте в системе координат аудио из файла.

  2. Примените эквализацию.

  3. Запишите систему координат аудио к вашему аудио устройству для слушания.

while ~isDone(fileReader)
    audioIn = fileReader();
    audioOut = process(eq,audioIn);
    deviceWriter(audioOut);
    
    drawnow limitrate % Process parameterTuner callbacks
end

Как лучшая практика, выпустите свои объекты, однажды сделанные.

release(fileReader)
release(deviceWriter)

Создайте dsp.AudioFileReader читать в покадровом аудио. Создайте audioDeviceWriter записать аудио в вашу звуковую карту. Создайте audiopluginexample.Flanger обработать аудиоданные и установить частоту дискретизации.

fileReader = dsp.AudioFileReader('RockGuitar-16-96-stereo-72secs.flac');
deviceWriter = audioDeviceWriter('SampleRate',fileReader.SampleRate);

flanger = audiopluginexample.Flanger;
setSampleRate(flanger,fileReader.SampleRate);

Вызовите parameterTuner открыть пользовательский интерфейс для настроек параметров фленджера при потоковой передаче.

parameterTuner(flanger)

В цикле аудиопотока:

  1. Читайте в системе координат аудио из файла.

  2. Примените фланжирование.

  3. Запишите систему координат аудио к вашему аудио устройству для слушания.

while ~isDone(fileReader)
    audioIn = fileReader();
    audioOut = process(flanger,audioIn);
    deviceWriter(audioOut);
    
    drawnow limitrate % Process parameterTuner callbacks
end

Как лучшая практика, выпустите свои объекты, однажды сделанные.

release(fileReader)
release(deviceWriter)

Создайте dsp.AudioFileReader читать в покадровом аудио. Создайте audioDeviceWriter записать аудио в вашу звуковую карту. Создайте compressor обработать аудиоданные. Вызовите visualize построить статическую характеристику compressor.

frameLength = 1024;
fileReader = dsp.AudioFileReader('RockDrums-44p1-stereo-11secs.mp3', ...
    'SamplesPerFrame',frameLength);
deviceWriter = audioDeviceWriter('SampleRate',fileReader.SampleRate);

dRC = compressor('SampleRate',fileReader.SampleRate);
visualize(dRC)

Создайте dsp.TimeScope визуализировать исходное и обработанное аудио.

scope = dsp.TimeScope( ...
    'SampleRate',fileReader.SampleRate, ...
    'TimeSpan',1, ...
    'BufferLength',fileReader.SampleRate*4, ...
    'YLimits',[-1,1], ...
    'TimeSpanOverrunAction','Scroll', ...
    'ShowGrid',true, ...
    'LayoutDimensions',[2,1], ...
    'NumInputPorts',2, ...
    'Title','Original vs. Compressed Audio (top) and Compressor Gain in dB (bottom)');
scope.ActiveDisplay = 2;
scope.YLimits = [-4,0];
scope.YLabel = 'Gain (dB)';

Вызовите parameterTuner открыть пользовательский интерфейс для настроек параметров компрессора при потоковой передаче.

parameterTuner(dRC)

В цикле аудиопотока:

  1. Читайте в системе координат аудио из файла.

  2. Примените сжатие динамического диапазона.

  3. Запишите систему координат аудио к вашему аудио устройству для слушания.

  4. Визуализируйте исходное аудио, обработанное аудио и примененное усиление.

В то время как потоковая передача, настройки параметров компрессора динамического диапазона и слушает эффект.

while ~isDone(fileReader)
    audioIn = fileReader();
    [audioOut,g] = dRC(audioIn);
    deviceWriter(audioOut);
    scope([audioIn(:,1),audioOut(:,1)],g(:,1));
    drawnow limitrate % required to update parameter
end

Как лучшая практика, выпустите свои объекты, однажды сделанные.

release(deviceWriter)
release(fileReader)
release(dRC)
release(scope)

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

свернуть все

Объект настроиться, заданный как объект, который наследовался audioPlugin или один из следующих объектов Audio Toolbox™:

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

свернуть все

Плановый показатель, возвращенный как Figure объект.

Смотрите также

|

Введенный в R2019a