自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MOON

Time will tell

原创 Linear Discriminant Analysis(LDA)

好久没有整理最近的一些算法了,今天趁着跑数据的过程整理一下LDA算法。该算法在很多地方都有使用:语音识别,说话人识别等等,那么今天在这里就为大家详细介绍一下,最终把matlab代码放在我的git上,有兴趣的可以去看一下,好了不多说,直接进入主题。 首先介绍一下LDA到底是什么?LDA是一种降...

2019-03-12 11:16:20 2150 2

原创 EM+GMM

最近在研究HMM底层,想法是能够自己手动实现全部底层部件。包括GMM,Baum-Welch和维特比算法等。刚进入GMM就遇到了很多的坑,这里总算走过一遍,自己也实现了一遍,代码放在我的github地址,感兴趣的可以去看。这里我主要介绍EM和GMM的联合使用,主要是训练阶段,并给出实验结果。 在开...

2018-10-12 13:29:43 962 0

原创 Kaldi-MFCC模块源码主流程分析

那么趁着这个机会,研究一下kaldi源码中MFCC部分的内容。不说废话,我们从 compute-mfcc-feats.cc开始讲解,这里是个main函数,需要携带参数,具体使用样例如下: 1.compute-mfcc-feats: 其实看到这里我是一脸懵逼的,并不知道该如何用,没办法硬着头...

2018-09-05 17:08:40 2613 3

原创 C++读取Wav文件

C++的新手,自从搞了算法和kaldi开始着手C++,所以有很多坑没有趟过。最近需要把手头的matlab程序转化成C++,其中涉及到读取wav音频文件的部分,着实头疼,所以上网搜了一下,并且自己进行了尝试和改写,写了自己的一个版本,在这里主要记录一下其中遇到的教训和经验理解。 首先在做这个问题之...

2018-08-23 14:47:55 7182 13

原创 基于HMM的语音识别(二)

今天进入特征提取部分,原文的2.1部分,进入正题。特征提取阶段试图提供语音波形的紧凑形式(这里我理解不是很好,往下看)。这种形式最大限度的减少单词间的区分信息的丢失,并且与声学模型的分布假设进行良好的匹配。比如,如果对角协方差高斯分布用于状态输出分布,那么这些特征应该被设计为高斯并且是不相关的。通...

2018-07-03 22:38:09 5995 1

原创 基于HMM的语音识别(一)

利用业余时间写一下自己看书的感受,就当作随笔把,这样也能帮助自己记忆,同时关于kaldi的章节我选择先停一停,我感觉把这个问题理解透再去查看kaldi可能会事半功倍。我选取的章节来源于"The Application of Hidden Markov Models in Speech R...

2018-06-26 22:55:56 13004 8

原创 Kaldi学习(三)

这一次我们跳过《versions of kaldi》这一节,因为我感觉这一节对于我们初体验来讲,并没有什么实质性的帮助,我们直接到下一节:《Software required to install and run kaldi》,废话不多说,直接进入官网:理想的计算环境首先我们讲解一下理想的计算环境...

2018-06-12 15:35:37 2012 2

原创 Kaldi学习(二)

今天直接进入第二个主题,如何安装kaldi。由于我的是mac,所以我这里使用虚拟机,用ubuntu 16进行操作,其他的系统我不做讲解。首先进入我要安装的目录,如下图:然后我们开始git拉取项目:git clone https://github.com/kaldi-asr/kaldi.git ka...

2018-06-11 14:22:06 3360 14

原创 Kaldi学习(一)

最近准备开始进行语音识别算法的学习,所以决定拿kaldi进行解读,这样一方面更加增加自己C++的基本功,另一方面也可以让自己慢慢走入语音识别的大门,自己的路,决定了就走下去,不管有多难。首先我决定从kaldi的官网入手,不多说进入主题。kaldi是什么kaldi是使用c++写的语音识别的工具,ap...

2018-06-09 17:03:30 18452 1

原创 频域GSC

