自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

遇逆境、泰然处之

语音识别爱好者

  • 博客(23)
  • 收藏
  • 关注

原创 kaldi nnet3实时解码(使用麦克风在线解码)

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-03-31 10:27:35 2038 10

原创 Kaldi Chain解码器系列介绍

前言Kaldi解码器针对唤醒词或特定场景控制词来说,过于臃肿,占用内存较大,为了使得解码流程能够清晰并且精简,以及方便移植一些不支持C++的平台(代码C语言实现解码器,下文Github中仅给出C++的实现,C++实现移除了类的定义,以及对象的思想,和C一样,是基于面向过程的,所以只需替换vector,hashmap等接口即可,C语言代码实现目前不公开),仅以此系列文章纪念kaldi解码器裁剪的辛...

2019-11-07 11:37:28 1328 3

原创 Kaldi解码加速策略概述

0. 前言本文介绍几种优化解码器加速方法,基于kaldi chain模型解码器(online2-wav-nnet3-latgen-faster),训练的模型用于唤醒词场景,主要优化内容包含:特征提取、TDNN神经网络计算、FST优化、lattice获取1-best等。除了以上方法,kaldi解码器、openfst、openblas等在编译时添加 -O3 优化选项 和 硬浮点运算(需硬件支持)的...

2019-10-08 22:43:39 4556 8

原创 kaldi解码器在嵌入式平台运行

该博文属于系列文章,其他文章参考总览:kaldi嵌入式平台的移植及实现前言 前面的博文kaldi源码的交叉编译已经将嵌入式平台的解码器编译完成,解码器有GMM、nnet2、nnet3等等,GMM解码器又分为单音素、三音素解码,本博文介绍如何设置解码器参数,并在嵌入式平台运行解码器。GMM解码器1. 在线识别online-gmm-decode-faster以单音素模...

2019-03-18 15:54:35 3372 3

原创 Chain模型神经网络前向计算

Kaldi

2019-12-02 15:38:16 1222 2

原创 MFCC特征提取--基于kaldi裁剪

0. 前言关于MFCC相关原理,这里就不过多叙述了,网上的参考资料也比较多,自己对MFCC原理理解也不是很深刻(方向不一样),主要介绍本人对kaldi mfcc特征提取代码裁剪后的接口,此处开源的MFCC不含pitch特征提取。详细代码1. Github代码结构介绍在介绍之前,提及一点,若要运行,请先阅读README.md编译外部库。特征提取的代码在src/feat目录下,测试代码在sr...

2019-11-07 15:14:20 978 2

原创 C语言结构体初始化的方式

结构体变量的初始化的四种形式,其中第四种形式是写本次博客目的,暂且mark一下。示例代码及注释#include <stdio.h>typedef struct{ void (*pCallback) (int a, int b); //函数指针 int a;} CM_HANDLERS_T;/* 定义函数handle */void handle (in...

2019-10-07 20:52:47 323

原创 深度学习之路--神经网络结构的学习总结

0. 前言神经网络是为了解决感知机的缺陷,感知机的权重和偏置需要人为设定,但神经网络可以自动从数据中学习到合适的权重和偏置值,下面给出一个2层的神经网络结构(有些书称为3层),包含输入层、中间层(也称作隐层)和输出层:1. 激活函数在感知机介绍中,当输出值大于0时,输出结果为1,当输出值小于等于0时,输出结果为0,在介绍它时并没有明确说明其使用的算法,其实单层感知机使用了阶跃函数...

2019-04-16 23:16:50 473

原创 深度学习之路--感知机的学习总结

1. 感知机的基本原理 关于感知机的知识,需要了解的是激活是什么?输入、输出又是什么?权重、偏置又是什么?下面结合一张图说明一下图中○代表一个神经元,当输入信号传递到神经元时,会被乘以固定的权重值,即,神经元会求取传递到该神经元的所有的和,即, 当所求Sum超过一定阈值时,称神经元被激活,若用数学公式表述如下:若将上述的移到左边,并用b表示,则b称为偏置,则表达式如下:...

2019-04-12 22:08:34 260

原创 数据结构与算法分析学习之路

本贴记录学习数据结构和算法的历程,记录文档数据结构与算法分析.xmind学习进程:1. 引论1.1 递归打印数字,N - ⌊N/10 ⌋*10 的效率高于N%10 源码:NumPrint.cc2. 算法分析2.1 最大子序列和的求解问题I) 暴力求解法1:MaxSubSeqSum.cc-- int CalSum(int* arr, int N)II)暴力...

2019-03-18 21:53:19 227

原创 C++ vector问题汇总帖

本帖记录使用C++ vector时的各种问题,不定期更新。问题1使用vector指针访问元素时,与数组指针的不同点。1.1 vector指针#include &lt;iostream&gt;#include &lt;vector&gt;using namespace std;int main(){ vector&lt;int &gt; *p = new v...

2019-03-14 10:32:34 486

原创 基于kaldi训练唤醒词模型的一种方法

