2018-11-07 10:54:01 yang_daxia 阅读数 2979
  • excel VBA编程番外篇(字典+正则表达式+FSO)

    1.让windows脚本技术中的字典对象结合excel VBA,功能将更大的强大。 2.Microsoft Excel VBA与正则表达式技术的结合应用,将使VBA的数据处理功能更加强大 3.在Scripting 类型库 (Scrrun.Dll)中,在VBA中对FSO对象下的驱动器、文件夹、文件的读取,写入、新建、复制、移动、删除等操作。让excelVBA的功能更加的强大。

    14990 人正在学习 去看看 曾贤志

一、语音识别框架

传统理论重点研究声学模型,发音字典不用关心,语言模型一般用n-gram

预处理:1. 首尾端的静音切除,降低对后续步骤造成的干扰,静音切除的操作一般称为VAD。

 2. 声音分帧,也就是把声音切开成一小段一小段,每小段称为一帧,使用移动窗函数来实现,不是简单的切开,各帧之间一般是有交叠的。

特征提取:主要算法有线性预测倒谱系数(LPCC)和Mel 倒谱系数(MFCC),目的是把每一帧波形变成一个包含声音信息的多维向量;

声学模型(AM):通过对语音数据进行训练获得,输入是特征向量,输出为音素信息;

字典:字或者词与音素的对应, 简单来说, 中文就是拼音和汉字的对应,英文就是音标与单词的对应

语言模型(LM):通过对大量文本信息进行训练,得到单个字或者词相互关联的概率;计算所有可能性的概率,求对应的最大概率值的索引。即输出文本。

语音识别流程的举例(只是形象表述,不是真实数据和过程):

    1. 语音信号:PCM文件等(我是机器人)

    2. 特征提取:提取特征向量[1 2 3 4 5 6 0 ...]

    3. 声学模型:[1 2 3 4 5 6 0]-> w o s i j i q i r n重点

    4. 字典:窝:w o;我:w o; 是:s i; 机:j i; 器:q i; 人:r n;级:j i;忍:r n;

    5. 语言模型:我:0.0786, 是: 0.0546,我是:0.0898,机器:0.0967,机器人:0.6785;

计算所有可能性的概率,求对应的最大概率值的索引。

    6. 输出文字:我是机器人

原文:https://blog.csdn.net/nsh119/article/details/79360778

二、声学模型

声学模型:某音素组合条件下对应声学特征的概率值。反过来也可以通过概率值求索引,即特征到音素的映射。传统的为HMM-GMM模型,发展为NN,深度NN模型。

下图为声学模型框架。

https://blog.csdn.net/abcjennifer/article/details/27346787

声学模型的输入是由特征提取模块提取的特征(MFCC等)。一般来说,这些特征是多维的向量。由于语音信号特征的分布并不能用简单的概率分布,故而常用混合高斯模型方法对语音信号的分布进行拟合。参数由E-M算法求得。对声音序列O,进行GMM拟合,每一个GMM为HMM的一个状态,计算状态的概率值,通过搜索算法求得最大概率值对应的索引即音素序列。

注:状态的理解。状态通过对声音想、特征序列O进行GMM拟合或者DNN等拟合求得。如果声学模型输出的是音素,状态应该理解为比音素更小的级别,如3个状态对应一个音素;

https://blog.csdn.net/T7SFOKzorD1JAYMSFk4/article/details/79069909。如果声学模型输出的是拼音如(zhong),状态应该理解为音素zhong等,或者其他声学单元。即状态为构成输出的更低一级别的单元。

中文音素。

发音单元可以看成单因素加声调、考虑协同发音等等

 

 

 

语言模型:给定输入序列,计算序列的概率。

对于一个服从某个未知概率分布P的语言L,根据给定的语言文字样本估计P的过程被称作统计语言建模。

在语音识别中,如果识别结果有多个,则可以根据语言模型计算每个识别结果的可能性,然后挑选一个可能性较大的识别结果。

 

包含:统计语言模型和神经网络语言模型。统计语言模型将词或者词汇,看成一个个体。神经网络语言模型也可以实现传统的语言模型。最重要的是词向量的提出。

统计语言模型

2元模型:

用最大似然估计计算上述概率

 

问题:

加入开始和结束标志。

数据匮乏(稀疏)(Sparse Data)引起零概率问题 ,如何解决?  数据平滑

分子加1,分母加词汇量

不管训练语料规模多大,对于二元语法和三元语法而言 ,Kneser-Ney平滑方法和修正的Kneser-Ney平滑方法 的效果都好于其它所有的平滑方法

 

