wenet 频谱增强的原理和代码实现_少游223的博客-程序员秘密_频谱处理深度学习代码

技术标签: wenet  深度学习  人工智能  kaldi  语音识别  频谱增强  

原理

该方法实在u2++中作为第二个创新点提出的,其作用是使模型见多识广,更加robust。主要思路是随机用之前的chunk来代替当前的chunk。

论文位置:https://arxiv.org/pdf/2106.05642.pdf 详见文章的3.2.3小结

代码位置:https://github.com/wenet-e2e/wenet/blob/main/wenet/dataset/dataset_deprecated.py

代码分析:

————————————

_spec_aug_mentation

参数:x,warp for time,num t mask,num f mask,max t,max f, max w

作用:增强特征

参数介绍

x: input feature, T * F 2Da

num_t_mask: number of time mask to apply

num_f_mask: number of freq mask to apply

max_t: max width of time maska

max_f: max width of freq maska

max_w: max width of time warp

过程

    步骤一:数据准备。先将输入特征进行备份,然后获取特征的最大帧长和最高频率,即2维特征的宽和高。

    步骤二:time_warp。

      2.1 设maxw= 80,maxframes=1000,则center则为80至920之间的一个整数;

      2.2 设该整数center为500,则warped为420至580之间的一个整数;

      2.3 以center为分界线,将特征左侧的内容resize,并调用BICUBIC进行插值;

      2.4 以center为分界线,将特征右侧的内容resize,并调用BICUBIC进行插值;

      2.5 将2.3和2.4得到的左右特征以横轴方式进行拼接,得到新的特征。

    步骤三:time_mask。进行num_t_mask次横向特征随机挑选开始和结束点,然后以0进行mask。

    步骤四:freq_mask。进行num_f_mask次纵向特征随机挑选开始和结束点,然后以0进行mask,最终返回y。

————————————

###注意点###

  1. BICUBIC插值:主要用在图像中插值或者增加像素数量/密度。通常利用插值技术增加图形数据,以便在打印或其他形式输出的时候,能够增大打印面积以及分辨率。
  2. 在这个函数中为y单独开辟了一块空间,但单从这一块代码,个人觉得这一块没必要单独复制一份y出来,可以直接在输入x上进行操作。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/shaoyou223/article/details/122182688

智能推荐

PAT A1147 Heaps ——春风十里扬州路,卷上珠帘总不如_淘学书童Q的博客-程序员秘密

PAT A1147 Heaps和1155是一样的,这道题先做的,当时没有考虑把遍历和判断放到一起,不过像这种判断 if((lvodr[j] < lvodr[j * 2] && (j * 2 + 1 > N || lvodr[j] < lvodr[j * 2 + 1])) != min_flag)还是挺好玩的,#include<iostream>#include<vector>using namespace std;int M,N;

链表问题04:反转单向和双向链表_每天学一点!的博客-程序员秘密

【题目】分别实现反转单向链表和反转双向链表的函数。 【要求】如果链表长度为N,时间复杂度要求为O(N),额外空间复杂度要求为O(1)。 【解答】反转单向链表,参考博客:https://blog.csdn.net/xyh269/article/details/70238501 【代码实现1-单向链表】struct Node{ int value; N...

.Net开发 开发工具使用vs C盘占用空间不断增大_vs占用大量c盘空间_Jeffrey侠客的博客-程序员秘密

解决方法如下:  1.将计算机的隐藏文件全部显示,如图 2.查找C盘文件夹   C:\ProgramData\Microsoft Visual Studio\10.0\TraceDebugging很占内存,直接删除。 3.下面是关闭intelliTrace的具体步骤:         打开vs2010找到工具----->选项----->IntelliTrace---->将(

软件工程师必须知道20个知识点_sir_zeng的博客-程序员秘密

软件工程师必须知道20个知识点      1,针对面向对象的设计与分析:为了让软件有更好的可维护性,重用性以及快速开发, 简短的OOAD与它的SOLID原则对于每一个软件工程师来说都是该牢记的。  2,软件品质因素:软件工程的好坏与软件的品质因素是绝对关联的。请在开发过程中深 刻的理解这一点。  3,数据结构与算法:深刻理解像数组,列表,栈,树,图,集合等这样的基本数据结构 ,并在软件开发过程的关...

h2 数据库配置多个连接_wfdztl521的博客-程序员秘密

目前公司开发Playframework 项目,使用h2 数据库,由于多个人共同开发,为了方便准备连接一个h2 数据库。初步想法是在局域网内搭建一个h2 数据库服务器。步骤如下:运行h2 jar文件,cd  ~/.ivy2/cache/com.h2database/h2/jars/

FullCalendar(日程管理控件)_过天的博客-程序员秘密

(以下是我学习FullCalendar控件时,网络上收集的一些资料)第一部分(官方资料)jquery.fullCalendar官方网址: http://arshaw.com/fullcalendar/jquery.fullCalendar英文文档: http://arshaw.com/fullcalendar/docs/jquery.

随便推点

qq_WUSUI16的博客-程序员秘密

各位大神我想知道qq密码忘记和没有密保而且绑定的手机号也换了咋么弄回

cmake mysql 日志目录_CMake设置输出目录_weixin_39524048的博客-程序员秘密

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Lib)set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Lib)set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Bin)以上设置VS会自动新建Debug和Releas...

树莓派实现实时视频监控_树莓派摄像头实时监控_橙橙小狸猫的博客-程序员秘密

我理解的实时视频监控,是利用树莓派的摄像头采集到的视频流通过无线或有线传输实现一个远程的观看。摄像头型号传输方式USB、官方摄像头motion、mjpg-streamer、python(Picamera+socket)USB和官方摄像头属性上的差别我觉得是官方摄像头是采用一个特殊的转接线与树莓派进行连接。1. motion我尝试过用无论是USB还是官方转接线的摄像头motion都可以实现,差别为官方转接线的摄像头需要现在树莓派配置上打开摄像头功能,而USB摄像头插上即用,在

OSDI, SOSP与美国著名计算机系的调查(2008)_AmyDaddy的博客-程序员秘密

【序言】按照USnews的分类,Computer Science被分为四个大类:AI, Programming Language,Systems,Theory.。毫无疑问,Systems是这四个大类中最要紧也是最大的一个。根据citeseer在2003年5月排出的所有计算机学科会议和期刊的影响因子排名[1],在前十位中的属于Systems的有7个,在前15个中占据了11

Detectron2注册自己的COCO数据集_dataset 'coco_my_train' is not registered!_SSSLaker的博客-程序员秘密

Detectron2注册自己的COCO数据集1.在train.py添加CLASS_NAMES =['background','A220', 'A330', 'A320/321', 'Boeing737-800', 'Boeing787', 'ARJ21', 'other']# 数据集路径DATASET_ROOT = './datasets/coco'ANN_ROOT = os.path.join(DATASET_ROOT, 'annotations')TRAIN_PATH = os.path

DDA画线算法与Bresenham画线算法_用bresenham或dda画线算法画线_秀玉轩晨的博客-程序员秘密

文章目录DDA画线算法定义公式推导代码实现效果缺点Bresenham画线算法定义DDA画线算法定义通过单位间隔来确定线段的点,默认间隔为1,如图:此时,已知的点为(x0,y0),(xend,yend)(x_0,y_0), (x_{end},y_{end})(x0​,y0​),(xend​,yend​),假设yk与yk+1y_k与y_{k+1}yk​与yk+1​是两点连线上的点的纵坐标公式...

推荐文章

热门文章

相关标签