Audio Toolbox 为音频处理、语音分析和声学测量提供工具。它包含各种算法,可用于处理音频信号(例如均衡和时间拉伸)、估计声信号指标(例如响度和清晰度)以及提取音频特征(例如 MFCC 和基音)。它还提供先进的机器学习模型(包括 i-vector)和预训练深度学习网络(包括 VGGish 和 CREPE)。工具箱 App 支持实时算法测试、脉冲响应测量和信号标注。该工具箱提供了面向 ASIO、CoreAudio 和其他声卡以及 MIDI 设备的流接口,以及用于生成和托管 VST 和 Audio Units 插件的工具。
Audio Toolbox 支持您导入、标注和增强音频数据集,以及提取特征以便训练机器学习和深度学习模型。所提供的预训练模型可应用于录音,以进行高级语义分析。
通过对声卡流式传输低延迟音频,您可以实时构建音频处理算法原型,或运行自定义声学测量。您可以将算法转变为音频插件,以在外部托管应用程序(如 Digital Audio Workstations)中运行,从而对其进行验证。通过插件托管,您可以将外部音频插件作为常规 MATLAB 对象使用。
开始:
与标准音频驱动程序之间的连接
在 Windows®、Mac® 和 Linux® 操作系统间,使用标准音频驱动程序(如 ASIO、WASAPI、CoreAudio 和 ALSA)对声卡(如 USB 或 Thunderbolt™)读取和写入音频样本。
预训练的深度学习模型
使用深度学习,只需一行代码,即可执行复杂的信号处理任务、提取音频嵌入。访问成熟的预训练网络,如 YAMNet、VGGish、CREPE、OpenL3,并借助预配置的特征提取函数应用它们。
针对音频、语音和声学的特征提取
将信号变换为时频表示,例如 Mel、Bark 和 ERB 频谱图。计算倒谱系数(例如 MFCC 和 GTCC)和标量特征(例如基音、调和性和频谱描述符)。使用经预训练的深度学习模型(VGGish、OpenL3)和 i-vector 系统提取高级特征和信号嵌入。使用兼容的 GPU 卡加速特征提取。
机器学习模型和训练方法
用音频数据集训练前沿机器学习模型。将成熟的模型系统(如 i-vector)用于说话人识别和验证等应用。从实例中学习如何为音频、语音和声学应用设计和训练高级神经网络和层。
导入、注释和预处理音频数据集
读取、分割和预处理大型录音集合。使用 App 手动对音频信号进行注释。使用预训练的机器学习模型自动识别和分割感兴趣区域。
用于参数控制和消息交换的 MIDI 连接
使用 MIDI 控制台以交互方式更改 MATLAB 算法的参数。通过发送和接收各种类型的 MIDI 消息来控制外部硬件或对事件作出响应。
基于标准的计量和分析
将声压级 (SPL) 表和响度表应用于记录的信号或实时信号。使用倍频程和分数倍频程滤波器分析信号。将符合标准的 A、C 或 K 加权滤波器应用于原始记录。测量声音的清晰度、粗糙度和起伏强度。
脉冲响应测量
使用最大长度序列 (MLS) 和指数扫描正弦曲线 (ESS) 测量声学和音频系统的脉冲和频率响应。借助脉冲响应测量仪轻松上手。以编程方式生成激励信号并估计系统响应,从而实现自动测量。
生成音频插件
直接从 MATLAB 代码生成 VST 插件、AU 插件和独立可执行插件,而不需要手动设计用户界面。如需进行更高级的插件原型构建,还可以生成立可编译型 JUCE C++ 工程项目(需要 MATLAB Coder)。
托管外部音频插件
将外部 VST 和 AU 插件作为常规 MATLAB 对象使用。您可以更改插件参数并以编程方式处理 MATLAB 数组。您也可以将插件参数与用户界面和 MIDI 控制的关联自动化。托管从 MATLAB 代码生成的插件以提高执行效率。
为 CPU 和 GPU 目标生成代码
使用 MathWorks 编码器产品,从工具箱函数、对象和模块形式的信号处理和机器学习算法生成 C 和 C++ 源代码。通过专门的特征提取函数(如 mfcc
和 melSpectrogram
)生成 CUDA 源代码。
低成本和移动设备
使用板载或外部多声道音频接口,在 Raspberry Pi™ 上为音频处理设计构建原型。以移动 App 的形式为 Android® 或 iOS 设备创建交互式控制面板。
零延迟系统
为基于单采样输入和输出的音频处理设计构建原型,以用于自适应噪声控制、助听验证或其他需要最小双向 DSP 延迟的应用程序。直接从 Simulink 模型部署到 Speedgoat 音频目标机和 ST Discovery 开发板。