基于缓存的语言模型(cache-based LM) 

基于混合方法的语言模型 

基于最大熵的语言模型

决策树语言模型等

系数由E-M算法求得

评价指标:

具体应用,如语音识别的表现等,

困惑度:基于该语言模型,求得的测试集的概率值的越大越好。对应的困惑度越小越好。

仍然是现今语音识别系统第一遍解码的首选模型研究热点:基于N元文法语言模型平滑算法的研究

N元模型主要研究各种平滑算法。

 

神经网络语言模型:

NN实现统计语言模型。

训练RNN网络计算每一个句子的概率

词向量的提出

 

 

端对端的理解:

中英文的区别:

中英文的音素不同,发音字典不同。如英文的音素k在发音字典可以是c,k;中文的音素组成的拼音shi4可以为世,事,是等。还需要语音模型计算实际的输出。

端对端不用考虑声学模型、发音字典、语音模型等,直接完成声音特征序列到文字序列的转换。

2019-05-13 20:13:41 yibuerbusanbu 阅读数 478
  • excel VBA编程番外篇(字典+正则表达式+FSO)

    1.让windows脚本技术中的字典对象结合excel VBA,功能将更大的强大。 2.Microsoft Excel VBA与正则表达式技术的结合应用,将使VBA的数据处理功能更加强大 3.在Scripting 类型库 (Scrrun.Dll)中,在VBA中对FSO对象下的驱动器、文件夹、文件的读取,写入、新建、复制、移动、删除等操作。让excelVBA的功能更加的强大。

    14990 人正在学习 去看看 曾贤志

1. 概念:

语音识别中的字典也被称为发音字典,顾名思义就是用来描述各个词的发音或者说给出各个词和音素之间的关系;

2.作用:

语音识别系统中所有词的结果均出自于字典,也就是说他是识别系统处理词和音素的集合;通过发音字典得到声学模型的建模单元和语言模型建模单元间的映射关系,从而把声学模型和语言模型连接起来,组成一个搜索的状态空间用于解码器进行解码工作;

3.制作:

以中文识别为例:
step 1:
首先需要确定的是拼音到音素的转换规则/映射关系。
可以有不同的映射关系,如汉字一的拼音 “yi1”可以对应 “ii i1”,也可以对应 “y i1”(前者是清华语音识别使用的规则)。
不同的映射关系会产生不同的识别效果。
step 2:
需要列出尽可能多的中文词及其对应的拼音,有多音字的可列出其不同组合。
step 3:
通过以上两个步骤即可实现中文词-音素的转换,也就是G2P(Grapheme-to-Phoneme Conversion)。
通过脚本可实现输入中文词,输出对应音素的功能。

4.参考文献:
What is G2P? http://www.voxforge.org/home/docs/faq/faq/what-is-g2p

内容转自

2018-05-31 16:20:00 nsh119 阅读数 2363
  • excel VBA编程番外篇(字典+正则表达式+FSO)

    1.让windows脚本技术中的字典对象结合excel VBA,功能将更大的强大。 2.Microsoft Excel VBA与正则表达式技术的结合应用,将使VBA的数据处理功能更加强大 3.在Scripting 类型库 (Scrrun.Dll)中,在VBA中对FSO对象下的驱动器、文件夹、文件的读取,写入、新建、复制、移动、删除等操作。让excelVBA的功能更加的强大。

    14990 人正在学习 去看看 曾贤志

所谓字典,就是发音字典的意思,中文中就是拼音与汉字的对应,英文中就是音标与单词的对应,其目的是根据声学模型识别出来的音素,来找到对应的汉字(词)或者单词,用来在声学模型和语言模型建立桥梁,将两者联系起来。

字典形式:

                    

字典的大小:

字典的大小一般根据自己识别的方向,尽可能多的覆盖所有的字词,但也要尽可能多的抛弃不需要的字词,以提高检索效率和识别性能。

字典的获得:

现在许多公司都有卖字典的,当然一般公司在做语音识别项目的时候也会去买字典或者去下载一些现用的开源字典进行开发。还有使用工具来生成字典。可以参考一下这边文章:https://blog.csdn.net/sparkexpert/article/details/51732786





