主要内容

音频插件示例库

使用这些Audio Toolbox™插件示例作为更大系统中的构建块,作为设计模式的模型,或者作为比较的基准。搜索插件描述,以找到一个例子,满足您的需要。

音频效果

合唱

姓名:audiopluginexample。合唱

类型:基本插件

说明:添加一个音频合唱效果。通过调制两条延迟线来实现合唱效果。

设计模式:相关性质,湿/干混合,取样率

功能使用:dsp。VariableFractionalDelay,音频振荡器

相关示例:Delay-Based音频效果

检查代码|运行插件|生成插件

回响

姓名:audiopluginexample。回响

类型:基本插件

说明:使用两条延迟线实现音频回音效果。插件用户以秒为单位调整延迟抽头、延迟抽头增益和输出干/湿混合。

设计模式:依赖属性,湿/干混合,采样率,从属性调用MEX函数,带有反馈的延迟线

相关示例:Delay-Based音频效果

检查代码|运行插件|生成插件

法兰

姓名:音频插头。法兰

类型:基本插件

说明:使用调制的延迟线实现音频翻边效果。插件用户以秒为单位调整延迟抽头、延迟线调制的振幅和频率以及输出干/湿混合。

设计模式:依赖属性,湿/干混合,从属性调用MEX函数,带有反馈的延迟线

功能使用:dsp。VariableFractionalDelay

相关示例:Delay-Based音频效果

检查代码|运行插件|生成插件

LFO过滤器

姓名:audiopluginexample.LFOFilter

类型:基本插件

说明:实现了一个低频振荡器(LFO)控制的低通滤波器。LFO控制低通滤波器的截止频率。插件用户调整控制信号的类型,以及它的频率、幅度和直流偏移。插件用户还调优低通滤波器的Q因子。

设计模式:enum辅助类用于enum参数映射,日志参数映射,实时可视化,带有UI的波形设计

功能使用:音频振荡器,wavetableSynthesizer,双四阶滤波器

检查代码|运行插件|生成插件

移相器

姓名:audiopluginexample。移相器

类型:基本插件

说明:实现音频相位器效果。

设计模式:插件组成

功能使用:音频振荡器multibandParametricEQ,audiopluginexample.MultiNotchFilter

相关示例:使用多频带参数均衡器的音频相位器

检查代码|运行插件|生成插件

距移动装置

姓名:audiopluginexample。PitchShifter

类型:系统对象™插件

说明:实现了一种利用两个信道间的交叉衰落进行基音偏移的算法,该算法具有随时间变化的延迟和增益。

设计模式:整数参数映射,DiscreteState,多输出MATLAB®验证和分析

功能使用:dsp。VariableFractionalDelay

相关示例:Delay-Based距移动装置

检查代码|运行插件|生成插件

选通脉冲

姓名:audiopluginexample。选通脉冲

类型:基本插件

说明:实现音频选通效果。插件的可调参数包括选通周期、选通填充、实现效果的相对电平阈值,以及将选通周期与音频信号动态同步的能力。

设计模式:逻辑参数,用于枚举参数映射的枚举帮助器类

功能使用:音频振荡器

检查代码|运行插件|生成插件

过滤器

带通IIR滤波器

姓名:audiopluginexample。BandpassIIRFilter

类型:基本插件

说明:使用二阶IIR滤波器实现带通滤波器。插件参数为中心频率和Q因子。

设计模式:日志参数映射、相关属性、可调属性的有效管理(在SecondOrderIIRFilter),处理时的可视化(在SecondOrderIIRFilter),从抽象基类继承

功能使用:过滤器

相关示例:使用音频插件的可调过滤和可视化

检查代码|运行插件|生成插件

快速卷积器

姓名:audiopluginexample。FastConvolver

类型:系统对象插件

说明:卷积输入与长脉冲响应不增加长延迟。具有长脉冲响应的输入帧的时域卷积增加的延迟等于脉冲响应的长度。这个插件中的算法使用频域分割卷积来减少延迟。由于效率高,该算法还允许具有较大脉冲响应的实时卷积。

设计模式:无可调参数,延迟报告

