Audio Toolbox

设计和分析语音、声学和音频处理系统

 

Audio Toolbox™ 为音频处理、语音分析和声学测量提供工具。该工具箱包含用于音频信号处理(如均衡和动态范围控制)和声学测量(如脉冲响应估算、倍频程滤波和感知加权)的算法。它还提供用于音频和语音特征提取(如 MFCC 和基音)以及音频信号变换(如 Gammatone 滤波器组和 Mel 间隔频谱图)的算法。

工具箱 App 支持实时算法测试、脉冲响应测量和音频信号标注。工具箱提供面向 ASIO、WASAPI、ALSA 和 CoreAudio 声卡以及 MIDI 设备的流接口,以及用于生成和托管标准音频插件(如 VST 和 Audio Units)的工具。

Audio Toolbox 支持您导入、标注和增强音频数据集,以及提取特征和变换信号,以便进行机器学习和深度学习。您可以流式传输低延迟音频,同时进行参数调优和信号可视化,从而为音频处理算法实时构建原型。您还可以将算法转变为音频插件,以在外部主机应用程序(如 Digital Audio Workstations)中运行,从而对其进行验证。通过插件托管,您可以像使用常规对象一样使用外部音频插件来处理 MATLAB® 数组。通过声卡连接,您可以对真实音频信号和声学系统运行自定义测量。

开始:

使用声卡进行音频流式传输

连接到标准笔记本电脑和台式机声卡,以便在任意文件与实时输入和输出之间流式传输低延迟多声道音频。

与标准音频驱动程序之间的连接

在 Windows®、Mac® 和 Linux® 操作系统间,使用标准音频驱动程序(如 ASIO、WASAPI、CoreAudio 和 ALSA)对声卡(如 USB 或 Thunderbolt™)读取和写入音频样本。

多声道声卡。

低延迟多声道音频流式传输

在 MATLAB 中处理实时音频,双向延迟仅为毫秒级。

来自四声道麦克风阵列的实时原始输入。

机器学习和深度学习

标注、增强、创建和摄取音频和语音数据集,提取特征,并计算时频变换。使用 Statistics and Machine Learning Toolbox™、Deep Learning Toolbox™ 或其他机器学习工具开发音频和语音分析。

预训练的深度学习模型

利用经大型音频数据集预训练的热门深度学习模型来执行复杂的音频处理任务,例如使用 Yamnet 对录音中的声音事件进行分类,以及使用 VGGish 提取音频嵌入。

词云,显示特定音频片段中由 classifySound 标识的声音类型。

音频和语音特征提取

提取低级特征以便进行语音和音频分析,包括 Mel 频率倒谱系数 (MFCC)、Gammatone 倒谱系数 (GTCC)、基音、调和性和频谱描述符。将数据馈送给处理时序的深度学习架构,如基于 LSTM 层的架构。

在实时编辑器中使用音频特征提取器时,交互式选择缓冲选项和感兴趣特征。

时频变换

使用改进型离散余弦变换 (MDCT)、短时傅里叶变换 (STFT) 或更紧凑的 Mel 间隔频谱图,将信号变换为时频表示。使用基于 Gammatone 滤波器组的感知间隔频带分解信号。将数据馈送给处理二维数据的深度学习模型,如基于 CNN 层的模型。

语音命令的实时 Mel 频谱图。

标注和注释音频数据集

手动和自动为录音和音频数据集分配真值标签和注释。检测音频信号中的语音区域。使用基于云的语音到文本服务自动进行语音转录。

音频标注器中的感兴趣区域标签。

摄取大型音频数据集

使用 audioDatastore 对大型录音集合进行索引编制和读取。根据标签随机拆分音频文件列表。使用 tall 数组并行处理任务,以执行数据增强、时频变换和特征提取。

指向 Google 语音命令数据集的数据存储。

增强及合成音频和语音数据集

综合使用音调换挡、时间拉伸和其他音频处理效果,建立随机化数据增强管道。使用基于云的文本转语音服务,从文本创建合成语音记录。

音色不变音调换挡的共振峰估计。

音频处理算法和效果

生成标准波形,应用常见音频效果,设计具有动态参数调优和实时可视化的音频处理系统。

音频滤波器和均衡器

建模和应用参数 EQ、图形 EQ、斜坡和可变斜率滤波器。设计和仿真数字交叉、倍频程和分数倍频程滤波器。

具有实时可视化的三频带交叉滤波器的交互式调优。

动态范围控制和效果

建模和应用动态范围处理算法,如压缩器、限制器、扩展器和噪声门。使用递归参数模型添加人工混响。