2018-08-07 10:28:53 audio_algorithm 阅读数 1365
  • excel VBA编程番外篇(字典+正则表达式+FSO)

    1.让windows脚本技术中的字典对象结合excel VBA,功能将更大的强大。 2.Microsoft Excel VBA与正则表达式技术的结合应用,将使VBA的数据处理功能更加强大 3.在Scripting 类型库 (Scrrun.Dll)中,在VBA中对FSO对象下的驱动器、文件夹、文件的读取,写入、新建、复制、移动、删除等操作。让excelVBA的功能更加的强大。

    14990 人正在学习 去看看 曾贤志

一、语音识别简介

    语音识别的一般框架一般包含几个部分:声学模型、语音模型、以及词典。语音信号(波形)经过前级处理(包括降噪,语音增强,人声检测等)后,提取特征,送入解码模块,进行解析得到识别结果。而解码模块则由 声学模型、语言模型映射、链接组成的网络。目前主流的语音模型一般采用 n-gram 语言模型,声学模型采样隐马尔科夫模型(HMM),这些模型都需要经过预先训练得到。

    上图框架中,发音字典是指系统所能处理的单词的集合,并标明了其发音。通过发音字典得到声学模型的建模单元和语言模型建模单元间的映射关系,从而把声学模型和语言模型连接起来,组成一个搜索的状态空间用于解码器进行解码工作。

