You're Beautiful


  • 首页

  • 标签

  • 分类

  • 归档

GMM模型

发表于 2018-01-04 | 分类于 语音识别 | | 阅读次数:

概述

现有的高斯模型有单高斯模型(SGM)和高斯混合模型(GMM)两种。从几何上讲,单高斯分布模型在二维空间上近似于椭圆,在三维空间上近似于椭球。 在很多情况下,属于同一类别的样本点并不满足椭圆分布的特性,所以我们需要引入混合高斯模型来解决这种情况。

在DNN兴盛之前,高斯混合模型(GMM, Gaussian Mixture Model)广泛应用在语音识别的声学模型建模中,即使现在,在训练DNN模型之前依然需要通过GMM模型进行迭代,以及进行强制对齐。因此想要对语音识别技术有一定的了解,对于GMM模型的了解是必不可少的。

Read More »

vim和shell技巧

发表于 2018-01-03 | 分类于 linux | | 阅读次数:

linux

shell快捷键

1
2
3
4
5
6
7
8
9
ctrl+a:		移到行首
ctrl+e: 移到行尾
ctrl+xx: 行首到当前光标替换
ctrl+w: 删除光标前一个单词相当于vim里db
ctrl+h: 删除光标前一个字符(相当于backspace)
ctrl+d: 删除光标后一个字符(相当于delete)
ctrl+u: 删除光标左边所有
ctrl+k: 删除光标右边所有
ctrl+l: 清屏
Read More »

语音基础概念

发表于 2017-11-07 | 分类于 语音识别 | | 阅读次数:

信噪比(signal-noise ratio,SNR)

信噪比定义为信号能量与噪声能量的比值,常常用分贝数(DB)表示。设备的信噪比越高表明它产生的杂音越少。一般来说,信噪比越大,说明混在信号里的噪声越小,声音回放的音质量越高,否则相反。

Read More »

tensorflow小技巧

发表于 2017-10-14 | 分类于 deep learning | | 阅读次数:

显卡问题

1
2
3
4
5
6
7
8
import os
import tensorflow as tf

os.environ['CUDA_VISIBLE_DEVICES'] = '2,3' # 指定哪张卡:0, 1, 2, ...

config = tf.ConfigProto()
config.gpu_options.allow_growth = True # 随着进程逐渐增加显存占用,而不是一下占满
session = tf.Session(config=config, ...)
Read More »

ctc在asr上的应用

发表于 2017-10-08 | 分类于 语音识别 | | 阅读次数:

CTC概念

CTC算法全称叫:Connectionist temporal classification,从字面上理解它是用来解决时序类数据的分类问题的。

下图是nihao这句话的声音波形示意图,每个红色的框代表一帧数据,传统DNN训练需要知道每一帧数据对应的发音音素。比如第1,2,3,4帧对应n的发音,第5,6,7帧对应i的音素……(这里暂且将每个字母作为一个发音音素,下同)

Read More »

fbank和mfcc特征提取

发表于 2017-10-07 | 分类于 语音识别 | | 阅读次数:

语音参数提取特征

分帧 ——> 预增强 ——> 加窗 ——> 添加噪声 ——> FFT ——> Mel滤波 ——> 对数运算——> DCT

分帧

我们需要将不定长的音频切分成固定长度的小段,这一步称为分帧。一般取10-30ms为一帧,为了避免窗边界对信号的遗漏,因此对帧做偏移时候,要有帧迭(帧与帧之间需要重叠一部分)。 一般取帧长的一半作为帧移,也就是每次位移一帧的二分之一后再取下一帧,这样可以避免帧与帧之间的特性变化太大。通常的选择是25ms每帧,帧迭为10ms。接下来的操作是对单帧进行的。

要分帧是因为语音信号是快速变化的,而傅里叶变换适用于分析平稳的信号。在语音识别中,一般把帧长取为10~30ms,这样一帧内既有足够多的周期,又不会变化太剧烈。每帧信号通常要与一个平滑的窗函数相乘,让帧两端平滑地衰减到零,这样可以降低傅里叶变换后旁瓣的强度,取得更高质量的频谱。帧和帧之间的时间差常常取为10ms,这样帧与帧之间会有重叠,否则,由于帧与帧连接处的信号会因为加窗而被弱化,这部分的信息就丢失了。傅里叶变换是逐帧进行的,为的是取得每一帧的频谱。一般只保留幅度谱,丢弃相位谱。

Read More »

语音识别基本原理

发表于 2017-10-07 | 分类于 语音识别 | | 阅读次数:

语音识别基本架构

上式中W表示文字序列,Y表示语音输入。

公式1表示语音识别的目标是在给定语音输入的情况下,找到可能性最大的文字序列。

根据贝叶斯定理,可以得到公式2,其中分母表示出现这条语音的概率,它相比于求解的文字序列没有参数关系,可以在求解时忽略,进而得到公式3。

公式3中第一部分表示给定一个文字序列出现这条音频的概率,它就是语音识别中的声学模型;第二部分表示出现这个文字序列的概率,它就是语音识别中的语言模型。

无论是传统的方法也好,现在火热的深度神经网络的方法也罢,目前的语音识别在架构上都没有脱离上面的公式,也就是说都离不开AM和LM。

Read More »

git基础

发表于 2017-10-03 | 分类于 linux | | 阅读次数:

综述

下面这张图是git工作区域的一个简单介绍

几个专用名词的译名如下。

Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库
Read More »

item2和zsh配置

发表于 2017-01-04 | 分类于 linux | | 阅读次数:

iTerm2安装与配置

安装iTerm2

iTerm2官网:https://www.iterm2.com/

Solarized主题配置

iTerm2支持许多的主题配色,可以自己定义,也可以参考网上现成的主题配色。我个人比较喜欢Solarized配色,因为可以配合Vim里面的Solarized主题。

Read More »

linux解压缩

发表于 2016-11-03 | 分类于 linux | | 阅读次数:

.tar
压缩:tar cvf FileName.tar FileName
解压:tar xvf FileName.tar

.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName

.tar.gz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName

.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName

Read More »
12
liuyan

liuyan

Stay Hungry, Stay Foolish.

20 日志
4 分类
19 标签
GitHub E-Mail
© 2016 — 2019 liuyan
全站共22.6k字
  |  总访问量
0%