Настройте параметры объекта при потоковой передаче
H = parameterTuner(obj)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. Создайте dsp.TimeScope, чтобы визуализировать исходное и обработанное аудио.
frameLength = 1024; fileReader = dsp.AudioFileReader('RockDrums-44p1-stereo-11secs.mp3', ... 'SamplesPerFrame',frameLength); deviceWriter = audioDeviceWriter('SampleRate',fileReader.SampleRate); dRC = compressor('SampleRate',fileReader.SampleRate); visualize(dRC) 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)

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

Создайте dsp.AudioFileReader, чтобы читать в покадровом аудио. Создайте audioDeviceWriter, чтобы записать аудио в вашу звуковую карту. Создайте noiseGate, чтобы обработать аудиоданные.
frameLength = 1024; fileReader = dsp.AudioFileReader('RockDrums-44p1-stereo-11secs.mp3', ... 'SamplesPerFrame',frameLength); deviceWriter = audioDeviceWriter('SampleRate',fileReader.SampleRate); dRG = noiseGate('SampleRate',fileReader.SampleRate);
Вызовите parameterTuner, чтобы открыть пользовательский интерфейс для настроек параметров noiseGate при потоковой передаче.
parameterTuner(dRG)

В цикле аудиопотока:
Читайте в кадре аудио из файла.
Примените пропускание динамического диапазона.
Запишите кадр аудио к вашему аудио устройству для слушания.
При потоковой передаче настройки параметров динамического диапазона пропускают и слушают эффект.
while ~isDone(fileReader) audioIn = fileReader(); audioOut = dRG(audioIn); deviceWriter(audioOut); drawnow limitrate % required to update parameter end
Как лучшая практика, выпустите свои объекты, однажды сделанные.
release(deviceWriter) release(fileReader) release(dRG)
Создайте dsp.AudioFileReader, чтобы читать в покадровом аудио. Создайте audioDeviceWriter, чтобы записать аудио в вашу звуковую карту. Создайте graphicEQ, чтобы обработать аудиоданные. Вызовите visualize, чтобы построить частотную характеристику графического эквалайзера.
frameLength = 1024; fileReader = dsp.AudioFileReader('RockDrums-44p1-stereo-11secs.mp3', ... 'SamplesPerFrame',frameLength); deviceWriter = audioDeviceWriter('SampleRate',fileReader.SampleRate); equalizer = graphicEQ('SampleRate',fileReader.SampleRate, ... 'Gains',[0,10,-10,5,-5,2,-2,1,-1,0]); visualize(equalizer)
Вызовите parameterTuner, чтобы открыть пользовательский интерфейс для настроек параметров эквалайзера при потоковой передаче.
parameterTuner(equalizer)
В цикле аудиопотока:
Читайте в кадре аудио из файла.
Примените коррекцию.
Запишите кадр аудио к вашему аудио устройству для слушания.
В то время как потоковая передача, настройки параметров эквалайзера и слушает эффект.
while ~isDone(fileReader) audioIn = fileReader(); audioOut = equalizer(audioIn); deviceWriter(audioOut); drawnow limitrate % required to update parameter end
Как лучшая практика, выпустите свои объекты, однажды сделанные.
release(deviceWriter) release(fileReader) release(equalizer)
Создайте wavetableSynthesizer, чтобы сгенерировать форму волны. Создайте dsp.TimeScope, чтобы визуализировать форму волны. Создайте audioDeviceWriter, чтобы записать аудио в вашу звуковую карту.
fs = 44.1e3; wvSynth = wavetableSynthesizer('SampleRate',44.1e3); scope = dsp.TimeScope( ... 'SampleRate',wvSynth.SampleRate, ... 'TimeSpan',1, ... 'YLimits',[-2,2], ... 'TimeSpanOverrunAction','Scroll', ... 'ShowGrid',true); deviceWriter = audioDeviceWriter('SampleRate',wvSynth.SampleRate);
Вызовите parameterTuner, чтобы открыть пользовательский интерфейс для настроек параметров wavetable синтезатора при потоковой передаче.
parameterTuner(wvSynth)

В цикле аудиопотока:
Вызовите wavetable синтезатор без аргументов, чтобы вывести один кадр данных.
Визуализируйте данные с помощью осциллографа времени.
Запишите кадр аудио к вашему аудио устройству для слушания.
В то время как потоковая передача, настройки параметров wavetable синтезатора и слушает эффект.
duration = 15; numIterations = round(wvSynth.SampleRate*duration/wvSynth.SamplesPerFrame); for i = 1:numIterations audioOut = wvSynth(); scope(audioOut) deviceWriter(audioOut); drawnow limitrate % required to update parameter end

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

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