Audio Toolbox

 

Audio Toolbox

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

开始:

通过音频接口进行流式采集和播放

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

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

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

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

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

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

机器学习和深度学习

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

预训练的深度学习模型

使用深度学习,只需一行代码,即可执行复杂的信号处理任务、提取音频嵌入。访问成熟的预训练网络,如 YAMNet、VGGish、CREPE、OpenL3,并借助预配置的特征提取函数应用它们。

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

针对音频、语音和声学的特征提取

将信号变换为时频表示,例如 Mel、Bark 和 ERB 频谱图。计算倒谱系数(例如 MFCC 和 GTCC)和标量特征(例如基音、调和性和频谱描述符)。使用经预训练的深度学习模型(VGGish、OpenL3)和 i-vector 系统提取高级特征和信号嵌入。使用兼容的 GPU 卡加速特征提取。

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

机器学习模型和训练方法

用音频数据集训练前沿机器学习模型。将成熟的模型系统(如 i-vector)用于说话人识别和验证等应用。从实例中学习如何为音频、语音和声学应用设计和训练高级神经网络和层。

录音波形,来自不同说话人的语音片段在其中交替出现,高亮颜色反映了检测到的每个语音区域对应的说话人。

用 x-vector 对包括 5 个不同说话人的语音信号进行处理后获得的分割聚类结果。

导入、注释和预处理音频数据集

读取、分割和预处理大型录音集合。使用 App 手动对音频信号进行注释。使用预训练的机器学习模型自动识别和分割感兴趣区域。

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

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

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

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

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

音频处理算法和效果

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

音频滤波器和均衡器

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

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

动态范围控制和效果

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

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

使用模块图进行系统仿真

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

包含 Simulink 模型的可视化(显示模型层次结构中不同级别上的模块和子系统)、滤波器响应图,以及带有交互式旋钮、可以调整参数值的用户界面。

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

实时音频原型构建

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

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

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

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

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

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

模块图显示键盘 MIDI 控制器向 MATLAB 会话发送 MIDI 消息,该会话则相应地处理消息,合成音符波形,并通过扬声器播放生成的采样。

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

声学测量和空间音频

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

基于标准的计量和分析

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

2/3 倍频程频带上不同 SPL 测量的可视化。

脉冲响应测量

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

脉冲响应测量仪截图,分别在时域和频域中显示估计响应,菜单中的列表包含其他可绘制的估计脉冲响应,另外可以看到该 App 提供的其他交互式控件。

 脉冲响应测量仪。

房间脉冲响应的高效卷积

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

MATLAB 图窗,显示了一个相当长的脉冲响应的绝对值随时间变化的过程,Y 轴使用对数刻度。5 秒后,该图显示归一化的绝对值仍未小于初始振幅的千分之一。

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

空间音频

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

图中显示了一个双耳人头模型,三个扬声器位于球心角体的不同顶点,代表头部相关传输函数已知的三个点,另有第四个点位于球心角体内的随机位置,需要估计该点的头部相关传输函数。

示例显示了理想音源位置和可获得 HRTF 测量的最近角度。

生成和托管音频插件

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

生成音频插件

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

用 MATLAB 生成的音频插件的 UI,图为在数字音频工作站 REAPER 中使用该插件的情景。该 UI 基于一个 3×3 网格,包含各种滑块和旋钮。

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

托管外部音频插件

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

左侧是用于音频去噪的商业音频插件 UI,包含用于设置噪声抑制级别的大旋钮。右侧是几行代码,显示了如何导入此插件,并将其作为 MATLAB 对象以编程方式使用。

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

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

使用代码生成在软件设备上实现音频处理设计,并自动接入音频接口。

为 CPU 和 GPU 目标生成代码

使用 MathWorks 编码器产品,从工具箱函数、对象和模块形式的信号处理和机器学习算法生成 C 和 C++ 源代码。通过专门的特征提取函数(如 mfccmelSpectrogram)生成 CUDA 源代码。

该图报告了语音命令识别系统在每个预测周期所花费的时间,显示所使用的时间远低于 50 毫秒的可用时间预算。

该动态性能分析显示,基于深度学习的语音命令识别系统在 ARM Cortex-A 处理器上的实现得到了优化

低成本和移动设备

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

Raspberry Pi 板的照片。

用于设计原型的 Raspberry Pi 3 板。

零延迟系统

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