主要内容

parameterTuner

在流处理时调优对象参数

描述

例子

H= parameterTuner (obj创建一个参数调优UI并返回一个图形句柄,H

例子

全部折叠

parameterTuner使您能够以图形方式调优多个对象的参数。在本例中,您使用交叉滤波器将信号分割为多个子带,然后对子带应用不同的效果。

创建一个dsp。AudioFileReader逐帧读取音频。创建一个audioDeviceWriter将音频写入声卡。

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

创建一个crossoverFilter有两个交叉,把音频分成三个波段。调用可视化绘制滤波器的频率响应。调用parameterTuner打开一个UI来调整流媒体时的交叉频率。

xFilt = crosoverfilter (“SampleRate”, fileReader。SampleRate,“NumCrossovers”2);可视化(xFilt) parameterTuner (xFilt)

创建两个压缩机对象在两个子带上应用动态范围压缩。调用可视化绘制两种压缩机的静态特性图。调用parameterTuner打开ui来调整静态特征。

cpr1 =压缩机(“SampleRate”, fileReader.SampleRate);可视化(cmpr1) parameterTuner (cmpr1)

Cmpr2 =压缩机(“SampleRate”, fileReader.SampleRate);可视化(cmpr2) parameterTuner (cmpr2)

创建一个audiopluginexample。合唱合唱:使一个乐队产生合唱效果调用parameterTuner打开一个UI来调优chorus插件参数。

chorus = audiopluginexample.Chorus;setSampleRate(合唱、fileReader.SampleRate);parameterTuner(合唱)

在音频流循环中:

  1. 从文件中读入一帧音频。

  2. 使用交叉滤波器将音频分成三个波段。

  3. 应用动态范围压缩到第一和第二波段。

  4. 将合唱效果应用到第三个乐队。

  5. 对音频频带求和。

  6. 将音频帧写入音频设备以供收听。

~isDone(fileReader) audioIn = fileReader();[b1,b2,b3] = xFilt(audioIn);B1 = cmpr1(B1);B2 = cmpr2(B2);B3 =过程(合唱,B3);audioOut = b1+b2+b3;deviceWriter (audioOut);drawnowlimitrate进程参数调优器回调结束

作为最佳实践,一旦完成就释放对象。

发布(fileReader)发布(deviceWriter)

创建一个dsp。AudioFileReader逐帧读取音频。创建一个audioDeviceWriter将音频写入声卡。使用loadAudioPlugin加载均衡器插件。如果您使用的是Mac,请更换. dll文件扩展名为.vst

fileReader = dsp。AudioFileReader (“FunkyDrums-48-stereo-25secs.mp3”);deviceWriter = audioDeviceWriter(“SampleRate”, fileReader.SampleRate);pluginPath = fullfile(matlabroot,“工具箱/音频/样本/ ParametricEqualizer.dll”);eq = loadAudioPlugin(pluginPath);setSampleRate (eq, fileReader.SampleRate);

调用parameterTuner打开一个UI,在流媒体时调整均衡器的参数。

parameterTuner (eq)

在音频流循环中:

  1. 从文件中读入一帧音频。

  2. 应用均衡。

  3. 将音频帧写入音频设备以供收听。

~isDone(fileReader) audioIn = fileReader();audioOut =过程(eq,audioIn);deviceWriter (audioOut);drawnowlimitrate进程参数调优器回调结束

作为最佳实践,一旦完成就释放对象。

发布(fileReader)发布(deviceWriter)

创建一个dsp。AudioFileReader逐帧读取音频。创建一个audioDeviceWriter将音频写入声卡。创建一个audiopluginexample。镶边对音频数据进行处理并设置采样率。

fileReader = dsp。AudioFileReader (“rockguitar - 16 - 96立体声- 72 secs.flac”);deviceWriter = audioDeviceWriter(“SampleRate”, fileReader.SampleRate);flanger = audiopluginexample.Flanger;setSampleRate(镶边,fileReader.SampleRate);

调用parameterTuner打开一个UI来调整flanger的参数,而流。

parameterTuner(镶边)

在音频流循环中:

  1. 从文件中读入一帧音频。

  2. 应用折边。

  3. 将音频帧写入音频设备以供收听。

~isDone(fileReader) audioIn = fileReader();audioOut = process(flanger,audioIn);deviceWriter (audioOut);drawnowlimitrate进程参数调优器回调结束

作为最佳实践,一旦完成就释放对象。

发布(fileReader)发布(deviceWriter)

创建一个dsp。AudioFileReader逐帧读取音频。创建一个audioDeviceWriter将音频写入声卡。创建一个压缩机来处理音频数据。调用可视化的静态特性压缩机

framength = 1024;fileReader = dsp。AudioFileReader (“RockDrums-44p1-stereo-11secs.mp3”...“SamplesPerFrame”, frameLength);deviceWriter = audioDeviceWriter(“SampleRate”, fileReader.SampleRate);压缩机(“SampleRate”, fileReader.SampleRate);可视化(dRC)

创建一个timescope将原始和处理过的音频可视化。

Scope = timescope(...“SampleRate”, fileReader。SampleRate,...“TimeSpanSource”“属性”...“时间间隔”, 1...“BufferLength”, fileReader。SampleRate * 4,...“YLimits”[1],...“TimeSpanOverrunAction”“滚动”...“ShowGrid”,真的,...“LayoutDimensions”(2, 1),...“NumInputPorts”2,...“标题”“原始与压缩音频(上)和以分贝为单位的压缩机增益(下)”);范围。ActiveDisplay = 2;范围。YLimits = [-4,0];范围。YLabel =“获得(dB)”

调用parameterTuner打开一个UI,在流媒体时调整压缩机的参数。

parameterTuner (dRC)

图音频参数调谐器:压缩机[dRC]包含一个uigridlayout类型的对象。

在音频流循环中:

  1. 从文件中读入一帧音频。

  2. 应用动态范围压缩。

  3. 将音频帧写入音频设备以供收听。

  4. 可视化原始音频,处理音频,和增益应用。

流媒体时,调整动态范围压缩机的参数,并收听效果。

~isDone(fileReader) audioIn = fileReader();[audioOut,g] = dRC(audioIn);deviceWriter (audioOut);范围([audioIn (: 1), audioOut (: 1)), g (: 1));drawnowlimitrate%需要更新参数结束

图音频参数调谐器:压缩机[dRC]包含一个uigridlayout类型的对象。

作为最佳实践,一旦完成就释放对象。

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

输入参数

全部折叠

输出参数

全部折叠

目标图形,返回为数字对象。

在R2019a中引入