自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(214)
  • 资源 (3)
  • 收藏
  • 关注

原创 算法性能测量方法

如何判断一个算法的性能?无非就是判断一个算法的时间复杂度和空间复杂度以及在特定CPU架构下的特殊性能,比如有没有FPU。方法进行Big-O分析,就是算法导论里那种,对于复杂的运算过程不适用限定CPU能力,内存,计算运行时间。由于CPU是分时计算的,此时可以profile一下算法本身占了多少比例。如果是跑在复杂的系统上,需要top一下看看占用了多少比例,这样可以了解其他进程对它的影响。计算

2017-02-03 20:50:51 1652

原创 定点化的基本原理

CPU有三种可能的浮点数处理方式Use float instructions if your CPU has a FPU. (fast)Have your compiler translate floating point arithmetic to integer arithmetic. (slow)Use float instructions and a CPU with no FPU.

2017-01-12 09:51:45 17708

原创 GDB

How to use gdb

2017-01-12 09:49:12 778

转载 平滑滤波

平滑滤波是低频增强的空间域滤波技术。它的目的有两类:一类是模糊;另一类是消除噪音。空间域的平滑滤波一般采用简单平均法进行,就是求邻近像元点的平均亮度值。邻域的大小与平滑的效果直接相关,邻域越大平滑的效果越好,但邻域过大,平滑会使边缘信息损失的越大,从而使输出的图像变得模糊,因此需合理选择邻域的大小。簡易型平滑濾波器最簡易型的平滑濾波器可表示為下式可改寫為h[n]如下

2016-12-19 10:05:29 5066

转载 音频编码之子带编码

子带。子带(subband)是指这样的一种频率范围,当两个音调的频率位于一个子带内时,人就会把两个音调听成一个。更一般的情况是,如果一个复杂信号的频率分布位于一个子带内时,人耳的感觉是该信号等价于一个频率位于该子带中心频率处的简单信号,这是子带的核心内涵。简单说,子带是指一个频率范围,频谱位于这个范围内的信号可以用一个单一频率的分量来代替。 一般等价的频率取子带的中心频率,振幅取子带内个频

2016-11-23 16:26:47 4912

原创 ARM中的浮点运算

General嵌入式系统中三种可能的浮点数处理方式(转载自StackOverflow)1. Use float instructions if your CPU has a FPU. (fast) 直接使用浮点指令,前提是CPU有一个浮点运算单元。速度最快。2. Have your compiler translate floating point arithmetic to integer ar

2016-09-18 09:21:53 3757

原创 WebRtc中的AEC算法

理论 回声消除器的数学模型图回声消除本质上就是把输出信号和它产生的回声信号之间建立一个回声数学模型,利用开始的数据训练这个模型的参数,怎么训练呢?就是在远端有说话,但近端没有说话的时候,录音应该是静音,即回声完全消除。所以算法就朝着这个方向努力,一旦回声为0,则滤波器收敛。自适应滤波器算法多种多样,但是目前流行的还是最经典的LMS和NLMS,NLMS是LMS的优化 。判断标准:收敛速度快,运算复杂

2016-09-06 16:49:23 29133 4

原创 OpenBlas, Neon & VFP

OpenBlasIn scientific computing, OpenBLAS is an open source implementation of the BLAS (Basic Linear Algebra Subprograms) APIwith many hand-crafted optimizations for specific processor types. It is dev

2016-09-05 12:07:17 2265

原创 VAD算法

VAD算法基于信噪比(snr)的vad基于DNN的vad基于能量Energy的vad基于Decoder的Vad混合DNN和Decoder的Vad基于信噪比的VAD算法首先假设初始时的人是没有说话的,计算12帧初始声音的平均能量作为baseline,这个能量相当于底噪。若进入的一帧的rms大于这个baseline,认为有人声,否则认为无人声。初始时,连续n秒无人声,认为用户没有说话;连续3

2016-09-02 19:04:37 14611 2

原创 Bitmap & Bitset

