文中提出了一种深度网络来解决单通道语音增强问题。

链接:https://arxiv.org/abs/1911.01902

简介

因为背景噪声和混响的存在,录音通常会被扭曲,会对后端的语音识别等技术产生负面影响。单通道的语音增强算法一般有以下几种:Spectral estimation methods(OMLSA,etc),Source separation methods,Mapping methods。DNNs方法属于最后一种。DNN在训练过程中能够处理大量不同种类的噪声信号,这使其可以同时用于语音去混响和降噪方面。

在电话通信和助听器等实际应用中,都需要满足低延迟特性。

本文针对加性背景噪声(additive background noise)情况下的语音增强,采用一个FCN(fully convolutional network)代替全连接前馈网络。首先采用了主流的FCNs中的U-Net,基于此提出了一个新的结构即VGG19-UNet,在U-Net的编码解码结构中的编码部分嵌入一个VGG19的深度全卷积网络。

学习过程中,输入/输出特征分别为含噪/干净语音的频谱图,尺寸256*256。为了近似人耳听觉效应,文中建议采用Mel频率和幂律非线性频谱表示。

算法

U-Net的学习能力很强,由encoder, decoder和skip connections三部分组成。VGG的贡献在于揭示了卷积网络的深度对于大规模的图像定位和分类性能的影响。

图1(a)展示了VGG19的结构,图1(b)展示了一种新的语音增强网络,我们采用了VGG19的5个卷积块构成了一个强大的特征提取器,提取特征被喂到解码器部分。解码器中,采用2*2的上采样和2个具有ReLU的3*3 CNN层,该sequence重复5次。每个sequence的通道数减半最终到32,并且转换为频谱图通过一个具有线性激活函数的CNN。

详细来说,文中提出的算法被称为VGG19-UNet-MelPow语音增强器。主要由以下三个步骤组成:

1、提取perceptually-modified频谱图。

  对时域信号进行STFT得到幅度谱。帧长32ms,帧移8ms,FT点数为512。最终得到幅度谱向量维度为257。

  文中将对幅度谱采用mel尺度和幂律非线性得到的向量称为MelPow幅度谱向量。将256个连续的MelPow幅度谱向量拼接起来就得到了perceptually-modified幅度谱(注意,为了保证图像的对称性,忽略了最高频率带的图像),即得到256*256个时频单元。

  另,得到修正幅度谱图像之前,仅对含噪语音的MelPow幅度谱向量进行基于语句的均值方差归一化。

2、学习VGG19-UNet结构。

  用步骤1得到的图像集训练VGG19-UNet网络。利用Tensorflow和Keras库,the proposed network采用Adam优化方法,学习率为0.0002,50个epochs。批大小为10,训练集随机选取。采用线性激活函数生成增强后的谱图。训练时使得代价函数MSE最小。

3、生成增强语音。

  首先通过步骤1得到修正谱图像,并将其送到训练好的VGG19-Unet模型中,得到Mel频率和幂律的增强幅度谱图。结合含噪语音的相位信息和ISTFT,生成增强后的时域语音信号。

实验分析

实验中主要采用FARSDAT和NOISEX-92数据集,按照0.75,0.1,0.15的比例随机分为train,dev和test集。

采用两个主观评价准则,从语音质量(PESQ)和可懂度(ESTOI)两个方面,两个测度都是越高越好。

在不同的信噪比下面进行实验,结果表1和表2所示,均证明了文中方法的优越。

              

在不同种类的背景噪声环境下进行实验,结果见图2和图3。可以看出,不同方法在Restaurant和HF channel噪声下的结果都是最差的。和之前的结果类似,基于UNet-MelPow方法的结果优于Unet的。

                         

文中还分析了不同方法的频谱图和共振峰的差异。

此外,为了验证在UNet-MelPow语音增强方法中,增加U-Net结构的参数的影响,作者们将U-Net的所有卷积层中的滤波器数目加倍,即1024个,得到了31M的参数。将采用1024 filters的U-Net的UNet-MelPow方法称为UNet-MelPow-1024,将其和提出算法对比。实验证明,两种算法即使参数数量相同,但是proposed method增强后的语音仍有更好的PESQ和ESTOI。作者猜测,这是因为文中提出的VGG19-UNet结构中编码器采用了更深的结构。因为VGG19-UNet的编码器有16个卷积层,而传统的U-Net只有10个卷积层。

