语音信号处理之(三)矢量量化(Vector Quantization) zouxy09@qq.com http://blog.csdn.net/zouxy09 这学期有<语音信号处理>这门课,快考试了,所以也要了解了解相关的知识点.呵呵,平时没怎么听课,现在只能抱佛脚了.顺便也总结总结,好让自己的知识架构清晰点,也和大家分享下.下面总结的是第三个知识点:VQ.因为花的时间不多,所以可能会有不少说的不妥的地方,还望大家指正.谢谢. 矢量量化(VQ,Vector Quantization)是一种极…
http://blog.csdn.net/zouxy09 这学期有<语音信号处理>这门课,快考试了,所以也要了解了解相关的知识点.呵呵,平时没怎么听课,现在只能抱佛脚了.顺便也总结总结,好让自己的知识架构清晰点,也和大家分享下.下面总结的是第三个知识点:VQ.因为花的时间不多,所以可能会有不少说的不妥的地方,还望大家指正.谢谢. 矢量量化(VQ,Vector Quantization)是一种极其重要的信号压缩方法.VQ在语音信号处理中占十分重要的地位.广泛应用于语音编码.语音识别和语音合成等领…
作者:桂. 时间:2017-05-31  21:14:56 链接:http://www.cnblogs.com/xingshansi/p/6925955.html 前言 VQ(Vector Quantization)是一个常用的压缩技术,本文主要回顾: 1)VQ原理 2)基于VQ的说话人识别(SR,speaker recognition)技术 〇.分类问题 说话人识别其实也是一个分类问题: 说话人识别技术,主要有这几大类方法: 模板匹配方法 这类方法比较成熟,主要原理:特征提取.模板训练.匹配.…
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Abstract: 我们提出了一种新的方法,通过端到端的训练策略来学习深度架构中的可压缩表征.我们的方法是基于量化和熵的软(连续)松弛,我们在整个训练过程中对它们的离散对应体进行了退火.我们在两个具有挑战性的应用中展示了这种方法:图像压缩和神经网络压缩.虽然这些任务通常是用不同的方法来处理的,但我们的软量化到硬量化方法给出的结果与这两种方法的最先进水平具有可比性. 1 Introduction: 近年来,深度神经网络(DNNs)在机器…
音频信号的读写.播放及录音 标准的python已经支持WAV格式的书写,而实时的声音输入输出需要安装pyAudio(http://people.csail.mit.edu/hubert/pyaudio).最后我们还将使用pyMedia(http://pymedia.org)进行Mp3的解码和播放. 音频信号是模拟信号,我们需要将其保存为数字信号,才能对语音进行算法操作,WAV是Microsoft开发的一种声音文件格式,通常被用来保存未压缩的声音数据. 语音信号有三个重要的参数:声道数.取样频率和…
在接下去说其他的聚类算法之前,让我们先插进来说一说一个有点跑题的东西:Vector Quantization.这项技术广泛地用在信号处理以及数据压缩等领域.事实上,在 JPEG 和 MPEG-4 等多媒体压缩格式里都有 VQ 这一步. Vector Quantization 这个名字听起来有些玄乎,其实它本身并没有这么高深.大家都知道,模拟信号是连续的值,而计算机只能处理离散的数字信号,在将模拟信号转换为数字信号的时候,我们可以用区间内的某一个值去代替着一个区间,比如,[0, 1) 上的所有值变…
语音信号处理之(四)梅尔频率倒谱系数(MFCC) zouxy09@qq.com http://blog.csdn.net/zouxy09 这学期有<语音信号处理>这门课,快考试了,所以也要了解了解相关的知识点.呵呵,平时没怎么听课,现在只能抱佛脚了.顺便也总结总结,好让自己的知识架构清晰点,也和大家分享下.下面总结的是第四个知识点:MFCC.因为花的时间不多,所以可能会有不少说的不妥的地方,还望大家指正.谢谢. 在任意一个Automatic speech recognition 系统中,第一步…
语音信号的数字处理课程作业——矢量量化.这里采用了K-means算法,即假设量化种类是已知的,当然也可以采用LBG算法等,不过K-means比较简单.矢量是二维的,可以在平面上清楚的表示出来. 1. 算法描述 本次实验选择了K-means算法对数据进行矢量量化.算法主要包括以下几个步骤 初始化:载入训练数据,确定初始码本中心(4个): 最近邻分类:对训练数据计算距离(此处采用欧式距离),按照距离最小分类: 码本更新:重新生成包腔对应的质心: 重复分类和码本更新步骤,知道达到最大迭代次数或满足一定…
语音信号处理之(一)动态时间规整(DTW) zouxy09@qq.com 原文:http://blog.csdn.net/zouxy09 这学期有<语音信号处理>这门课,快考试了,所以也要了解了解相关的知识点.呵呵,平时没怎么听课,现在只能抱佛脚了.顺便也总结总结,好让自己的知识架构清晰点,也和大家分享下.下面总结的是第一个知识点:DTW.因为花的时间不多,所以可能会有不少说的不妥的地方,还望大家指正.谢谢. Dynamic Time Warping(DTW)诞生有一定的历史了(日本学者Ita…
这学期有<语音信号处理>这门课,快考试了,所以也要了解了解相关的知识点.呵呵,平时没怎么听课,现在只能抱佛脚了.顺便也总结总结,好让自己的知识架构清晰点,也和大家分享下.下面总结的是第一个知识点:DTW.因为花的时间不多,所以可能会有不少说的不妥的地方,还望大家指正.谢谢. Dynamic Time Warping(DTW)诞生有一定的历史了(日本学者Itakura提出),它出现的目的也比较单纯,是一种衡量两个长度不同的时间序列的相似度的方法.应用也比较广,主要是在模板匹配中,比如说用在孤立词…
学习矢量量化. k近邻的缺点是你需要维持整个数据集的训练. 学习矢量量化算法(简称LVQ)是一种人工神经网络算法,它允许你选择要挂在多少个训练实例上,并精确地了解这些实例应该是什么样子. LVQ的表示是一个codebook 向量的集合.这些都是在开始时随机选择的,并根据学习算法的多次迭代对训练数据集进行最佳的总结. 在学习之后,codebook vector可以用来做出像k近邻那样的预测.通过计算每个codebook vector和新数据实例之间的距离,可以找到最相似的邻居(最佳匹配的codeb…
语音信号处理之(一)动态时间规整(DTW) zouxy09@qq.com http://blog.csdn.net/zouxy09 这学期有<语音信号处理>这门课,快考试了,所以也要了解了解相关的知识点.呵呵,平时没怎么听课,现在只能抱佛脚了.顺便也总结总结,好让自己的知识架构清晰点,也和大家分享下.下面总结的是第一个知识点:DTW.因为花的时间不多,所以可能会有不少说的不妥的地方,还望大家指正.谢谢. Dynamic Time Warping(DTW)诞生有一定的历史了(日本学者Itakur…
1.语音信号处理之时域分析-音高追踪及其Python实现 2.语音信号处理之时域分析-音高及其Python实现 参考: 1.NumPy…
librosa是一个非常强大的python语音信号处理的第三方库,本文参考的是librosa的官方文档,本文主要总结了一些重要,对我来说非常常用的功能.学会librosa后再也不用用python去实现那些复杂的算法了,只需要一句语句就能轻松实现. 先总结一下本文中常用的专业名词:sr:采样率.hop_length:帧移.overlapping:连续帧之间的重叠部分.n_fft:窗口大小.spectrum:频谱.spectrogram:频谱图或叫做语谱图.amplitude:振幅.mono:单声道…
Hi everyone,I have shared speech recognition code inhttps://github.com/gtiwari333/speech-recognition-java-hidden-markov-model-vq-mfccYou can find complete source code for speech recognition using  HMM, VQ, MFCC ( Hidden markov model, Vector Quantizat…
以上节tts语音输出为例 下载sdk链接:http://www.xfyun.cn/sdk/dispatcher 1.下载SDK,解压: 2.在ROS工作空间下创建一个Package: catkin_create_pkg tts_voice rospp rospy std_msgs 3.将SDK文件夹中的头文件,即下载的SDK文件夹中include文件夹下的 .h文件拷贝至tts_voice/include/下: 4.将SDK文件夹中sample/tts_sample中的xf_tts.cpp文件拷…
今天一直在查找语音频谱之类的问题,今天正好有机会和大家共享一下. 语音信号处置之(四)梅尔频率倒谱系数(MFCC) zouxy09@qq.com http://blog.csdn.net/zouxy09 这学期有<语音信号处置>这门课,快考试了,所以也要了解了解相干的知识点.呵呵,平常没怎么听课,现在只能抱佛脚了.顺便也总结总结,好让自己的知识架构清晰点,也和大家分享下.上面总结的是第四个知识点:MFCC.因为花的时间不多,所以可能会有不少说的不妥的地方,还望大家指正.谢谢. 在任意一个Aut…
说明:本月的主要工作都是围绕制作矢量切片这一个核心问题进行的,所以2月的主题就以这个问题为主,目前分支出来的一些内容主要包括了TMS(Tile map service),OpenLayers3中的Projection和Resolution以及proj4js在OpenLayers3中的应用,这些在这篇文章之后会继续展开,作为本月的番外内容. 一.GIS数据与OGC标准地图服务 本节主要是介绍一些基础的数据概念以及基本的WebGIS地图服务,如对这些内容已经熟知,可直接跳过本节. 1)GIS中的矢量…
说明:本月的主要工作都是围绕制作矢量切片这一个核心问题进行的,所以2月的主题就以这个问题为主,目前分支出来的一些内容主要包括了TMS(Tile map service),OpenLayers3中的Projection和Resolution以及proj4js在OpenLayers3中的应用,这些在这篇文章之后会继续展开,作为本月的番外内容. 一.GIS数据与OGC标准地图服务 本节主要是介绍一些基础的数据概念以及基本的WebGIS地图服务,如对这些内容已经熟知,可直接跳过本节. 1)GIS中的矢量…
一.图形界面设计 1.新建GUI界面 2.新建空白页 3.命名为"yydsp",打开界面 4.拖放控件 5.按预定功能修改界面 6.填写Callback函数 未填写前的代码: function varargout = yydsp(varargin) % YYDSP MATLAB code for yydsp.fig % YYDSP, by itself, creates a new YYDSP or raises the existing % singleton*. % % H = Y…
这篇文章算太监了,去作者blog提问去吧:http://www.kunli.info/2012/04/08/fourier-wavelet-motion-signal-3/ 从前两篇发布到现在,过去一年多了.当初承诺的主要讲解应用的第三篇迟迟没能出炉的原因主要是这个方法用到了我们组的一篇论文中,所以在论文发表之前,不大方便发出来.倒不是说这个方法有多原创创新,只是这是团队工作,我单独提前发出来不大好. 现在这篇论文已经录取发表,所以可以不用顾虑放上来了.我本来想讲的东西都在论文中,我也比较懒,就…
Vector 的底层实现以及结构与 ArrayList 完全相同,只是在某一些细节上会有所不同.这些细节主要有: 线程安全 扩容大小 线程安全 我们知道 ArrayList 是线程不安全的,只能在单线程环境下使用.而 Vector 则是线程安全的,那么其实怎么实现的呢? 其实 Vector 的实现很简单,就是在每一个可能发生线程安全的方法加上 synchronized 关键字.这样就使得任何时候只有一个线程能够进行读写,这样就保证了线程安全. public synchronized E get(…
信噪比(SNR) 有用信号功率与噪声功率的比(此处功率为平均功率),也等于幅度比的平方 $$SNR(dB)=10\log_{10}\frac{\sum_{n=0}^{N-1}s^2(n)}{\sum_{n=0}^{N-1}d^2(n)}=10*\log_{10}(\frac{P_{signal}}{P_{noise}})=20*log_{10}(\frac{A_{signal}}{A_{noise}})$$ $$SNR(dB)=10\log_{10}\frac{\sum_{n=0}^{N-1}s…
图像检索中,对一幅图像编码后的向量的维度是很高.以VLAD为例,基于SIFT特征点,设视觉词汇表的大小为256,那么一幅图像编码后的VLAD向量的长度为$128 \times 256 = 32768 $.通常要对编码后的VLAD向量进行降维,降维后的向量长度应该根据图像库中图像量的大小来,如果只是几百张的小的图像库,那么可以降维到128甚至是64维,在这种情况下降维后的VLAD向量仍然有很好的区分度:但是如果图片库的数量是几千,几万张,如果VLAD降维的维度太低,损失的信息过多,就不能有很好的区…
Deep Learning论文笔记之(一)K-means特征学习 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文,但老感觉看完过后就会慢慢的淡忘,某一天重新拾起来的时候又好像没有看过一样.所以想习惯地把一些感觉有用的论文中的知识点总结整理一下,一方面在整理过程中,自己的理解也会更深,另一方面也方便未来自己的勘察.更好的还可以放到博客上面与大家交流.因为基础有限,所以对论文的一些理解可能不太正确,还望大家不吝指正交流,…
乘积量化 1.简介 乘积量化(PQ)算法是和VLAD算法是由法国INRIA实验室一同提出来的,为的是加快图像的检索速度,所以它是一种检索算法,在矢量量化(Vector Quantization,VQ)的基础上发展而来,虽然PQ不算是新算法,但是这种思想还是挺有用处的,本文没有添加公式. 它原文中是接在VLAD算法后面,假设我们使用VLAD算法获得了1M的图像表达向量,向量的维度为D=128,则对于一幅查询图像来说,我们需要计算1M个余弦距离,这样实时性就比较差.所以如何加快这种距离的计算速度就是…
VectorDrawable 矢量图 三部曲: Android 开发 VectorDrawable 矢量图 (一)了解Android矢量图与获取矢量图 Android 开发 VectorDrawable 矢量图 (二)了解矢量图属性与绘制 Android 开发 VectorDrawable 矢量图 (三)矢量图动画 简介——矢量动画2种方式与流程 矢量动画有一些不一样的细节,这里需要提前了解,否则容易在后续使用的时候困惑. 1.使用group包裹后的动画,为什么要使用它来包裹path?因为属性动…
一:Emotion Recognition from Human Speech Using Temporal Information and Deep Learning(2018 InterSpeech) (1)分帧加窗,每一帧采用的特征向量为eGeMAPS特征集中的20个特征,每个utterance使用裁剪和padding的做法使得定长512帧,所以输入为20x512的矩阵.每个样本归一化到0均值1标准差(根据对应的说话人).使用的数据集为EmoDB. (2)准确率为88.9% 二:Speec…
Web GIS系列: 1.搭建简易Web GIS网站:使用GeoServer+PostgreSQL+PostGIS+OpenLayers3 2.使用GeoServer+QGIS发布WMTS服务 3.使用GeoServer+OpenLayers发布和调用WMTS.Vector Tile矢量切片服务 . 4.Leaflet入门:添加点线面并导入GeoJSON数据 上一篇文章介绍了如何发布WMTS服务,这篇文章将继续介绍如何调用WMTS服务.此外,还将介绍如何发布和调用矢量切片服务. 调用WMTS服务…
Vector源码解析 首先说一下Vector和ArrayList的区别: (1) Vector的所有方法都是有synchronized关键字的,即每一个方法都是同步的,所以在使用起来效率会非常低,但是保证了线程安全:而ArrayList的全部方法都是非同步的,所以相对Vector的效率会更高,所以它是线程不安全的. (2) ArrayList在每次扩容时都是增加当前容量的1.5倍,而Vector在扩容时都是增加当前容量的两倍. 不需要考虑线程安全时,Java官方推荐我们使用ArrayList,…