![](https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
语音识别
文章平均质量分 82
语音识别
MachineCYL
这个作者很懒,什么都没留下…
展开
-
语音数据标注规范
语音数据标注规范原创 2022-06-27 15:17:17 · 4247 阅读 · 0 评论 -
【kaldi】常用工具和mono训练结果解析
【kaldi】常用工具和mono训练结果解析原创 2022-06-27 15:00:53 · 673 阅读 · 0 评论 -
【kaldi】aidatatang_200zh三音素源码逻辑梳理
【kaldi】aidatatang_200zh三音素源码逻辑梳理原创 2022-06-27 14:46:09 · 229 阅读 · 0 评论 -
【kaldi】运行aidatatang_200zh脚本解析
aidatatang_200zh脚本解析markdown链接 (有道云笔记)格式16kHz 16bit,wav,单声道run.sh1. 环境配置 cmd.sh 硬件配置 (单机/集群配置,单机修改成run.pl) path.sh 环境变量配置 (导入环境变量) data 语料库位置 data_url 下载语料库的url (中国镜像已经关闭)2. 下载数据输入:语料库位置($data) 数据下载路径($data_url)输出:在$data文件夹下新增解压后的语料库(corpu原创 2022-06-27 14:37:17 · 812 阅读 · 0 评论 -
【kaldi】如何进行DNN序列鉴别性训练
传统的用DNN语音识别,在逐帧训练中,使用了交叉熵(CE)准则来最小化期望帧错误。但是,语音识别本质上是一个序列分类问题,更关心序列的准确性。所以我们需要引入一些更契合这种问题的序列鉴别性训练方法(sequence-discriminative training,SDT),比如常用的最大互信息准则(MMI)、增强型最大互信息准则(BMMI)、最小音素错误准则(MPE)和状态级最小贝叶斯风险准则(sMBR)等。根据实验结果表明,序列鉴别性训练方法相比CE训练的模型可以获得大约3%到17%的相对错误率下降。语音原创 2022-06-27 14:20:56 · 721 阅读 · 0 评论 -
【kaldi】chain-model训练时,加载预训练模型
最近在用chain-model训练时偶尔会出现找不到GPU卡而训练终止。而很烦的是原本的代码,中途训练终止时,重新训练的话,又得重头开始跑,对于跑一遍流程需要好多天的我来说,真的伤不起。所以通过查看源码,了解了chain-model加载预训练模型的方案,这样即使出现异常,也能从失败的地方继续训练。这个方法只需要在源码中简单的改几个地方即可。详细如下面介绍。......原创 2022-06-27 14:06:00 · 452 阅读 · 0 评论 -
【kaldi】chain-model的TCP server部署
用kaldi提供的脚本部署chain-model的TCP server。原创 2022-06-27 13:46:47 · 516 阅读 · 0 评论 -
【kaldi】chain-model在线解码(以aishell数据集为例)
以aishell数据集为例,演示如何进行chain-model在线解码。原创 2022-06-27 11:19:49 · 677 阅读 · 0 评论 -
【kaldi】运行aishell脚本解析
local/aishell_prepare_dict.sh $data/resource_aishell生成data/local/dict目录下的内容 extra_questions.txt lexiconp.txt lexicon.txt nonsilence_phones.txt optional_silence.txt silence_phones.txtextra_questions.txt:用来构建决策树的问题集,可以是空的,包含多组相同的音素,每一组音素包含相同的重音或者声调;lexi原创 2022-06-27 11:04:08 · 507 阅读 · 0 评论 -
传统语音识别介绍【五】—— 单音素和三音素
音素(phone),是根据语音的自然属性划分出来的最小语音单位,依据音节里的发音动作来分析,一个动作构成一个音素。音素分为元音与辅音两大类。如汉语音节 ā(啊)只有一个音素,ài(爱)有两个音素,dāi(呆)有三个音素等。如“普通话”,由三个音节组成,可以分析成“p, u, t, o, ng, h, u, a”八个音素。详细介绍:音素_百度百科三音素,音素的一种,与单音素(如t, o, ng)不同,三音素表示为如 t-o+ng,即由三个单音素组成,与单音素o类似,但其考虑了上下文的关系,即,上文为t,下文为原创 2022-06-23 17:24:27 · 3831 阅读 · 0 评论 -
传统语音识别介绍【四】—— 语言模型
语言模型是针对某种语言建立的概率模型,目的是建立一个能够描述给定词序列在语言中的出现的概率的分布。 给定下边两句话: 定义机器人时代的大脑引擎,让生活更便捷、更有趣、更安全。 代时人机器定义引擎的大脑,生活让更便捷,有趣更,安更全。 语言模型会告诉你,第一句话的概率更高,更像一句”人话”。 语言模型是用来约束单词搜索的。它定义了哪些词能跟在上一个已经识别的词的后面(匹配是一个顺序的处理过程),这样原创 2022-06-23 17:18:58 · 2551 阅读 · 0 评论 -
传统语音识别介绍【三】—— 声学模型
近年来,随着深度学习的兴起,使用了接近30年的语音识别声学模型HMM(隐马尔科夫模型)逐渐被DNN(泛指深度神经网络)所替代,模型精度也有了突飞猛进的变化。整体来看声学建模技术从建模单元、模型结构、建模流程等三个维度都有了比较明显的变化,如图5所示: 其中,深度神经网络超强的特征学习能力大大简化了特征抽取的过程,降低了建模对于专家经验的依赖,由此带来的影响是:(1)建模流程逐步从之前复杂多步的流程转向了简单的端到端的建模流程。(2)建模单元逐步从状态、三音素模型向音节、字等较大单元演进。(3)模型结构从经典原创 2022-06-23 17:23:17 · 4051 阅读 · 0 评论 -
传统语音识别介绍【二】—— 特征提取
(1) 线性预测系数(LPC),线性预测分析是模拟人类的发声原理,通过分析声道短管级联的模型得到的。假设系统的传递函数跟全极点的数字滤波器是相似的,通常用 12一16个极点就可以描述语音信号的特征。所以对于 n 时刻的语音信号, 我们可以用之前时刻的信号的线性组合近似的模拟。然后计算语音信号的采样值和线性预测的采样值,并让这两者之间达到均方的误差(MSE)最小,就可以得到 LPC 。(2) 感知线性预测(PLP),PLP 是一种基于听觉模型的特征参数。该参数是一种等效于 LPC 的特征,也是全极点模型预测多原创 2022-06-23 17:05:27 · 3796 阅读 · 0 评论 -
传统语音识别介绍【一】—— 前端处理
在对语音信号进行分析和处理之前,必须对其进行预加重、分帧、加窗等预处理操作。这些操作的目的是尽可能减小因为人类发声器官本身和由于采集语音信号的设备所带来的混叠、高次谐波失真、高频等等因素对语音信号质量的影响。保证后续语音处理得到的信号更均匀、平滑,为信号参数提取提供优质的参数,提高语音处理质量。定义:预加重是一种在发送端对输入信号高频分量进行补偿的信号处理方式。随着信号速率的增加,信号在传输过程中受损很大,为了在接收终端能得到比较好的信号波形,就需要对受损的信号进行补偿,预加重技术的思想就是在传输线的始端增原创 2022-06-23 16:27:01 · 4302 阅读 · 1 评论 -
【踩坑】python: This install of SoX cannot process .mp3 files
在python代码中,用 sox 包将双通道的 mp3 格式的 音频拆分成单通道时,执行会出错。不过如果是 wav 格式的音频就不会出错。python代码如下:输出报错如下:原因分析:在 mac 中运行改python代码就没有这个问题。不过在 Linux 中运行就会报错,报错的原因就是 Linux 系统的 sox 不支持 .mp3 格式的文件。在查找了一些资料后,发现安装上 libsox-fmt-mp3 这个库就可以解决这个问题,具体指令如下:......原创 2022-06-15 18:22:27 · 643 阅读 · 0 评论