Speech Enhancement via Deep Spectrum Image Translation Network的更多相关文章

  1. 语音降噪论文“A Hybrid Approach for Speech Enhancement Using MoG Model and Neural Network Phoneme Classifier”的研读

    最近认真的研读了这篇关于降噪的论文.它是一种利用混合模型降噪的方法,即既利用了生成模型(MoG高斯模型),也利用了判别模型(神经网络NN模型).本文根据自己的理解对原理做了梳理. 论文是基于" ...

  2. 论文翻译:2020_DCCRN: Deep Complex Convolution Recurrent Network for Phase-Aware Speech Enhancement

    论文地址:DCCRN:用于相位感知语音增强的深度复杂卷积循环网络 论文代码:https://paperswithcode.com/paper/dccrn-deep-complex-convolutio ...

  3. 论文翻译:2022_PACDNN: A phase-aware composite deep neural network for speech enhancement

    论文地址:PACDNN:一种用于语音增强的相位感知复合深度神经网络 引用格式:Hasannezhad M,Yu H,Zhu W P,et al. PACDNN: A phase-aware compo ...

  4. 论文翻译:2020_WaveCRN: An efficient convolutional recurrent neural network for end-to-end speech enhancement

    论文地址:用于端到端语音增强的卷积递归神经网络 论文代码:https://github.com/aleXiehta/WaveCRN 引用格式:Hsieh T A, Wang H M, Lu X, et ...

  5. 论文翻译:2020_Densely connected neural network with dilated convolutions for real-time speech enhancement in the time domain

    提出了模型和损失函数 论文名称:扩展卷积密集连接神经网络用于时域实时语音增强 论文代码:https://github.com/ashutosh620/DDAEC 引用:Pandey A, Wang D ...

  6. 论文翻译:2021_论文翻译:2018_F-T-LSTM based Complex Network for Joint Acoustic Echo Cancellation and Speech Enhancement

    论文地址:https://arxiv.53yu.com/abs/2106.07577 基于 F-T-LSTM 复杂网络的联合声学回声消除和语音增强 摘要 随着对音频通信和在线会议的需求日益增加,在包括 ...

  7. 论文翻译:2020_Weighted speech distortion losses for neural-network-based real-time speech enhancement

    论文地址:基于神经网络的实时语音增强的加权语音失真损失 论文代码:https://github.com/GuillaumeVW/NSNet 引用:Xia Y, Braun S, Reddy C K A ...

  8. 论文翻译:2021_MetricGAN+: An Improved Version of MetricGAN for Speech Enhancement

    论文地址:MetricGAN+:用于语音增强的 MetricGAN 的改进版本 论文代码:https://github.com/JasonSWFu/MetricGAN 引用格式:Fu S W, Yu ...

  9. 论文翻译:2020_A Recursive Network with Dynamic Attention for Monaural Speech Enhancement

    论文地址:基于动态注意的递归网络单耳语音增强 论文代码:https://github.com/Andong-Li-speech/DARCN 引用格式:Li, A., Zheng, C., Fan, C ...

随机推荐

  1. HTML连载27-层叠性&优先级&!important用法

    一.层叠性 1.定义:CSS处理冲突的一种能力 2.注意点:层叠性只有在多个选择器中“同一标签”,然后又设置了“相同的属性”,才会发生层叠性 3.CSS缩写:Cascading StyleSheet ...

  2. Laravel服务容器的绑定与解析

    本篇文章给大家带来的内容是关于Laravel服务容器的绑定与解析,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 前言   老实说,第一次老大让我看laravel框架手册的那天早上,我 ...

  3. Java基础语法面试题

    1,关于JDK,JRE,JVM [为什么安装包要分JDK和JRE?] 先来说说什么是JDK,JRE. JDK:Java Development Kit Java开发工具包[开发Java程序用] JRE ...

  4. c++小学期大作业攻略(零)建议+代码结构(持续更新)

    当前已经做好的exe,数据库是连服务器的,但是头像是存在本地的文件系统里面: https://cloud.tsinghua.edu.cn/d/059ef6b1f9a149ce879b/files/?p ...

  5. appium+python 多设备并行执行脚本【转】

    1.ready.py文件 def getport(): aport = random.randint(4700, 4900) # 判断端口是否被占用 while getDeviceInfo.is_op ...

  6. C# 通过方法的字符串名动态调用方法 反射实现

    通过字符串执行方法,在可能会调用不同方法时对不同方法进行调用 以下为实例: public class ABC { string str = "通过反射执行的方法"; //Class ...

  7. C# VB .NET生成条形码,支持多种格式类型

    条形码简单,方便印刷,因此在各个领域得到了广泛的应用.我们自己的项目里也可以将一些特定的数据以条形码的方式来展示和应用,实现一码走天下.那么如何在C#,.Net平台代码里生成条形码呢?答案是使用Sha ...

  8. .Net Core部署Linux系统(CentOS7.6)

    .net core版本:2.2 Linux:CentOS 7.6 所需工具: Xshell 6 + Xftp 6 第一步:在Startup类中加入这两行代码 然后本地发布项目: 第二步,安装.Net ...

  9. tensorflow常用函数(二)

    一.变量相关的函数 1)tf.train.list_variables(ckpt_dir_or_file)    Returns list of all variables in the checkp ...

  10. bundler-sfm windows下编译过程中出现的错误

    一.“sysdep1.h”文件缺失 错误提示: fatal error C1083: 无法打开包括文件: “sysdep1.h”: No such file or directory 这些作为这个软件 ...