Настройте параметры объекта при потоковой передаче
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)
В цикле аудиопотока:
Читайте в системе координат аудио из файла.
Разделите аудио в три полосы, использующие перекрестный фильтр.
Примените сжатие динамического диапазона к первым и вторым полосам.
Примените эффект хора к третьей полосе.
Суммируйте диапазоны звуковых частот.
Запишите систему координат аудио к вашему аудио устройству для слушания.
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)

В цикле аудиопотока:
Читайте в системе координат аудио из файла.
Примените эквализацию.
Запишите систему координат аудио к вашему аудио устройству для слушания.
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)

В цикле аудиопотока:
Читайте в системе координат аудио из файла.
Примените фланжирование.
Запишите систему координат аудио к вашему аудио устройству для слушания.
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)

Создайте timescope визуализировать исходное и обработанное аудио.
scope = timescope( ... 'SampleRate',fileReader.SampleRate, ... 'TimeSpanSource','property',... '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)

В цикле аудиопотока:
Читайте в системе координат аудио из файла.
Примените сжатие динамического диапазона.
Запишите систему координат аудио к вашему аудио устройству для слушания.
Визуализируйте исходное аудио, обработанное аудио и примененное усиление.
В то время как потоковая передача, настройки параметров компрессора динамического диапазона и слушает эффект.
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)

obj — Объект настроитьсяaudioPlugin возразите | compressor | expander | limiter | noiseGate | octaveFilter | crossoverFilter | multibandParametericEQ | graphicEQ | audioOscillator | wavetableSynthesizer | reverberatorОбъект настроиться в виде объекта, который наследовался audioPlugin или один из следующих объектов Audio Toolbox™:
H — Плановый показательFigure объектПлановый показатель, возвращенный как Figure объект.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.