0. 前言 什么是唤醒?激活Google智能助手,你可以对手机说“Hey Google”或者“OK Google”,其他诸如阿里的天猫精灵智能音箱(天猫精灵)、京东的叮咚智能音箱(叮咚叮咚),百度语音助手(小度小度)等等,需要采用唤醒词才能激活设备,然后再对设备进行一系列控制语音输入,一方面减小了智能音箱执行错误操作的概率,另一方面也降低了整个设备的功耗。本文基于开源语音识别kaldi平...

2019-03-07 14:19:59 11028 33

原创 嵌入式平台kaldi源码的交叉编译

该博文属于系列文章,其他文章参考总览:kaldi嵌入式平台的移植及实现前言:在编译kaldi源码时,请先参照https://www.jianshu.com/p/05e1bbe0ca3a这篇文章在x86平台能够编译后,再进行以下操作。Kaldi交叉编译:1. 确保openfst已经编译完成(见openFst的交叉编译),并且存放路径为:kaldi/tools/openf...

2018-11-29 11:18:58 3298 12

原创 嵌入式平台Portaudio的交叉编译

该博文属于系列文章,其他文章参考总览:kaldi嵌入式平台的移植及实现前言:PortAudio是一个免费的、跨平台的、开放源码的音频I/O库,kaldi在online gmm针对流式解码时,使用了该开源框架,像DNN解码,kaldi暂时未提供流解码,使用的还是wav解码,详细见src/online2bin/下的一些解码器程序,针对一些特定场景,需要移植流解码,就有可能还需用到por...

2018-11-29 11:16:10 2706 2

原创 嵌入式平台Alsa的交叉编译

该博文属于系列文章,其他文章参考总览:kaldi嵌入式平台的移植及实现前言:alsa的介绍不多说,自行百度...^ ^alsa lib下载:官网http://www.alsa-project.org/main/index.php/Main_Page下载的是alsa-lib-1.1.7, 具体版本需参考开发板的版本alsa lib的编译:1. 解压alsa-l...

2018-11-29 11:15:04 1122 4

原创 嵌入式平台OpenBlas及Clapack的交叉编译

该博文属于系列文章,其他文章参考总览:kaldi嵌入式平台的移植及实现前言:OpenBlas是一款开源的矩阵运算库,具体介绍参考http://www.openblas.net/。在linux PC上,即训练时,采用的数学矩阵库为atlas,此数学库未开源,在linux中只提供lib库,所以在嵌入式平台中,我们需要编译openblas生成对应的数学矩阵库。除OpenBlas外,...

2018-11-29 11:14:12 2856 8

原创 嵌入式平台openFst的交叉编译

该博文属于系列文章,其他文章参考总览:kaldi嵌入式平台的移植及实现前言:openfst的介绍就不必了,大家自行百度,下面进入正题。Openfst下载:目前kaldi版本为5.5,使用的openfst的版本为openfst-1.6.7.tar.gz,进入openfst官网,找到对应的tar.gz下载,如下图Openfst的交叉编译:1. 拷贝openfst-1...

2018-11-29 11:12:31 2871 4

原创 kaldi嵌入式平台的移植及实现

本系列包含内容分以下几篇文章介绍:1. openFst的交叉编译2. 数学库OpenBlas及Clapack的交叉编译3. 音频接口Alsa的交叉编译4. 音频框架portaudio的交叉编译(基于音频流处理,详细参考kaldi解码器源码onlinebin/online-gmm-decode-faster.cc)5. kaldi源码的交叉编译6. kaldi在嵌入式平台解...

2018-11-29 11:03:27 3989

原创 Kaldi aishell2 GMM训练步骤(含aishell1语料转aishell2组织方式)

0 前言 中文语音识别的aishell2推出已经有一段时间了,由于没有aishell2的语料库,有资格的可以申请,所以拿aishell1的15G语料进行训练,所以写了相关的脚本处理aishell1的语料库,来适配aishell2,可以参考我的github 仓库aishell2_gmm_train1 语料转换 下载完aishell1的语料后,将data_ai...

2018-09-12 22:31:42 5193 8

原创 Shell脚本学习总结

    最近一段时间研究语音识别(Automatic Speech Recognition, ASR),接触到一款优秀的ASR开源项目Kaldi。学习过程中,发现Kaldi大部分脚本采用Shell语音编写,所以潜心学习了一段时间的Shell编程。总体来说,该语言难度一般,关键要记住众多的命令,采用思维导图的记录方式,持续记录Shell的学习总结,现总结如下: 第一部分,变量相关的知识(已完...

2018-09-12 22:28:42 331

原创 ubuntu下无线网络网速缓慢问题解决

第一步,禁用ipv6sudo vim /etc/default/grub修改文件中的GRUB_CMDLINE_LINUX_DEFAULT = “quiet splash” 为GRUB_CMDLINE_LINUX_DEFAULT = “ipv6.disable=1 quiet splash”sudo update-grub  第二步,如果出现 Network service ...

2018-09-12 22:14:01 3309 1

原创 没有可用的软件包 git,但是它被其它的软件包引用了。

没有可用的软件包 git,但是它被其它的软件包引用了。执行 sudo apt-get update

2016-06-02 16:53:00 9803 1

原创 ubuntu下设置root用户密码

命令   sudo passwd root输入两次密码即可

2016-05-17 09:04:38 245

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除