姚光超的专栏

专注于语音识别和语音唤醒~

排序:
默认
按更新时间
按访问量

区间调度问题详解

今天给大家介绍一下区间调度问题。区间调度是一类难度比较大,但同时应用比较广的问题,经常会在面试中以各种形式出现。本文将会介绍区间调度的各种变形,希望能使大家在面临区间调度问题时得心应手,并可以在实际工作中巧妙应用。1. 相关定义在数学里,区间通常是指这样的一类实数集合:如果x和y是两个在集合里的数...

2017-12-25 22:25:59

阅读数:316

评论数:0

快速浮点开方运算

代码下载:开根号的几种算法实现 在之前的博客中我们介绍了数据类型的地址转换,利用它我们可以将一个float型的值直接看成一个int类型。这种地址转换到底有什么意义,或者说有什么用途呢?今天,给大家展示一个实例—快速浮点开方运算,让大家更加明白地址转换的含义和它们之间的对应关系。1 二分法浮点开方...

2017-12-19 10:35:16

阅读数:771

评论数:0

leetcode 之 Single Number II

问题来源:Single Number II   问题描述:给定一个整数数组,除了一个整数出现一次之外,其余的每一个整数均出现三次,请找出这个出现一次的整数。          大家可能很熟悉另一个题目(SingleNumber):除了一个数出现一次之外,其余的均出现两次,找到出现一次的数。该问题很...

2016-01-28 00:20:22

阅读数:2799

评论数:5

编辑距离

1. 编辑距离定义        今天我们来研究一个有趣的算法题,叫做字符串编辑距离。编辑距离研究的问题和最长公共子序列有相似之处,都是比较两个字符串之间的相似性,只是采用的标准不太相同。        先给出编辑距离的定义:设A和B是2个字符串,要用最少的字符操作将字符串A转换为字符串B。这里所...

2015-12-12 10:48:13

阅读数:10235

评论数:5

利用ARM NEON intrinsic优化常用数学运算

ARM NEON是arm平台下的SIMD指令集,利用好这些指令可以使程序获得很大的速度提升。不过对很多人来说,直接利用汇编指令优化代码难度较大,这时就可以利用ARM NEON intrinsic指令,它是底层汇编指令的封装,不需要用户考虑底层寄存器的分配,但同时又可以达到原始汇编指令的性能。 ...

2018-04-14 21:13:41

阅读数:95

评论数:0

arpa2fst 原理详解

在基于 wfst 的语音识别中,需要将 HCLG 四个不同层次的模型复合(composition)在一起构成一个超大的解码网络,其中的 G 即是语言模型的 WFST表示。但是我们常见的语言模型并不是以 WFST 形式存在的,而是基于 ngram 实现的,通常以 arpa 文件形式存在。所以复合的第...

2017-12-08 22:15:26

阅读数:723

评论数:0

语音识别中的lattice与confusion network

如果大家使用搜狗输入法的语音识别可能会发现在我们说我一句话之后,语音识别会返给你多个结果,这些结果之间只有微小差异(很多时候是发音相同的替代词)。绝大多数时候,输入法给出的结果就是我们需要的,但是偶尔也会出现候选结果中的才是我们需要的。你可能会好奇这些候选结果是如何产生的,在本文中我就给大家简单介...

2017-08-27 17:05:52

阅读数:1798

评论数:2

流式数据中的数学统计量计算

在科技飞速发展的今天,每天都会产生大量新数据,例如银行交易记录,卫星飞行记录,网页点击信息,用户日志等。为了充分利用这些数据,我们需要对数据进行分析。在数据分析领域,很重要的一块内容是流式数据分析。流式数据,也即数据是实时到达的,无法一次性获得所有数据。通常情况下我们需要对其进行分批处理或者以滑动...

2017-07-03 22:38:04

阅读数:2182

评论数:0

Linux下统计文档中每个字符出现的次数

给定一个中文文档,我们想统计其中每个字出现的次数该怎么做呢?如果是英文文档,这个问题有比较固定的思路:用tr命令或者awk命令按照每行的空格将单词切分到多行,然后sort命令排序所有的行,最后uniq命令统计重复行的次数即可获得每个单词出现的次数。但是换成中文文档之后,tr或者awk命令就无法再根...

2017-03-24 10:42:02

阅读数:2721

评论数:0

利用FFmpeg将pcm文件转成wav文件

现在需要利用cool edit对一批pcm音频文件进行分析。由于没有相关信息指定音频的采样率,信道数和精度,所以cool edit在打开一个pcm的时候需要让我们指定相关参数。当需要分析的pcm非常多时,每次都需要指定相关参数就显得非常麻烦。我们可以给pcm文件添加一个wav文件头来指定相关参数,...

2017-03-12 14:24:44

阅读数:5448

