shichaog
这个作者很懒,什么都没留下…
展开
-
tensorflow RNN实例
本实例基于谷歌tensorflow官网RNN tutorial,Basic LSTM,侧重代码分析,包括数据预处理。read.py_read_words函数读取ptb文件,按utf-8格式读入,换行符使用替换,读取到的将组成list,可以通过如下的命令行模式下进行测试。with tf.gfile.GFile("/home/gsc/envtensorflow/deep_learn/models/tut原创 2017-06-08 14:37:39 · 3243 阅读 · 0 评论 -
RNN&LSTM&GRU
RNN相对于CNN,RNN可以记录历史信息,使其在解决序列问题方面很有用处,其被广泛应用于语音识别,语言模型,翻译和图像标注等。 RNN网络具有记忆前序状态的功能。 展开后的模型如下: 长期依赖问题加入说“云在天空”,根据“云在”推出“天上”比较容易。 即根据x0,x1,...,x_0,x_1,...,可以预测h3h_3 然而,如果说“小强出生在中国,…,他的母语是中文”,如果要推原创 2017-06-03 20:15:23 · 2087 阅读 · 0 评论 -
word2vec
word2vec是什么word2vec(word to vector)是一个将单词转换成向量形式的工具。word2vec有什么用word2vec适合用作序列数据的分类,聚类和相似度计算。有用作app下载推荐系统中的,也有用在推荐系统和广告系统上的,也可以用在机器人对话类别判决系统上。音乐推荐系统基本思想是,现有的算法推荐音乐时,虽然现在的推荐系统要比以前好,但是总是不能让人满意;这里的核心思想就是让原创 2017-06-03 13:23:48 · 6730 阅读 · 0 评论 -
MFCC & PLP
这在前一篇博客中提到的语音特征提取的常用方法之一。MFCC对于语音/说话人识别,最常用的声学特征是梅尔导谱系数(mel-scale frequency cepstral coefficient,MFCC)。预加重将信号通过高通滤波器: s2(n)=s(n)−a∗s(n−1)s_2(n)=s(n)-a^{*}s(n-1) 上式中s2s_2是输出,aa是滤波器系数,通常取0.9∼10.9 \sim1原创 2017-05-30 11:53:18 · 8618 阅读 · 0 评论 -
语音识别概述
语音识别概述语音识别问题就是模式分类问题。 一个基本的语音识别系统如下图,实现是正常工作流程,虚线是训练模式分类问题中的模板(这里就是声学模型,字典和语言模型)。 图1语音识别系统组件关系图 语音识别是把语音声波转换成文字。给定目标语音的训练数据,可以训练一个识别的统计模型。用傅里叶变换将声波变换成频谱和幅度。 基于HMM的传统的声学模型依赖于语音和文本数据,以及一个单词到音素的发音字典原创 2017-05-30 11:30:35 · 18717 阅读 · 1 评论 -
Compute library compile
gsc@X250:~/Downloads$ cd /opt/android-ndk-r14b/gsc@X250:/opt/android-ndk-r14b$ lsbuild ndk-build ndk-gdb ndk-which prebuilt shader-tools source.properties sysrootCHANGELOG.原创 2017-05-18 10:16:41 · 2642 阅读 · 1 评论 -
tensorflow mnist
showing Learning processimport matplotlib.pyplot as pltimport tensorflow as tfimport numpy as npfrom sklearn.metrics import confusion_matrixtf.__version__from tensorflow.examples.tutorials.mnist i原创 2017-05-16 21:18:23 · 1166 阅读 · 0 评论 -
麦克风阵列盲源分离技术
麦克风阵列盲源分离技术盲源分离技术仅根据观察到的每一路混叠信号估计原始多路信号,独立成分分析(independent component analysis)卷积混合情况的盲源分离技术。第一部分麦克风数量大于声源数量的ICA的方法,第二部分是麦克风数量小于声源数量的时频分集方法,第三部分是基于最大后验概率的单麦克盲源分离技术。 盲源分离解决的问题:线性模型,又称瞬时模型卷积模型,语音更符合这个模原创 2017-05-11 20:48:07 · 14860 阅读 · 9 评论 -
语音预加重
语音信号预加重元音能量主要集中在1KHz以下,并且以6dB/十倍频的速度下降,可以使用欲加重技术增强高频能量,这在回声消除以及语音识别中的特征提取(共振峰, LPC)中用到,声道的终端是口和唇,口唇辐射对低频影响比较小,但是对高频段影响比较大,欲加重技术技术为了提升高频分辨率,欲加重的传递函数是H(z)=1−aZ−1H(z)=1-aZ^{-1} 。通常欲加重系数aa的取值在0.9<a<10.9<a<原创 2017-05-05 08:14:03 · 4719 阅读 · 0 评论 -
语音自适应回声消除(AEC)算法
自适应回声消除算法欢迎留言交流AEC算法早期用在Voip,电话这些场景中,自从智能设备诞生后,智能语音设备也要消除自身的音源,这些音源包括音乐或者TTS机器合成声音。本文基于开源算法阐述AEC的原理和实现,基于WebRTC和speex两种算法,文末会附上两种算法的matlab实现。回声消除原理回声消除的基本原理是使用一个自适应滤波器对未知的回声信道:ω\omega 进行参数辨识,根据扬声器信号与产原创 2017-05-04 11:17:20 · 64843 阅读 · 33 评论 -
语音识别Kaldi
下载代码以及安装$git clone https://github.com/kaldi-asr/kaldi根据INSTALL文件,先完成tools文件夹下的编译和安装,然后在编译src目录下源码。$cd kaldi/tools$extras/check_dependencies.sh$make -j4 然后切换到src目录$cd ../src$./configure$make depend原创 2017-04-07 10:37:46 · 1556 阅读 · 0 评论 -
tensorflow安装
1. 安卓pip以及virtualenv$sudo apt-get install python-pip python-dev python-virtualenv 2.创建virtualenv$virtualenv --system-site-packages3.使能virtual环境 $source ~/tensorflow/bin/activate将出现如下提示符合:(原创 2017-03-16 21:02:42 · 1099 阅读 · 0 评论 -
音频电声测试
CSND已永久停更,最新版唯一来源点击下面链接跳转:语音增强和识别网页书这是以前项目中测试智能音响电声特性时的电声部分。我不打算详细解释没一个部分的意义和其对最终对人听觉的感受,总的而言,就电声部分,其应该最为真实的还原其输入音源。对于物理声学,那是要测试喇叭和辐射盆,这一般要通过激光测试震动,以及在消声室测最终频响曲线,物理声学部分一般由大厂来做,主要也是在有限的喇叭孔径和音腔内减小震动...原创 2017-06-03 23:21:45 · 7731 阅读 · 1 评论 -
语音算法笔记
[语音增强和语音识别网页书](https://legacy.gitbook.com/book/shichaog1/hand-book-of-speech-enhancement-and-recognition/details)语音处理算法一直处于研究和发展的阶段,随着人工智能的兴起,人工智能的两个入口:语音和视觉正变的越来越重要,这也是未来5~10年各个AI公司关注的重点。语音处理算法主要...原创 2016-10-23 11:30:30 · 5345 阅读 · 0 评论 -
麦克风阵列设计
CSND已永久停更,最新版唯一来源点击下面链接跳转:语音增强和语音识别网页书语音识别准确率反映在ASR上,ASR准确率一方面依赖于语音训练集和训练模型,另一方面依赖于语音信号获取的质量。这里主要讨论获取到的语音质量对ASR的影响。以此来指导麦克风阵列的设计。这里列摘抄一句话,原文的大意是说,信噪比(SNR)每提高4~5dB,则语音系统的准确率将获得50%的提高,,即人声信号功率除以噪声...原创 2016-09-24 21:07:40 · 20945 阅读 · 5 评论 -
WebRTC之noise suppression算法
CSND已永久停更,最新版唯一来源点击下面链接跳转:语音增强和语音识别网页书WebRTC噪声抑制核心算法在ns_core.c文件里。噪声频谱可以使用如语音/噪声似然函数进行估计。将接收到的每帧信号和频率分量分类为噪声或语音。算法原理该算法的核心思想是采用维纳滤波器抑制估计出来的噪声。上式中x和n分别表示语音和噪声,而y表示麦克风采集到的信号。它们的频谱关系如上,...原创 2016-09-20 12:39:01 · 33085 阅读 · 24 评论 -
WebRTC之beamforming算法
CSND已永久停更,最新版唯一来源点击下面链接跳转:语音增强和语音识别网页书坐标问题这里以笔记本为例进行说明,当笔记本按如下方式打开:首先是键盘和液晶屏呈90度,然后鼠标上方,也就是液晶屏上方正中间是camera,把平行于键盘的面看成是xy平面,把液晶屏所在的面看成是xz平面,所有平面的原点都在Camera的位置。方位角:从原点开始,Camera的右侧是0度,逆时针方...原创 2016-09-01 20:27:30 · 16933 阅读 · 34 评论 -
WebRTC之VAD算法
CSND已永久停更,最新版唯一来源点击下面链接跳转:语音增强和语音识别网页书VAD(Voice Activity Detection)算法的作用是检测语音,在远场语音交互场景中,VAD面临着两个难题:1. 可以成功检测到最低能量的语音(灵敏度)。2. 如何在多噪环境下成功检测(漏检率和虚检率)。漏检反应的是原本是语音但是没有检测出来,而虚检率反应的是不是语音信号而被检测...原创 2016-09-01 14:40:04 · 51951 阅读 · 28 评论 -
WebRTC之process_test.cc语音测试模块分析
CSND已永久停更,最新版唯一来源点击下面链接跳转:语音增强和语音识别网页书该文件所在目录:src/webrtc/modules/audio_processing/test从该函数的main看起:1153 int main(int argc, char* argv[]) {1154 webrtc::void_main(argc, argv);1155 ...原创 2016-08-26 10:17:44 · 3842 阅读 · 1 评论 -
频域互相关延迟估计
麦克风声学延迟clear;N=1024; %长度Fs=500; %采样频率n=0:N-1;t=n/Fs; %时间序列a1=1; %信号幅度a2=1;d=-20; %延迟点数x1=a1*cos(2*pi*10*n/Fs); %信号1% x1=x1+randn(size(x1))/max(randn(size(x1))); %加噪声原创 2016-03-05 16:57:57 · 6593 阅读 · 4 评论 -
WebRTC语音处理
CSND已永久停更,最新版唯一来源点击下面链接跳转:语音增强和语音识别网页书跨平台WebRTCWebRTC是google开源的一个免插件实时视频通信技术,其分为web开发和native开发;目前支持chrome,firefox,android,ios,opera,edge。是一个真正意义上的跨平台免插件实时视频通信技术。视频应用一般是基于web层次的开发。本文主要是webRTC的nat...原创 2016-01-07 11:52:39 · 10317 阅读 · 0 评论 -
WebRTC 之二 浏览器的多媒体获取
浏览器对媒体数据的处理方法WebRTC的框架包括一系列基于Web的JavaScript API。API集主要包括三个逻辑组:1. 本地和远程音视频的获取和管理。MediaStream接口(y以及RT和H5相关的,标签)2. 连接管理。RTCPeerConnection 接口。3 任意数据管理, RTCDataChannel 接口。WebRTC使用的10个步骤1. 为原创 2015-12-13 23:05:59 · 3016 阅读 · 0 评论 -
webRTC20151201版安装(系统Ubuntu14.04)
在开始之前需要先安装一些依赖文件。依赖软件参考网址:http://www.webrtc.org/native-code/development/prerequisite-swDepot ToolsInstalling on Linux and Mac1. Confirm git is installed. git 2.2.1+ recommended.2.原创 2015-12-10 10:26:32 · 2426 阅读 · 1 评论 -
WebRTC分层设计思想
WebRTC分层设计思想WebRTC是一个宏大的工程,包括音视频采集、增强、编码、网络传输以及网络通信协议等,涉及到诸多工程师,好的架构更有助于工程师之间的协同开发,在WebRTC Native codes 使用了工厂模式,本篇以PeerConnection的类关系图说明。在上图中主要分了三个层,第一个层是client端,第二层是接口层,第三层是实现层;在WebRTC native code代码层级目录结构中,有api,pc,以及modules等;api目录存放的是若干接口类,其它模块之间的交互也原创 2021-03-20 17:22:51 · 560 阅读 · 0 评论 -
网络音视频通信架构-商业模式
视频会议服务端架构架构在视频会议场景中,主要有三种类型的服务器架构,Mesh,MCU和SFU,WebRTC主推的是无中心的P2P架构,会为每一个端建立一个PeerConnection对象,这就是Mesh架构。Mesh架构由于不需要多媒体(音视频)服务器,因而成本是最低的、安全性好且延迟也低,然而当人数较多时,可以看到P2P的链接数和带宽需求量变大,这在人数较少(如5人之内)是较为实用的,网络带宽不够问题可以加多媒体服务器解决,MCU(Multipoint Control Unit)和SFU(原创 2021-02-27 11:19:17 · 831 阅读 · 0 评论