功能使用:dsp。FrequencyDomainFIRFilter,setLatencyInSamples

相关示例:测量音频系统的脉冲响应

检查代码|运行插件|生成插件

高通的IIR滤波器

姓名:audiopluginexample。HighpassIIRFilter

类型:基本插件

说明:使用二阶IIR滤波器实现高通滤波器。插件参数为截止频率和Q因子。

设计模式:日志参数映射,依赖属性,有效管理可调属性(在SecondOrderIIRFilter),处理时的可视化(在SecondOrderIIRFilter),从抽象基类继承

功能使用:过滤器

相关示例:使用音频插件的可调过滤和可视化

检查代码|运行插件|生成插件

低通滤波器IIR滤波器

姓名:audiopluginexample.LowpassIIRFilter

类型:基本插件

说明:使用二阶IIR滤波器实现低通滤波器。插件参数是截止频率和Q因子。

设计模式:日志参数映射,依赖属性,有效管理可调属性(在SecondOrderIIRFilter),过滤可视化处理(在SecondOrderIIRFilter),从抽象基类继承

功能使用:过滤器

相关示例:使用音频插件的可调过滤和可视化

检查代码|运行插件|生成插件

把IIR滤波器

姓名:audiopluginexample.MultiNotchFilter

类型:系统对象插件

说明:实现具有可调陷波频率和品质因数的陷波IIR滤波器。

功能使用:multibandParametricEQ

相关示例:使用多频带参数均衡器的音频相位器

检查代码|运行插件|生成插件

搁置均衡器

姓名:音频插拔式均衡器

类型:系统对象插件

说明:实现具有可调截止、增益和斜率的搁置均衡器。

设计模式:日志参数映射,过滤器可视化

功能使用:designShelvingEQ,双四阶滤波器

相关示例:使用音频插件的可调过滤和可视化

检查代码|运行插件|生成插件

可变斜率带通滤波器

姓名:audiopluginexample。VarSlopeBandpassFilter

类型:系统对象插件

说明:实现可变斜率IIR带通滤波器与可调谐截止频率和斜率。

设计模式:String enum参数映射,日志参数映射,过滤器可视化

功能使用:designVarSlopeFilter,双四阶滤波器

相关示例:使用音频插件的可调过滤和可视化

检查代码|运行插件|生成插件

增益控制

低音增强剂

姓名:audiopluginexample。BassEnhancer

类型:系统对象插件

说明:实现心理声学低音增强算法。插件参数是带通滤波器的上截止频率和应用于带通滤波器输出的增益。

设计模式:插件组成

功能使用:crossoverFilter,audioexample.FullWave积分器,audiopluginexample。VarSlopeBandpassFilter,数字信号处理器

相关示例:限带信号的心理声学低音增强

检查代码|运行插件|生成插件

阻尼控制器体积

姓名:audiopluginexample。DampedVolumeController

类型:基本插件

说明:抑制音频信号的音量控制。该插件有两个参数:应用于输入音频信号的增益,以及应用于增益的转换延迟(以秒为单位)。

设计模式:功率参数映射,用于MATLAB验证和分析的多输出

功能使用:audioexample.DampedParameter

检查代码|运行插件|生成插件

空间音频

Ambisonic编码器

姓名:audiopluginexample.AmbiEncoderPlugin

类型:基本插件

说明:通过调整方位角和仰角指定麦克风位置。使用处理功能将流式音频编码为环境音。

设计模式:多通道,可变通道数,双码编码

功能使用:audioexample.ambisonics.ambiencodemtrx,audioexample.ambisonics.ambiencode

相关示例:Ambisonic插件生成

检查代码|运行插件|生成插件

双音解码器

姓名:audiopluginexample。AmbiDecoderPlugin

类型:基本插件

说明:通过调整方位角和仰角指定所需的虚拟扬声器位置。使用处理功能解码ambisonic编码音频。

设计模式:多信道,可变信道数,双码译码

功能使用:audioexample.ambisonics.ambidecodemtrx,audioexample.ambisonics.ambidecode

相关示例:Ambisonic插件生成

检查代码|运行插件|生成插件