二、语音识别开源项目

                                           

    CMU Sphinix,显而易见,从它的名字就能看出来是卡内基梅隆大学的产物。它已经以某些形式存在了 20 年了,现在它在 Github(C (https://github.com/cmusphinx/pocketsphinx) 版本和 Java (https://github.com/cmusphinx/sphinx4) 版本)和 SourceForge (https://sourceforge.net/projects/cmusphinx/) 上都开源了,而且两个平台上都有活动。Github 上的 Java 版本和 C 版本都只有一个贡献者,但是这并不影响此项目的历史真实性(在 SourceForge repo 上有 9 个管理人员还有很多开发者)

    Kaldi 从 2009 年的研讨会起就有它的学术根基了,现在已经在 GitHub (https://github.com/kaldi-asr/kaldi) 上开源,有 121 名贡献者。HTK 始于 1989 年的剑桥大学,已经商用一段时间了,但是现在它的版权又回到了剑桥大学并且已经不是开源软件了。它的版本更新于 2015 年 12 月,先前发布于 2009 年。Julius (http://julius.osdn.jp/en_index.php) 起源于 1997 年,最后一个主要版本发布于 2016 年 9 月,有些活跃的 Github repo 包含三个贡献者,现在已经不大可能反应真实情况了。ISIP 是第一个型的开源语音识别系统,源于密西西比州立大学。它主要发展于 1996 到 1999 年间,最后版本发布于 2011 年,但是这个项目在 Github 出现前就已经不复存在了。

三、PocketSphinx编译运行

3.1.准备

操作系统:windows 7 64Bit SP1

编译器:Viual Studio 2013

pocketsphinx版本:5prealpha

在Sphinx官网下有如下几个下载目录:

  • Pocketsphinx — lightweight recognizer library written in C  (C语言开发的轻量级语音识别引擎)
  • Sphinxtrain — acoustic model training tools (声学模型训练工具)
  • Sphinxbase — support library required by Pocketsphinx and Sphinxtrain (Pocketsphinx和Sphinxtrain的基础类库 )
  • Sphinx4 — adjustable, modifiable recognizer written in Java (Java语言开发的可调节、可修改的语音识别引擎)

这里我们下载Pocketsphinx和Sphinxbase,下载地址:

   https://sourceforge.net/projects/cmusphinx/files/sphinxbase/5prealpha/

   https://sourceforge.net/projects/cmusphinx/files/pocketsphinx/5prealpha/

3.2.编译

1)pocketsphinx依赖于sphinxbase,因此需要先编译sphinxbase。

使用VS2013打开sphinxbase.sln,直接点击生成解决方案即可

 

输出结果

 

2)使用VS2013打开pocketsphinx.sln,直接点击生成解决方案,结果报错了。。。

 

将sphinxbase的头文件目录以及.lib文件目录加入工程中,看错误估计是路径不对,继续编译就通过了。

至此,pocketsphinx的编译工作结束了

 

3.3.运行

将sphinxbase.dll复制到pocketsphinx运行目录下,不然会报缺少DLL的错误。

 

如果有麦克风可以运行一下命令:

pocketsphinx_continuous.exe -inmic yes -hmm model\en-us\en-us -lm model\en-us\en-us.lm.bin -dict model\en-us\cmudict-en-us.dict

 

也可以用文件来运行:

pocketsphinx_continuous.exe -infile C:\Users\Administrator\Desktop\pocketsphinx-5prealpha-win32\pocketsphinx\test\data\speech61-70968-0017.wav  -backtrace yes -hmm C:\Users\Administrator\Desktop\pocketsphinx-5prealpha-win32\pocketsphinx\model\en-us\en-us -lm C:\Users\Administrator\Desktop\pocketsphinx-5prealpha-win32\pocketsphinx\model\en-us\en-us.lm.bin -dict C:\Users\Administrator\Desktop\pocketsphinx-5prealpha-win32\pocketsphinx\model\en-us\cmudict-en-us.dict

运行结果:

截图中倒数第7行,即为识别结果,输入音频文件的原句如下:

   I COULD NOT SEE MY BOY INJURED EXCELLENCE FOR BUT DOING HIS DUTY AS ONE OF CUMBERLAND'S SONS

四 、模型的获取

1、在线生成语言模型和词典的工具 http://www.speech.cs.cmu.edu/tools/lmtool-new.html 

2、已经训练好的模型下载地址:https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/

  其中Mandarin为中文普通话,下载下来之后我们可以看到
  声学模型:zh_broadcastnews_16k_ptm256_8000.tar.bz2
  语言模型:zh_broadcastnews_64000_utf8.DMP
  拼音字典:zh_broadcastnews_utf8.dic


zh_broadcastnews_ptm256_8000目录结构
├── feat.params   //HMM模型的特征参数
├── mdef   //模型定义文件(为每个即将进行训练的HMM的每一状态定义一个独特的数字标识)
├── means  //混合高斯模型的均值
├── mixture_weights   //混合权重
├── noisedict    //噪声也就是非语音字典
├── sendump  //用来从声学模型中获取mixture_weights文件的?
├── transition_matrices  //HMM模型的状态转移矩阵
└── variances  //混合高斯模型的方差

其他的中文声学模型还有tdt_sc_8k,该模型可以在pocketsphinx-0.8-win32中找到。

2019-05-21 08:35:12 weixin_42137700 阅读数 222
  • excel VBA编程番外篇(字典+正则表达式+FSO)

    1.让windows脚本技术中的字典对象结合excel VBA,功能将更大的强大。 2.Microsoft Excel VBA与正则表达式技术的结合应用,将使VBA的数据处理功能更加强大 3.在Scripting 类型库 (Scrrun.Dll)中,在VBA中对FSO对象下的驱动器、文件夹、文件的读取,写入、新建、复制、移动、删除等操作。让excelVBA的功能更加的强大。

    14990 人正在学习 去看看 曾贤志

https://www.toutiao.com/a6692701310044602887/

 

电话机器人效果好不好,首先得看他的语音识别能力怎么样,语音识别率高、稳定,那么这个电话机器人就不会差。我们可以看一下语音识别的基本原理:

一个基本的语音识别系统如下图,实现是正常工作流程,虚线是训练模式分类问题中的模板(这里就是声学模型,字典和语言模型)。

5分钟带你读懂“语音识别”工作原理

 

预处理:

1. 首尾端的静音切除,下降对后续进程形成的搅扰,静音切除的操作一般称为VAD。

2. 声响分帧,也就是把声响切开成一小段一小段,每小段称为一帧,运用移动窗函数来完成,不是简略的切开,各帧之间一般是有交叠的。

特征提取:首要算法有线性猜测倒谱系数(LPCC)和Mel 倒谱系数(MFCC),意图是把每一帧波形变成一个包括声响信息的多维向量;

声学模型(AM):经过对语音数据进行练习取得,输入是特征向量,输出为音素信息;

字典:字或许词与音素的对应, 简略来说, 中文就是拼音和汉字的对应,英文就是音标与单词的对应;

言语模型(LM):经过对大量文本信息进行练习,得到单个字或许词彼此相关的概率;

解码:就是经过声学模型,字典,言语模型对提取特征后的音频数据进行文字输出;

语音辨认流程的举例(仅仅形象表述,不是实在数据和进程):

1. 语音信号:PCM文件等(我是电销机器人)

2. 特征提取:提取特征向量[5 4 2 66 98 ...]

3. 声学模型:[5 4 2 66 98]-> wo shi dianxiao jiqiren

4. 字典翻译:窝:w o;我:w o; 是:s i;电销:dian xiao 机:j i; 器:q i; 人:r en

5. 言语模型:我:0.1286, 是: 0.3616,电销:0.5682,机器人:0.6785;

6. 输出文字:我是电销机器人;

语音识别之发音字典

阅读数 11850

语音识别概述

阅读数 11425

没有更多推荐了,返回首页