Deep Xi:基于深度学习的先验信噪比估计算法
Deep Xi是一个基于TensorFlow 2/Keras实现的深度学习框架,专门用于先验信噪比(a priori SNR)估计。该项目在语音增强、噪声估计、掩码估计和鲁棒自动语音识别前端等应用中表现出色。
技术原理
Deep Xi框架的核心思想是利用深度神经网络来估计先验信噪比。在训练过程中,网络接收带噪语音的短时幅度谱作为输入,训练目标是映射后的瞬时先验信噪比。这种映射使用累积分布函数将瞬时先验信噪比转换到[0,1]区间,以改善随机梯度下降算法的收敛速度。
图1:Deep Xi训练示例。 展示了一个典型的Deep Xi训练样本,包括输入带噪语音频谱和对应的映射先验信噪比目标。
网络架构
Deep Xi支持多种先进的神经网络架构:
MHANet(多头注意力网络)
MHANet利用多头自注意力机制有效建模带噪语音的长程依赖关系。该网络结构特别适合处理语音信号中的时序特征。
图2:Deep Xi-MHANet先验信噪比估计器架构。 展示了该网络的多头注意力机制设计。
ResNet(残差网络)
ResNet采用瓶颈残差块和循环扩张率设计。该网络包含约200万参数,上下文场约8秒。
ResLSTM和ResBiLSTM网络
这些网络结合了残差连接和长短时记忆单元,每个残差块包含单个LSTM单元,网络总参数量约1000万。
可用模型
项目提供了多个预训练模型:
- mhanet-1.1c:因果多头注意力网络
- resnet-1.1n:非因果残差网络
- resnet-1.1c:因果残差网络
每个可用模型都使用Deep Xi数据集进行训练,模型文件保存在model目录中。
性能表现
在DEMAND Voice Bank测试集上的评估结果显示,Deep Xi在各种客观指标上均表现优异:
| 方法 | 因果性 | CSIG | CBAK | COVL | PESQ | STOI |
|---|---|---|---|---|---|---|
| Deep Xi-ResNet (1.1n) | 否 | 4.35 | 3.52 | 3.71 | 3.03 | 94.1% |
| Deep Xi-MHANet (1.1c) | 是 | 4.34 | 3.49 | 3.69 | 2.99 | 94.0% |
安装指南
环境要求
- Python 3.x
- TensorFlow 2.x
- CUDA 10.1(GPU使用)
- cuDNN(≥ 7.6)
安装步骤
- 克隆项目仓库
- 创建Python虚拟环境
- 激活虚拟环境
- 安装依赖包
主要依赖包包括:
- tensorflow
- tensorflow-addons
- tqdm
- pysoundfile
- scipy
使用方式
推理模式
要进行推理并保存输出,使用以下命令:
./run.sh VER="mhanet-1.1c" INFER=1 GAIN="mmse-lsa"
测试模式
要进行测试并获取客观评分:
./run.sh VER="mhanet-1.1c" TEST=1 GAIN="mmse-lsa"
训练模式
要进行模型训练:
./run.sh VER="mhanet-1.1c" TRAIN=1
数据集支持
Deep Xi框架支持多种公开数据集:
- Deep Xi数据集(训练、验证和测试集)
- DEMAND Voice Bank数据集
- 其他自定义数据集
应用场景
语音增强
Deep Xi可用于最小均方误差方法的语音增强,显著提升语音质量。
噪声功率谱密度估计
通过DeepMMSE方法,Deep Xi能够准确估计噪声功率谱密度。
鲁棒自动语音识别
作为前端处理系统,Deep Xi能够显著提升在噪声环境下的语音识别准确率。
源分离
通过理想比率掩码估计,Deep Xi在源分离任务中表现突出。
技术特点
-
高精度估计:采用深度学习方法,在先验信噪比估计任务中达到业界领先水平。
-
灵活配置:支持多种网络架构和增益函数。
-
实时处理:因果版本支持实时语音处理。
-
多平台支持:提供Docker镜像,便于部署和使用。
Deep Xi代表了深度学习在语音信号处理领域的前沿应用,为研究人员和开发者提供了一个强大而灵活的工具平台。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考