之间的沟通MATLAB和寒鸦

UDP参数均衡器

姓名:audiopluginexample.ParameterEqualizerWithUDP

类型:系统对象插件

说明:实现了一个具有可调中心频率、Q因子和增益的三波段参数均衡器。UDP发送器使生成的VST插件能够与MATLAB通信。数字音频工作站和MATLAB可以实时交换信息。该插件使用UDP将均衡器滤波器系数发送回MATLAB,以便可视化。您可以更改此插件以发送输入或输出音频,而不是滤波器系数,或者除此之外发送滤波器系数。

设计模式:日志参数映射,过滤器可视化

功能使用:designParamEQ,dsp.UDPSender

相关示例:基于UDP的DAW与MATLAB之间的通信

检查代码|运行插件|生成插件

UDP发送方

姓名:audiopluginexample.UDPSender

类型:基本插件

说明:使用UDP从数字音频工作站(DAW)向MATLAB发送实时立体声音频。

设计模式:没有可调参数

功能使用:dsp.UDPSender

相关示例:基于UDP的DAW与MATLAB之间的通信

检查代码|生成插件

音乐信息检索

击败探测器

姓名:audiopluginexample。BeatDetector

类型:基本插件

说明:使用指定的起始检测方法估计并显示每分钟节拍(BPM)决策。如果您在命令行与插件交互,您可以得到一个与使用getClickTrack方法。

设计模式:插件合成,可视化,仅matlab功能

功能使用:dsp。AsyncBuffer,audiopluginexample.private.OnsetDetector,audiopluginexample.private.MeterUI

检查代码|运行插件|生成插件

语音处理

谱减法器

姓名:audiopluginexample。SpectralSubtractor

类型:基本插件

说明:实现基本的光谱减法。这个插件执行频域处理。插件的可调参数包括分析窗口类型、噪声级估计、分析窗口时间和分析帧重叠。

设计模式:重叠和添加(OLA)重构,分析和合成,枚举辅助类的参数映射,窗口

功能使用:fft,ifft,dsp。AsyncBuffer,audiopluginexample.private.AnalysisAndSynthesisBuffer

检查代码|运行插件|生成插件

语音基音检测器

姓名:audiopluginexample。SpeechPitchDetector

类型:基本插件

说明:计算基音使用基本的自相关算法,谱周期性算法,或两者。这个插件用于分析目的:它提供了信号的直接馈通。在处理语音数据时,采用可视化方法实现基音判定的可视化。

设计模式:插件合成,可视化,仅matlab功能

功能使用:multibandParametricEQ,dsp。AsyncBuffer,dsp。FIRInterpolator,timescope,设计多速率,fft,ifft,xcorr,audiopluginexample.private.VarSlopeBandpassFilter,audiopluginexample.private.AnalysisAndSynthesisBuffer,audiopluginexample.private.MeterUI

检查代码|运行插件|生成插件

深度学习

消除干扰

姓名:audiopluginexample。消除干扰

类型:深度学习插件

说明:使用深度神经网络去噪语音。这个插件包括一个可选的可配置的噪声门在输出的网络。要生成和使用该插件,请下载预先训练的深度神经网络,并使用下面的代码将其保存到mat文件中:

%下载预训练网络到当前文件夹解压(“https://ssd.mathworks.com/金宝appsupportfiles/audio/SpeechDenoising.zip”,pwd)%将相关网络保存在MAT-file中s =负载(“SpeechDenoising / denoisenet.mat”); denoiseNetFullyConnected=s.denoiseNetFullyConnected;拯救(“denoisePluginNet.mat”,“denoiseNetFullyConnected”)

设计模式:预先训练的深度学习神经网络,采样率转换,音频插件编码器配置

功能使用:audioPluginConfig,coder.loadDeepLearningNetwork(MATLAB编码器),dsp。AsyncBuffer,数字信号处理器,dsp。FIRInterpolator,dsp.FIRRateConverter,dsp.ISTFT,dsp。STFT,noiseGate,预测(深度学习工具箱)

相关示例:使用深度学习网络去噪语音

检查代码|运行插件|生成插件

另见

||||

相关的话题