谈谈音频开发

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2019年9月9日

摘要:前面的博客里说过最近几个月我从传统语音(语音通信)切到了智能语音(语音识别)。刚开始是学语音识别领域的基础知识,学了后把自己学到的写了PPT给组内同学做了presentation(语音识别传统方法(GMM+HMM+NGRAM)概述)。一段时间后老板就布置了具体任务:在我们公司自己的ARM芯片上基于k 阅读全文
posted @ 2019-09-09 08:21 davidtym 阅读(7088) 评论(6) 推荐(7) 编辑

2019年1月21日

摘要:又被“过运营商语音认证”虐了一回!虐的伤痕累累、疲惫不堪!过程是痛苦的,但结果是美好的,收获也是挺多的!既然用了“又”,那以前肯定被虐过。是的,没错。那是7年多前(2011年底),同样是在秋冬,不过一个是2011年底,一个是2018年底。同样是在芯片公司, 不过一个是老牌外企,一个是本土新秀。当时我 阅读全文
posted @ 2019-01-21 07:45 davidtym 阅读(2317) 评论(0) 推荐(8) 编辑

2018年5月8日

摘要:本人从事音频软件开发10+年,既开发过voice相关的,又开发过music相关的,但大多数还是开发voice相关的。掐指一算到现在在通信终端上开发过的语音解决方案共有五套,它们既有有线通信的,又有无线通信的;既有在上层开发的,又有在底层开发的;既有在ARM上开发的,又有在DSP上开发的,总之各有特色 阅读全文
posted @ 2018-05-08 21:14 davidtym 阅读(8226) 评论(8) 推荐(19) 编辑

2021年4月19日

摘要:上篇(基于sinc的音频重采样(一):原理)讲了基于sinc方法的重采样原理,并给出了数学表达式,如下: (1) 本文讲如何基于这个数学表达式来做软件实现。软件实现的细节很多,这里主要讲核心部分。函数srcUD()和filterUD()就是实现的主要函数(这两个函数是在源码基础上作了一定的改动,核心 阅读全文
posted @ 2021-04-19 08:27 davidtym 阅读(209) 评论(0) 推荐(0) 编辑

2021年3月15日

摘要:我在前面的文章《音频开源代码中重采样算法的评估与选择 》中说过sinc方法是较好的音频重采样方法,缺点是运算量大。https://ccrma.stanford.edu/~jos/resample/ 给出了sinc方法的原理文档和软件实现。以前是使用这个算法,没太关注原理和实现细节。去年(2020年) 阅读全文
posted @ 2021-03-15 09:21 davidtym 阅读(398) 评论(0) 推荐(0) 编辑

2021年2月22日

摘要:深度学习神经网络模型中的量化是指浮点数用定点数来表示,也就是在DSP技术中常说的Q格式。我在以前的文章(Android手机上Audio DSP频率低 memory小的应对措施 )中简单讲过Q格式,网上也有很多讲Q格式的,这里就不细讲了。神经网络模型在训练时都是浮点运算的,得到的模型参数也是浮点的。通 阅读全文
posted @ 2021-02-22 07:59 davidtym 阅读(341) 评论(0) 推荐(0) 编辑

2021年2月7日

摘要:以前的神经网络几乎都是部署在云端(服务器上),设备端采集到数据通过网络发送给服务器做inference(推理),结果再通过网络返回给设备端。如今越来越多的神经网络部署在嵌入式设备端上,即inference在设备端上做。嵌入式设备的特点是算力不强、memory小。可以通过对神经网络做量化来降load和 阅读全文
posted @ 2021-02-07 14:56 davidtym 阅读(252) 评论(0) 推荐(0) 编辑

2021年1月25日

摘要:卷积神经网络(CNN)是深度学习中常用的网络架构,在智能语音中也不例外,比如语音识别。语音中是按帧来处理的,每一帧处理完就得到了相对应的特征向量,常用的特征向量有MFCC等,通常处理完一帧得到的是一个39维的MFCC特征向量。假设一段语音有N帧,处理完这段语音后得到的是一个39行N列(行表示特征维度 阅读全文
posted @ 2021-01-25 09:46 davidtym 阅读(773) 评论(0) 推荐(0) 编辑

2021年1月18日

摘要:在处理深度学习分类问题时,会用到一些评价指标,如accuracy(准确率)等。刚开始接触时会感觉有点多有点绕,不太好理解。本文写出我的理解,同时以语音唤醒(唤醒词识别)来举例,希望能加深理解这些指标。 1,TP / FP / TN / FN 下表表示为一个二分类的混淆矩阵(多分类同理,把不属于当前类 阅读全文
posted @ 2021-01-18 09:36 davidtym 阅读(272) 评论(0) 推荐(0) 编辑

2020年5月29日

摘要:当音频的声道数多于一个时,音频数据的存放有两种格式,即交织的(interleave)和非交织的(non-interleave)。以最常见的双声道为例,交织和非交织的音频数据存放如下图: 上图中L表示左声道数据,R表示右声道数据,整数1、2等表示第几个采样点,这样L1就表示左声道的第一个采样点数据。从 阅读全文
posted @ 2020-05-29 18:18 davidtym 阅读(514) 评论(0) 推荐(1) 编辑

2019年12月30日

摘要:先前的文章《三个小白是如何在三个月内搭一个基于kaldi的嵌入式在线语音识别系统的 》说我们花了不到三个月的时间搭了一个基于kaldi的嵌入式语音识别系统,不过它是基于传统的GMM-HMM的,是给我们练手用的,通过搭这个系统我们累积了一定的语音识别领域的经验,接下来我们就要考虑做什么形态的产品了。语 阅读全文
posted @ 2019-12-30 08:09 davidtym 阅读(1488) 评论(0) 推荐(2) 编辑

2019年11月5日

摘要:在基于DNN-HMM的语音识别中,DNN的作用跟GMM是一样的,即它是取代GMM的,具体作用是算特征值对每个三音素状态的概率,算出来哪个最大这个特征值就对应哪个状态。只不过以前是用GMM算的,现在用DNN算了。这是典型的多分类问题,所以输出层用的激活函数是softmax,损失函数用的是cross e 阅读全文
posted @ 2019-11-05 08:16 davidtym 阅读(998) 评论(0) 推荐(0) 编辑

2019年10月18日

摘要:本文讲梯度下降(Gradient Descent)前先看看利用梯度下降法进行监督学习(例如分类、回归等)的一般步骤: 1, 定义损失函数(Loss Function) 2, 信息流forward propagation,直到输出端 3, 误差信号back propagation。采用“链式法则”,求 阅读全文
posted @ 2019-10-18 08:08 davidtym 阅读(1549) 评论(1) 推荐(0) 编辑