之前我讲过LCMV,那么接下来我讲一下GSC算法,他是从LCMV过渡而来。Griffiths和Jim同样认为每个ATF都是一个简单的时延。他们获得了一个不加约束的自适应算法,同样利用了Frost的约束(意思就是在满足原有约束的条件下设计出了一个不加约束的自适应算法)。相较于约束部分的算法,无约束的...

2018-05-22 15:02:37 2153 15

原创 频域LCMV

今天准备总结一下LCMV算法的知识点,同时明后两天我会把算法转化为matlab代码如果时间来的及我会同时把效果测试的代码一同放入到我的github,至于地址见我的个人资料下面。不多说,进入LCMV算法。在正是开始之前我要简要说一下LCMV算法,也可以称之为:constrained least me...

2018-05-17 16:08:12 4478 39

原创 维纳滤波器(二)

昨天讲了关于信号模型的,其作为维纳滤波器的铺垫。今天正式开始维纳滤波器的讲解,今天的讲解我会按照《Springer-handbook-of-speech-processing》中的来进行。这本书是我目前见到的市面上对于语音处理方面讲解最全面的,我推荐大家去看一看。直奔主题:1 维纳滤波器为了方便起...

2018-05-06 12:41:36 7995 3

原创 维纳滤波器(一)

很久没有静下心来整理一下了,我很早之前就想做一个从Wiener 滤波器了开始讲的博客了,现在终于有了安静坐下来总结一下的理由。从这里开始入手我感觉是对这一年多时间的尊敬,我会从模型开始讲起,会把我从论文和书中的理解呈现出来,如果有时间,我会把我的代码放到我的git上,有兴趣的可以去看一下,不多说,...

2018-05-04 16:46:16 17989 8

原创 Matlab ULA 仿真

    一直以来太忙,终于到了年前,有了时间把这段时间的收获记录和分享一下。在正式开始之前,我想说一下我这段时间做语音增强最大的感悟:矩阵论和随机过程两门必须要狠抓,不然看的不是算法,看的是看不懂的公式,matlab实现的时候更是维度都分不清,这也算是给后来者的忠告把,放弃国产论文吧,看看英文的原...

2018-02-10 09:29:12 2572 25

原创 麦克风阵列入门(一)

由于太忙,实在没时间整理,今天抽出空整理一点,日后会继续跟上,学会总结是进步的关键。下面几乎是干货,不会太详细,还望见谅。 什么是麦克风阵列: 所谓麦克风阵列其实就是一个声音采集的系统,该系统使用多个麦克风采集来自于不同空间方向的声音。 为什么使用麦克风阵列: 麦克风按照指定要求排列后,...

2017-12-01 17:48:55 18879 5

转载 奇异值分解(SVD)原理详解及推导

转载请声明出处http://blog.csdn.net/zhongkejingwang/article/details/43053513     【注】:本博客是本人在CSDN上看到了,讲SVD的很多,讲明白的很少,这篇很精髓,所以转载,注明了出处,感谢博主。     在网上看到有很多...

2017-11-02 09:53:22 337 0

原创 波达方向估计DOA

最近一直致力于语音增强方面的工作,主要是增强目标位置发出的语音信号,削弱环境噪音。这里面最有效的方法就是波达方向估计和波束增强了。本篇主要介绍波达方向估计,其包含很多种算法:capon music  RSS GCC等。我这里主要是使用GCC算法,我的麦克阵列使用的是双麦克,8cm距离。以下是我写的...

2017-07-28 15:24:20 5508 7

原创 C语言free报错