压缩器动态响应的交互式调优。

使用模块图进行系统仿真

使用 Simulink® 的音频处理模块库设计和仿真系统模型。使用交互式控件和动态绘图来调优参数和可视化系统行为。

Simulink 中的多频带动态范围压缩器模型的详细信息。

实时音频原型构建

在 MATLAB 中使用交互式实时侦听测试验证音频处理算法。

通过用户界面进行实时参数调优

自动为音频处理算法的可调优参数创建用户界面。使用音频测试台测试各个算法,使用自动生成的交互式控件在程序运行过程中调优参数。

使用音频测试台的自定义三频带参数 EQ 交互式调优。

用于参数控制和消息交换的 MIDI 连接

使用 MIDI 控制台以交互方式更改 MATLAB 算法的参数。通过发送和接收各种类型的 MIDI 消息来控制外部硬件或对事件作出响应。

在 MATLAB 中为乐器合成器编写 MIDI 消息和音频信号流。

声学测量和空间音频

测量系统响应、分析和计量信号以及设计空间音频处理系统。

基于标准的计量和分析

将声压级 (SPL) 表和响度表应用于记录的信号或实时信号。使用倍频程和分数倍频程滤波器分析信号。将符合标准的 A、C 或 K 加权滤波器应用于原始记录。

可视化跨三分之二倍频程频带的不同 SPL 测量。

脉冲响应测量

使用最大长度序列 (MLS) 和指数扫描正弦曲线 (ESS) 测量声学和音频系统的脉冲和频率响应。借助脉冲响应测量仪轻松上手。以编程方式生成激励信号并估计系统响应,从而实现自动测量。

 脉冲响应测量仪。

房间脉冲响应的高效卷积

通过频域重叠相加或重叠保留,实现长脉冲响应信号的高效卷积。使用自动脉冲响应分区通过减少延迟提高计算速度。

持续 5 秒或以上的脉冲响应,采样率 44100 Hz,采样数 220k。

空间音频

对不同环绕声格式进行编码和解码。对空间采样的头部相关传输函数 (HRTF) 进行插值。

理想音源位置和支持 HRTF 测量的最近角度的示例。

生成和托管音频插件

为在 MATLAB 中以标准音频插件形式编写的音频处理算法构建原型;将外部音频插件作为常规 MATLAB 对象使用。

生成音频插件

直接从 MATLAB 代码生成 VST 插件、AU 插件和独立可执行插件,而不需要手动设计用户界面。如需进行更高级的插件原型构建,还可以生成立可编译型 JUCE C++ 工程项目(需要 MATLAB Coder™)。

多频带参数 EQ 示例:从 MATLAB 代码生成并在 REAPER 中运行的 VST 插件。

托管外部音频插件

将外部 VST 和 AU 插件作为常规 MATLAB 对象使用。您可以更改插件参数并以编程方式处理 MATLAB 数组。您也可以将插件参数与用户界面和 MIDI 控制的关联自动化。托管从 MATLAB 代码生成的插件以提高执行效率。

用于音频去噪的外部 VST 插件 (Accusonus ERA-N) 及其 MATLAB 编程接口的示例。

部署到嵌入式和实时音频系统

使用附加 C 代码生成产品,在软件设备上实现音频处理设计,并自动连接到多声道音频接口。

低成本和移动设备

使用板载或外部多声道音频接口,在 Raspberry Pi™ 上为音频处理设计构建原型。以移动 App 的形式为 Android® 或 iOS 设备创建交互式控制面板。

Raspberry Pi 3 板。 

零延迟系统

为基于单采样输入和输出的音频处理设计构建原型,以用于自适应噪声控制、助听验证或其他需要最小双向 DSP 延迟的应用程序。直接从 Simulink 模型部署到 Speedgoat 音频目标机和 ST Discovery 开发板。

最新特性

YAMNet 声音分类

使用深度学习对录音进行分类(需要 Deep Learning Toolbox)

VGGish 音频嵌入

使用深度学习提取高级音频特征(需要 Deep Learning Toolbox)

广义倒谱系数和 Delta 特征

计算 MFCC、GTCC、BFCC 及其他类型的倒谱系数、听觉频谱图和 Delta 特征

不可闻频率的倍频程分析

使用 octaveFilter、octaveFilterBank 和 splMeter 分析具有增强倍频程滤波器设计的信号

声起伏

测量感知的声起伏

特征提取 GPU 加速

使用兼容 GPU 卡加速更多特征提取函数(需要 Parallel Computing Toolbox)

关于这些特性和相应函数的详细信息,请参阅发行说明