class Bitmap { public: explicit Bitmap(const int size) : size_(size), num_words_((size + 31) / 32) { words_.resize(size); Reset(); }~Bitmap() {}int size() const { return size_;

2016-09-02 18:42:30 1389

原创 SWIG(Simplified Wrapper and Interface Generator)

SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. SWIG is used with different types of target languages including commo

2016-09-02 12:55:42 758

原创 C++中的智能指针

Smart pointersSmart pointers enable automatic, exception-safe, object lifetime management. Defined in header Pointer categories 1. unique_ptr (C++11) smart pointer with unique object ownership semant

2016-09-01 21:30:53 439

原创 Ubuntu上安装Kaldi

什么是Kaldi? Kaldi is a speech recognition toolkit, freely available under the Apache License. 注意,Kaldi仅仅是一个工具包,不是一个语音识别框架,想做语音识别,框架还要自己写。这里有一系列ASR开源软件的比较: https://en.wikipedia.org/wiki/List_of_speech_

2016-09-01 20:08:51 1779

转载 语音专题第三讲,语言模型

语言模型技术广泛应用于语音识别、OCR、机器翻译、输入法等产品上。语言模型建模过程中,包括词典、语料、模型选择,对产品的性能有至关重要的影响。语言模型的建模需要利用复杂的模型公式进行模拟计算,是人工智能领域的关键技术之一。 曹立新,2011年7月毕业于哈尔滨工业大学计算机科学与技术专业,曾任百度语音资深研发工程师。负责百度超大语言模型训练,语音交互技术研发以及语音搜索、语音输入法、语音助手等产品

2016-09-01 10:35:38 3203 1

转载 语音专题第三讲,声学模型

语音技术在近年来开始改变我们的生活和工作方式。对于某些嵌入式设备来说,语音成为了人机交互的主要方式。出现这种趋势的原因,首先是计算能力的不断提升,通用GPU等高计算能力设备的发展,使得训练更复杂、更强大的声学模型(Acoustic Model, AM)变得可能,高性能的嵌入式处理器的出现,使语音识别的终端应用变得可能。 声学模型是人工智能领域的几大基本模型之一,基于深度学习的声学模型发展对于人工智

2016-09-01 10:16:06 14080

转载 语音专题第一讲,麦克风阵列的语音信号处理技术

转载自地平线机器人大讲堂,主讲人徐荣强。 2011年11月毕业于英国爱丁堡大学通信与信号处理专业,曾任诺基亚,联想,微软高级音频工程师。现在Horizon-Robotics负责语音相关硬件系统设计,涉及远场高灵敏度麦克风阵列设计,高精度音频硬件编解码器评估验证,远场语音前处理算法的评估验证,涉及声源定位,波束形成,盲信号分离,回声抑制及平稳降噪等相关技术算法。前言随着人工智能与人们的生活越来越

2016-08-31 21:31:25 30769 1

原创 SharePreference Commit vs Apply

commit() writes the data synchronously (blocking the thread its called from). It then informs you about the success of the operation. apply() schedules the data to be written asynchronously. It does

2016-08-31 16:14:53 736

转载 详解语音处理检测技术中的热点——端点检测、降噪和压缩

作为一种人机交互的手段,语音的端点检测在解放人类双手方面意义重大。同时,工作环境存在着各种各样的背景噪声,这些噪声会严重降低语音的质量从而影响语音应用的效果,比如会降低识别率。未经压缩的语音数据,网络交互应用中的网络流量偏大,从而降低语音应用的成功率。因此,音频的端点检测、降噪和音频压缩始终是终端语音处理关注的重点,目前仍是活跃的研究主题。为了能和您一起了解端点检测和降噪的基本原理,带您一起一窥音频

2016-08-28 23:34:40 17226 1

转载 语音识别的痛点在哪,从交互到精准识别如何做?

语音识别是目前应用最成熟的人机交互方式,从最初大家体验过的有屏手持设备这种近场的语音识别,如Siri以及各种语音助手,到现在,语音识别的应用已经完成了向智能硬件以及机器人上延伸,不过,新的人机交互对硬件、算法要求更加苛刻,各企业正面临着巨大的挑战。那么实现人机交互需要解决哪些问题?这其中的关键技术有哪些?人机交互的未来趋势如何?本期硬创公开课邀请了科大讯飞的研发主管赵艳军为大家答疑解惑。 分享嘉

2016-08-28 22:33:13 19969

转载 语音识别系统及科大讯飞最新实践

语音作为最自然便捷的交流方式,一直是人机通信和交互最重要的研究领域之一。自动语音识别(Automatic Speech Recognition,ASR)是实现人机交互尤为关键的技术,其所要解决的问题是让计算机能够“听懂”人类的语音,将语音中传化为文本。自动语音识别技术经过几十年的发展已经取得了显著的成效。近年来,越来越多的语音识别智能软件和应用走人了大家的日常生活,苹果的Siri、微软的小娜、科大讯

2016-08-28 21:14:20 8531

原创 AudioFocus

Audio Focus

2016-08-24 20:36:14 619

原创 字节序

大小端

2016-08-23 10:56:21 493 1

原创 Static

初始化

2016-08-22 10:03:31 304

原创 Exception

Exception and Final

2016-08-22 09:37:30 259

原创 Gradle

http://tools.android.com/tech-docs/new-build-system/user-guide

2016-08-22 09:30:45 260

原创 几个概念

几个概念

2016-08-21 17:49:49 376

原创 Java Doc

并发相关的声明 1. GuardedBy The field or method to which this annotation is applied can only be accessed when holding a particular lock, which may be a built-in (synchronization) lock, or may be an explic

2016-08-18 15:27:39 366

原创 Thread

run vs startrun() If this thread was constructed using a separate Runnable run object, then that Runnable object’s run method is called; otherwise, this method does nothing and returns. start() Caus

2016-08-17 18:03:59 403

原创 BlockingQueue

java.util.concurrentInterface BlockingQueueType Parameters: E - the type of elements held in this collectionAll Superinterfaces: Collection, Iterable, QueueAll Known Subinterfaces: BlockingDeque, Tr

2016-08-17 14:59:53 279

原创 ExecutorService and Future

public interface ExecutorServiceextends Executor An Executor that provides methods to manage termination and methods that can produce a Future for tracking progress of one or more asynchronous tasks.

2016-08-17 14:44:12 315

原创 ReentrantLock

public class ReentrantLockextends Object implements Lock, SerializableA reentrant mutual exclusion Lock with the same basic behavior and semantics as the implicit monitor lock accessed using synchroni

2016-08-17 13:39:23 327

转载 Provider is not a pattern by Mark Seemann

Developers exposed to ASP.NET are likely to be familiar with the so-called Provider pattern. You see it a lot in that part of the BCL: Role Provider, Membership Provider, Profile Provider, etc. Lots of

2016-08-17 09:52:01 372

原创 跨平台的格式

xml, json,protobuf

2016-08-17 09:37:37 412

原创 Android的位深

audio_policy.conf

2016-08-16 15:27:02 1140

原创 DTD算法

DTD

2016-08-16 10:41:29 2610

原创 Android dump数据到文件

void writepcmtofile(const char * fname,const void* buffer, size_t bytes){ static FILE *fp=NULL; if(fp==NULL || access( fname, F_OK )==-1){ fp = fopen(fname, "ab+" ); if(fp==N

2016-08-15 16:27:35 2920 1

原创 在Android中使用第三方的库

//----------- android log start -----------#if defined(__ANDROID__)#include <android/log.h>#define LOG_TAG "System.out.c"#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__

2016-08-15 15:46:26 542

原创 pcm的表示方法

PCM有采样率,位深来表示,如16it位深, 则每个采样用16bit来表示,在计算机系统里面需要考虑采用什么数据方式。定点:如, S16_LE, 小端有符号16位这都是PCM的一种表示范围的方法,所以表示方法中最小值等价,最大值等价,中间的数据级别就是对应的进度了,可以都映射到-1~1范围。S8:     signed   8 bits,有符号字符 = ch

2016-08-13 11:32:23 3359

原创 Android流媒体的实现

在mps的setDataSource中,根据url判断应该生成那种dataSource,然后获取默认的player,即nuplayer。进入NuPlayerDriver的setDataSource,再进入void NuPlayer::setDataSourceAsync(const sp &source) {#ifdef MTK_AOSP_ENHANCEMENT    mIsStrea

2016-08-12 13:54:35 3906 1

原创 生产者,消费者的几个例子

在多线程中传递数据,免不了要用生产者,消费者模式,几个例子:Java:public class BlockingQueueInputStream extends InputStream {private static final String TAG = "BlockingQueueIS";private BlockingQueue mData = null;private byt

2016-08-12 13:20:43 976

ACM竞赛模板

各种ACM竞赛模板,包含很多常用算法的实现

2014-08-03

深入理解Linux内核-第3版

唯一的一本200多页的描述Linux的书,关键是写的还不浅。

2014-07-01

深度探索C++对象模型

关于C++对象模型的详细分析,深入浅出,读完就对C++的本质有了清晰的认识。

2014-07-01

空空如也

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

TA关注的人

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