长话段说:最近写算法,matlab转C,然后在C中申请了一个空间,用来存放数据如下: double *J1 = (double*)calloc(180 / step, sizeof(double)); 然后接下来开始对J1进行赋值:int k=0; for(int m=1;m<=180;m+...

2017-07-20 10:47:15 3899 0

原创 VS C语言xml文件读取

最近需要把算法转成C语言,C语言没怎么用过,就大学公共课学过,好久了,忘得差不多了。感觉自己高级语言用的很熟,所以C语言看了点基础就开始转,然后遇到了一个坑,摔死我了。不说废话,进入主题。(以下是思想过程) 我调用别人的第三方库,生成xml类型字符串,我需要进行解析。其实挺简单的,对于linux系...

2017-06-29 17:49:48 3457 0

原创 Netty所需注意细节

昨天和前天初步过了一下官网,可能后面有点费解,所以今天在这里说说其中存在的个人认为的难理解的点。 首先还是先看一下我的项目整体包含的文件: 先简单介绍一下每个文件的用处: DiscardServer:我们的服务器入口,定义了管道端口等内容。TimeClient:我们的客户端入口,同样定义了...

2017-04-07 09:57:04 1294 0

原创 Netty从零开始(二)

我们继续昨天的点,学习Netty。 写一个时间客户端 与DISCARD和ECHO服务器不同,我们需要TIME协议的客户端,因为人类无法将32位二进制数据转换为日历上的日期。在本节中,我们将讨论如何确保服务器正常工作,并学习如何使用Netty编写客户端。 Netty中服务器和客户端之间最大和唯...

2017-04-06 11:01:15 3007 0

原创 Netty从零开始(一)

需要用到netty,之前就当年实习的时候用过Mina,netty没用过,所以加急学习了一下,感觉还不错,不多说,从官网入手,官网地址:http://netty.io/wiki/user-guide-for-4.x.html 有兴趣的朋友可以自己去查看。 前言: 问题 现在我们使用通用应用程序或...

2017-04-05 18:01:51 36140 11

原创 CDH在Centos 7离线安装

由于本人原来都是采用在线安装方式,使用公司港台服务器代理,速度还是很可观的。不过最近要求在Centos 7上离线安装,有点坑,网上的很多都是抄来抄去,安装到一半可能就走不下去,这里是本人亲测,遇到的问题都一一说明并且解决掉。这里趟了一遍,希望对读者有帮助。不说废话,进入主题: Cloudera官...

2017-03-08 14:15:33 11830 2

原创 Beam从零开始(一)

网上看了别人都在谈Beam,你说咱们作为技术人员技术也得紧跟着时代不是,所以也开始利用业余时间研究Beam。咱不是大神,不能啥都一看就会,所以一天一天来,这个也就作为笔记吧。废话不多说,进入主题,按照老规矩,从官网入手。 其实Beam官网目前做的不是很丰满,不过好在按照步骤进行,可以接受。 Bea...

2017-01-19 15:20:10 21880 5

原创 Dropwizard框架入门

最近项目用到了Dropwizard框架,个人感觉还不错,那么这里就从他们官网入手,然后加上自己的实现步骤让大家初步了解这个框架。 官网对DW(Dropwizard)的定义是跨越了一个库和框架之间的界限。他的目标是提供一个生产就绪的web应用程序所需的一切性能可靠的实现。那么这句话可能有些绕,我个人...

2017-01-13 13:26:35 17222 4

原创 Storm-declareOutputFields-declare

最近项目需要开始接触storm,感觉跟spark差距还是不小的,不过每个平台都有各自的优势,不做过多评价。有个地方,一直困扰了我好久,就是不管是spout实现类还是bolt实现类里面都有个declareOutputFields的方法,后面declare出去的东西我是真看不明白有啥用,然后按照官网看...

2016-12-29 16:53:52 3817 0

原创 SparkStreaming updateStateByKey 使用

updateStateByKey算子经常在实时计算时使用,最常见的就是wordCount类型的统计需求,那么这里使用官网并结合自己一些网上看的一些例子写的demo,如下: 官方: updateStateByKey允许你在持续更新信息的过程中随意获取状态。想要使用这个输入流,你需要以下两步:...

2016-12-22 17:14:57 1445 0

翻译 Apache Flume(二)

继续上文的flume进行学习,不多说, 直接进入主题。 Flume支持根据zookeeper的agent的配置。这是个实验性的特征(我估计这么说可能说明目前还不是很稳定,猜的),配置文件需要上传到zookeeper上面,有着配置文件的后缀。配置文件被保存在zookeeper的节点数据中,以下是节...

2016-08-15 12:11:41 479 0

翻译 Apache Flume(一)

今天详细学习一下flume,原来都是琐琐碎碎,仅限于使用。不多说,还是从官方网站开始。 Apache Flume是一个分布式、可靠的、可用的系统,该系统用来高效的收集、聚合、移动那些存储在不同数据源的大量日志数据到中心数据存储点。 Apache Flume不仅仅限于日志的数据聚合,因为数据源是自定...

2016-08-10 15:08:31 569 0

原创 JAVA_Kafka_producer_consumer

消费者代码: import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Properties; import java.util.concurrent.ExecutorSer...

2016-08-10 09:37:07 443 0

翻译 Apache Kafka(三)

我们继续之前的所述,继续kafka的学习。 第八部(使用kafka流来处理数据): kafka stream是kafka的一个客户端包,这个包用来实时处理和分析保存在kafka brokers中的数据。以下这个简短的例子将会讲解如何在使用这个包运行实时处理的应用。下面是WordCountDem...

2016-08-09 10:37:19 535 0

原创 Apache Kafka 实战从零开始(一)

不多说,咱们直接进入主题,那么我这里介绍一下我的环境。我用的是mac本,没有往本机装虚拟机,所以我用的是我的阿里云主机,穷滴很,就单节点吧咳咳。 那么首先说一下,由于我们的Kafka需要zookeeper的支持,所以在安装kafka之前我强烈建议先安装一下zookeeper,虽然kafka有个内...

2016-08-08 16:46:51 3605 0

翻译 Apache Kafka(二)

那么这次我们进行kafka的简单应用。 第一步(下载代码): 下载0.10.0.0版本并且解压,可以使用命令:tar -xvf kafka-2.11-0.10.0.0.tgz 接着我们进入解压后的目录:cd kafka-2.11-0.10.0.0 第二步(启动服务): kafka需要使用zooke...

2016-08-08 14:52:47 385 0

翻译 Apache Kafka(一)

Kafka讲解 介绍 kafka是一个分布式的,分区的,可备份的日志提交服务。它提供了消息系统的功能,但是设计确实独一无二。 这些意味着什么呢? 首先我们介绍一些术语: 1. Kafka获取的消息在类型上叫做topics 2. 我们把生产消息到kafka的进程叫做producer(生产者) 3. ...

2016-08-05 14:02:57 606 0

原创 Scala协变逆变上界下界

这里介绍一下关于scala中的协变逆变的有关知识,因为真的每次碰见都懵逼的感觉很难受。此处我不会对比Java中的相关协变逆变,只针对scala的进行讲解。 首先我说一下协变,所谓协变,白话文就是说让你的能够使用比原始定义类型的子类。不要懵逼,光看字我本人也看不懂,那么我们来通过实际的例子来讲解一下...

2016-08-04 10:33:12 693 0

原创 spark提交

这次主要讲一下spark的提交具体操作和流程。原来一直用,也没怎么深入查看,那么这次就来仔细看一下提交的学问。跟我们以前一样,我们以官网下手。这里我不在把英文贴上,直接进行。 在spark的bin文件夹下的spark-submit脚本是用来提交应用的。它能够通过一个统一的接口来使用所有spark支...

2016-08-03 10:24:38 939 0

原创 Spark源码解析(二)

这次继续上次的地方,我这里只挑我个人感觉不有意义的方法来讲,有些是内部的private方法,有些是展现给我们的外部方法。这里主要讲的方法是他的内部方法withScope,方法如下: /** * Execute a block of code in a scope such that all n...

2016-07-22 10:05:23 1023 0

原创 Spark源码解析(一)

RDD之getNarrowAncestors内部方法分析 最近开始spark的源码攻关,其实看源码一直是我最怕的东西,因为太多、太杂、太深导致不能够很好的把我脉络导致每次最后都放弃。有人跟我说看源码可以阶段性一个方法一个方法的去学习,去看,每天积累一点总会成功,那么今天开始我的第一天spark源码...

2016-07-14 14:43:30 663 0

原创 spark-streaming入门(三)

Spark Streaming + Flume Integration Guide Apache Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, an...

2016-05-28 14:42:06 768 0

原创 spark-streaming入门(二)

Input DStreams and Receivers Input DStreams are DStreams representing the stream of input data received from streaming sources. In the quick example...

2016-05-26 22:45:54 9757 0

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