评论数:0

《Machine Learning is Fun Part 6: How to do Speech Recognition with Deep Learning》译文

最近看到一篇介绍语音识别的《博客》,感觉写得不错,正好自己也在搞语音识别,就把它翻译成中文,希望对语音识别感兴趣的同学有所帮助。(囧:原来网上早就有翻译了,白浪费两天时间翻译,大家选择性围观)语音识别正在占领我们生活的各个方面,手机、游戏手柄和智能手表中都会发现它的身影。同时它也在使我们的家庭更加...

2017-03-02 22:48:45

阅读数:1531

评论数:1

NDK编程的一个坑—Arm平台下的类型转换

最近在做DNN定点化相关的工作,DNN定点化就是把float表示的模型压缩成char表示,虽然会损失精度,但是由于DNN训练的模型值比较接近且范围较小,实际上带来的性能损失非常小。DNN定点化的好处是可以以4倍的效率压缩模型,这个在移动端会具有比较大的优势。 做完定点化之后,在x86服务...

2017-01-15 15:14:02

阅读数:1246

评论数:0

leetcode之Find All Numbers Disappeared in an Array

问题来源:Find All Numbers Disappeared in an Array 很久没有刷题了,感觉大脑开始迟钝,所以决定重拾刷题的乐趣。一开始不要太难,选一些通过率高的题目做,然后就看到了这个题目。我有些吃惊,这个题我虽然知道两种解法,但本身还是有难度的,居然通过率这么高。然后就搜...

2016-12-24 18:21:10

阅读数:7553

评论数:0

Linux下的有用命令

在之前的博客《Linux下常用命令与使用技巧》中,介绍了Linux的常用命令,在今天的博客中,给大家介绍其他的有用命令。1.文本转换命令在Linux下工作,我们不可避免地要和文件格式做斗争,相信大家也深刻地体会过格式的复杂性。今天给大家介绍几个在实际中经常用到的和格式相关的命令。export命令在...

2016-12-10 18:21:57

阅读数:1702

评论数:0

链表的替代品—内存池

链表是大家非常熟悉的数据结构,使用频率也非常高,但是链表有几个缺点。首先,我们每创建一个节点,都要进行一下系统调用分配一块空间,这会浪费一点时间;其次,由于创建节点的时间不固定,会导致节点分配的空间不连续,容易形成离散的内存碎片;最后,由于内存不连续,所以链表的局部访问性较差,容易出现cache缺...

2016-11-27 19:06:16

阅读数:1512

评论数:0

基于递归分割的迷宫生成算法与自动寻路

代码下载:基于递归分割的迷宫生成算法与自动寻路 今天给大家介绍一个图形学里的东西—迷宫的生成算法。迷宫的生成算法有很多种,比如基于深度优先和广度优先的生成算法,在此介绍另外一种方法,基于递归分割的迷宫生成算法。网上大部分迷宫生成算法生成的迷宫墙壁都是线条,本文生成的迷宫墙壁是正方形,先给大家看个...

2016-07-31 14:06:43

阅读数:5841

评论数:7

leetcode之Largest Rectangle in Histogram

问题来源:Largest Rectangle in Histogram 问题描述:给定一个长度为n的直方图,我们可以在直方图高低不同的长方形之间画一个更大的长方形,求该长方形的最大面积。例如,给定下述直方图,我们 可以以高度5宽度2画一个更大的长方形,如下图,该长方形即是面积最大的长方形。...

2016-07-30 13:47:33

阅读数:6152

评论数:0

《An Introduction to Signal Smoothing》译文

最近在做数据平滑相关的工作,正好读到该篇博客,感觉不错,就翻译了一下。原链接:An Introduction to Signal Smoothing信号平滑简介噪声无处不在,不管是在采集手机游戏的加速度数据还是在测量房间的温度,都会引入误差。即使我们有能力消除所有的误差,测量的结果依旧包含一定程度...

2016-06-28 22:22:41

阅读数:1506

评论数:0

无锁队列的实现

无锁队列的实现耗子叔曾经写过一篇同名的博客,主要参考了John D. Valois 1994年10月在拉斯维加斯的并行和分布式系统国际大会上的一篇论文——《Implementing Lock-Free Queues》。但是从目前现状来看,这篇论文中提到的算法是有问题的,并没有在实际中被采用。现在被...

2016-06-12 22:42:05

阅读数:5883

评论数:3

最左侧1问题

今天给大家介绍一个有趣的位运算题目,叫最左侧1问题,英文名叫count leading zeros或most significant bits problem。问题比较好理解,就是给定一个整数,然后看最左侧的1出现在什么位置,等价于寻找整数的最高有效位或者前置零的个数。比如,0x128只有一个1,...

2016-03-05 12:45:02

阅读数:1673

评论数:2

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