- 博客(89)
- 资源 (7)
- 问答 (1)
- 收藏
- 关注
原创 Python语音基础操作--3.5线性预测分析
一个简化的语音模型可以看做一个数字滤波器:H(z)=S(z)U(z)=G1−∑i=1paizi−1H(z)=\frac{S(z)}{U(z)}=\frac{G}{1-\sum\limits_{i=1}^pa_iz_i^{-1}}H(z)=U(z)S(z)=1−i=1∑paizi−1G这里s(n)s(n)s(n)和u(n)u(n)u(n)之间的关系可以用差分方程来表示:s(n)=∑i...
2020-04-27 17:45:03
2085
4
原创 Python语音基础操作--3.4倒谱分析与MFCC系数
倒谱分析语音信号x(n)x(n)x(n)可以看做是声门激励信号x1(n)x_1(n)x1(n)和声道冲击响应信号x2(n)x_2(n)x2(n)的卷积:x(n)=x1(n)∗x2(n)x(n)=x_1(n)*x_2(n)x(n)=x1(n)∗x2(n)为了便于处理卷积,系统通常采用同态处理的方式做卷积,将卷积关系变换为求和关系:上图中*,+,·分别表示卷积,加法,乘法运算。第一个...
2020-04-27 17:42:33
7121
3
原创 Python语音基础操作--3.3短时频域分析
短时傅里叶变换语音信号是典型的非平稳信号,但是由于其非平稳性由发声器官的物理运动过程而产生,这种过程是相对变换缓慢的,在10~30ms以内可以认为是平稳的。傅里叶分析时分析线性系统和平稳信号稳态特征的手段,而短时傅里叶分析,是用稳态分析方法处理非平稳信号的一种方法。假设语音波形时域信号为x(l)x(l)x(l),加窗分帧处理后得到的第nnn帧语音信号为xn(m)x_n(m)xn(m),那有:...
2020-04-27 17:33:02
4359
6
原创 Python语音基础操作--3.2短时时域分析
时域分析就是提取语音信号的时域参数。时域分析通常用于最基本的参数分析与应用,如语音分割,预处理,分类等。常用的时域参数有短时能量,短时过零率,短时自相关系数和短时平均幅度差函数等。短时能量与短时平均幅度设第nnn帧语音信号xn(m)x_n(m)xn(m)的短时能量用EnE_nEn表示:En=∑m=1Nxn2(m)E_n=\sum\limits_{m=1}^Nx_n^2(m)En=m...
2020-04-27 17:30:02
6432
13
原创 Python语音基础操作--3.1语音分帧与加窗
一般来讲,语音信号的采样率是挺高的,而且认为语音信号在一定时间段的基本特性不会发生较大的变化,具有一定的短时平稳性。进行“短时分析”就行将信号分解成一段一段地来处理,每一段就叫一帧,大约10-30ms,也就是一秒钟大约33-100帧,对于通常10K的采样率来说,这样也能有一定的信息存在。分帧通常有一定的交叠部分,就是帧移。帧移与帧长的比通常为0~1/2。分帧就是通过加窗函数实现的,假设原始信号为...
2020-04-06 11:22:50
9839
22
原创 Python语音基础操作--2.4语音信号生成
从人类的发音器官的机理来看,发不同性质的声音时,声道的情况是不同的。此外,声门和声道的相互藕合会形成语音信号的非线性特性。但语音信号特性随着时间变化是很缓慢的,所以可以作出一些合理的假设,将语音信号分为一些相继的短段进行处理,在这些短段中可以认为语音信号特性是不随时间变化的平稳随机过程。通过对发音器官和语音产生机理的分析,语音生成系统理论上分成三个部分,在声门(声带)以下,称为"声门子系统",它负...
2020-04-06 11:12:03
4572
原创 Python语音基础操作--2.3声强与响度
声压声压是定量描述声波的最基本的物理量,它是由于声扰动产生的逾量压强,是空间位置和时间的函数。由于声压的测量比较易于实现,而且通过声压的测量也可以间接求得质点振速等其他声学参量,因此,声压已成为人们最为普遍采用的定量描述声披性质的物理量。有效声压通常讲的卢压指的是有效声压,即在一定时间间隔内将瞬时声压对时间求方均根值所得。设语音长度度为TTT, 离散点数为NNN, 则有效声压的计算公式为P...
2020-04-06 11:03:52
8931
4
原创 Python语音基础操作--2.2语音编辑
信号相加读取了语音信号之后可以看到是一个一维数组,可以直接通过一维数组(列表)的形式进行操作。在两个序列长度不一样时候,可以在短的一个序列后补零。class soundBase: def __init__(self, path): self.path = path def sound_add(self, data1, data2): if le...
2020-04-06 10:58:16
5105
13
原创 Python语音基础操作--2.1语音录制,播放,读取
使用Python进行语音信号处理。借助一些基础包,进行相关工具的二次开发。语言录制import pyaudioimport waveCHUNK = 1024FORMAT = pyaudio.paInt16CHANNELS = 2RATE = 16000RECORD_SECONDS = 2WAVE_OUTPUT_FILENAME = "Oldboy.wav"p = pyaud...
2020-04-06 10:42:22
13685
22
原创 常用的深度学习激活函数公式与函数图
深度学习是非线性的转化,但是通过数学公式y=Wx+by=Wx+by=Wx+b的转化还是线性的,只有加入激活函数之后才是非线性的。逻辑函数(Sigmoid)ϕ(x)=11+e−x\phi(x)=\frac{1}{1+e^{-x}}ϕ(x)=1+e−x1正切函数ϕ(x)=tanh(x)=1−e−2x1+e−2x\phi(x)=\tanh(x)=\frac{1-e^{-2x}}{1+e^...
2020-02-23 20:33:27
534
原创 Python与机器学习实战——SVM(1)
SVM感知器能将线性可分数据集准确分割开,但是从损失函数可以看出,只是分割开了,但是没有一个最优解,比如:这样虽然两条直线都将数据集分开了,但是如果出现了一个新的数据点,很有可能这个数据点的分割结果是错误的。比如这样:那么就需要绿色的这个“超平面”作为分类输出才行。这个最有“超平面”就是支持向量机SVM的分类思想。线性SVM在感知器中有描述到样本点(xi,yi)(x_i,y_i)(x...
2020-02-11 19:29:02
419
原创 Python与机器学习实战——感知器
感知器感知器只能处理线性可分的问题,所谓线性可分问题就是:对于一个数据集D={(x1,y1),...,(xn,yn)}D=\{(x_1,y_1),...,(x_n,y_n)\}D={(x1,y1),...,(xn,yn)},其中xi∈X⊆Rn,yi∈{−1,+1}x_i\in \bold{X}\subseteq\mathbb{R^n} ,y_i\in\{-1,+1\}xi∈X⊆Rn,y...
2020-02-10 19:37:33
328
原创 网络爬虫request.get方式获取图片(含多进程与IP代理方式)
@[TOC]网络爬虫request.get方式获取图片通过requests.get的方式获得url的信息可以用以下的方式:方式1:html = requests.get(url, headers=header, params=queryStringPara).text方式2:html = requests.get(url, headers=header, params=queryString...
2020-02-09 18:27:29
2877
原创 C++链表
C++链表主要内容来源于CSDN博客并加以整理。链表的理解你现在有一个小纸条,上面写着一个抽屉的地址,那个抽屉里有一些你需要的东西,和一个新的写着地址的小纸条,这个小纸条又指向了一个新的抽屉。需要的头文件#include<iostream>#include<cstdlib>#include<ctime> //随机链表才需要#include <...
2020-02-07 20:05:58
468
原创 Python与机器学习——集成学习
集成学习集成学习的思想在于:通过适当的方式集成多个“个体模型”,得到最终的模型,希望最终模型优于个体模型。个体模型G1集成模块个体模型G2个体模型Gn最终模型所以问题变成了如何选择,生成个体模型,以及如何进行集成。有不同的设计思路:将不同的个体模型进行集成;将类型相同但参数不同的模型进行集成;将类型相同但训练集不同的模型进行集成。第一种方式的应用并不十分广泛,第二种方式又被称为并...
2020-02-05 18:10:21
369
原创 Python与机器学习——决策树
决策树理论基础决策树是建立在信息论的基础上的,决策树的生成就是让数据的"不确定性"减少越多越好,意味着划分能获得越多的信息。信息的不确定性可以用信息熵和基尼指数来描述。信息熵信息熵的定义其实也比较简单:H(y)=∑k=1Kpklogpk(信息熵公式)H(y)=\sum_{k=1}^Kp_k\log p_k\tag{信息熵公式}H(y)=k=1∑Kpklogpk(信息熵公式)对于具...
2020-02-01 21:26:30
336
原创 Python与机器学习——贝叶斯分类器
贝叶斯分类器内容与代码来源自:Python与机器学习实战(何宇健)作者git repo我的git repo理论贝叶斯决策理论和传统统计学理论有区别,最大的区别在于对于概率的定义:统计学的频率强调“自然属性”,认为应该使用事件在重复试验中发生的频率最为其发生的概率的估计;贝叶斯决策理论的频率不强调客观随机性,认为仅仅是观察者不知道时间发生的结果。对于“知情者”来说,该事件其实不具备随机...
2020-01-30 11:49:48
545
原创 C++学习的重点,疑点,难点问题记录
内联函数需要在函数名前加关键词inline,编译器将使用的代码直接替换函数调用,内联函数运行速度比常规函数稍快,但是代价是内存消耗更多。通常比较短小的函数可以写成内联函数。如:inline double square (double x) {return x*x;}变量引用变量引用可以使得两个变量指向同一个地址,可以一直保持同样的值;int rats=1;int & rode...
2020-01-20 17:14:21
285
原创 Andrew Ng 深度学习课程——卷积神经网络(CNN)
主要是记录网易云课堂上的网络课卷积神经网络的笔记文章目录卷积神经网络边缘检测padding, stride三通道(RGB)图片的卷积单层CNN其他概念CNN网络卷积神经网络在前面学习,可以实现神经网络的搭建,使用图片识别的话,是将图片RGB三个通道flatten成为一个很长的向量来处理,之前处理的图片都比较小,如果图片比较大假设1000x1000x3,第一个输出层的输出为10000,那么这一...
2020-01-05 21:37:18
513
原创 一维信号的卷积认识
信号的卷积计算在信号处理中是常使用到的,这里不讨论卷积的物理含义,在信号处理的书中能找到的,谈谈如何进行编程。首先看下离散卷积的数学公式:y(n)=∑i=0Nx(i)h(n−i)y(n)=\sum\limits_{i=0}^N{x(i)h(n-i)}y(n)=i=0∑Nx(i)h(n−i)假如有x(n)={x1,x2,x3,x4}x(n)=\{x_1,x_2,x_3,x_4\}x(n)={x1...
2019-12-07 08:48:24
2735
原创 频域信号处理
频域信号处理FFTFFT变换是针对一组数值进行运算的,这组数的长度N必须是2的整数次幂,例如64, 128, 256等等; 数值可以是实数也可以是复数,通常我们的时域信号都是实数,因此下面都以实数为例。我们可以把这一组实数想像成对某个连续信号按照一定取样周期进行取样而得来,如果对这组N个实数值进行FFT变换,将得到一个有N个复数的数组,我们称此复数数组为频域信号,此复数数组符合如下规律:下...
2019-12-07 08:44:41
3070
原创 文献笔记——ECG分类器(Inter- and intra- patient ECG heartbeat classification)
文献笔记——ECG分类器(Inter- and intra- patient ECG heartbeat classification)文献笔记DateVersionComments2019/11/1V0.1Init参考:论文及其引用:Inter- and intra- patient ECG heartbeat classification for arr...
2019-11-17 11:35:34
4838
11
原创 零相位(双边)滤波器设计–C++/Matlab
零相位(双边)滤波器设计–C++/MatlabDateVersionComments2019/11/12V0.1InitMatlab滤波器设计借助Matlab进行单边滤波器的设计比较简单,通过fdatool命令打开滤波器设计分析工具,按照自己的要求设计滤波器,点击Design Filter可以看到Filter Specifications的幅值响应。Fs是采...
2019-11-12 22:26:11
9313
19
原创 MATLAB-WFDB读取信号与标注方法
安装后从WFDB中读取信号和标签主要是两个函数:rdsamp(readSamples)–读取信号:[signal,Fs,tm]=rdsamp(recordName,signaList,N,N0,rawUnits,highResolution)输出:signal:信号,可以直接plot的,有可能是多组信号Fs:采样率tm:表示时间信息,有可能直接就是采样点,也可能是ms单位的信息\...
2019-11-06 17:06:29
4336
原创 Android JAVA相关笔记
JDK安装好以后没有jre目录参考:https://www.zhihu.com/question/322277554如果需要jre,需要到jdk目录下面去打开命令窗口,然后执行如下命令:bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre执行完之后就会生成jrejava13没有javah命令...
2019-10-26 09:44:14
181
原创 在Linux上调试C++项目
在Linux调试C++项目的学习笔记。参考:1 linux系统下如何在vscode中调试C++代码2 Linux VSCode调试C++单个CPP文件编译过程首先对单个文件的编译过程有个简单了解,写一个cpp文件:/*test.cpp*/#include <stdio.h>int main(){ printf("hello C++ in Linux!\n"); p...
2019-10-12 21:50:27
10407
4
原创 Andrew Ng 深度学习课程——序列模型
主要是记录网易云课堂上的网络课序列模型的笔记dateversioncomments2019/9/27V0.1Init循环序列模型序列模型就是使用序列数据的模型,所谓序列数据可以理解为一维时间信号等,常见应用于:场景输入输出语言识别语音信号识别的文本音乐生成(空)一段音符语句分类(电影打分场景)一段评论评分DN...
2019-10-04 11:29:42
607
原创 CSDN中插入数学公式的2种形式——MathJax和LaTex
在CSDN博客中写科技博文难免遇到需要写数学公式的情况,写数学公式有两种方式,直接插入LaTex代码和MathJax方式。LaTex可以直接使用$...$或者$$...$$包裹Latex代码渲染数学公式使用$x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}$嵌入本文不换行:x=−b±b2−4ac2ax=\frac{-b\pm\sqrt{b^2-4ac}}{2a}x=2a...
2019-10-04 09:51:17
1020
原创 Andrew Ng 深度学习课程——机器学习策略
网易公开课机器学习策略的笔记,部分内容还参考了网友博客1正交化表示在机器学习模型建立的整个流程中,我们需要根据不同部分反映的问题,去做相应的调整,从而更加容易地判断出是在哪一个部分出现了问题,并做相应的解决措施。正交化或正交性是一种系统设计属性,其确保修改算法的指令或部分不会对系统的其他部分产生或传播副作用。 相互独立地验证使得算法变得更简单,减少了测试和开发的时间。当在监督学习模型中,以...
2019-09-25 17:46:01
642
原创 pyQt-GUI检测键盘操作
使用pyQt写GUI后,如果有键盘快捷键可以改善使用体验,提高效率某些方面的效率。参考:1.使用pyqt5实现键盘(含组合键)鼠标事件响应2.Python matplotlib绘图,使用鼠标滚轮放大/缩小图像3.【Python】【matplotlib】键鼠响应事件键盘检测主窗口继承自PyQt5.QtWidgets或PyQt5.QtWidgets.QMainWindow,在窗口class...
2019-08-28 14:00:01
2012
原创 Andrew Ng 深度学习课程——改善深层神经网络:超参数调试、正则化以及优化
感谢Andrew Ng的公开课1,这个博客主要是记录公开课的学习过程与理解。文章目录深度学习实用层面数据集偏差(bias)与方差(variance)参数的初始化正则化(regularization)Dropout深度学习实用层面数据集数据集被分为了训练集,验证集,测试集。训练集(train set):用训练集对算法或模型进行训练过程;验证集(development set):利用验证...
2019-08-18 15:49:30
526
1
原创 softmax的梯度下降推导
由于深度学习网络课程中没有清楚讲softmax的梯度下降的推导过程,在这里记录如下:softmax是在做多分类问题时候用在输出层的,函数定义为:ak=g(zk)=ezk∑i=1Cezia_k=g(z_k)=\frac {e^{z_k}}{\sum\limits_{i=1}^{C}{e^{z_i}}}ak=g(zk)=i=1∑Ceziezk损失函数的定义为:L(a,y)=−∑j=1Cy...
2019-08-17 22:04:12
4151
原创 CSDN网络课-Python异步编程详解
内容来源于CSDN网络课程1线程与进程线程包含进程,一个线程可以有一个或多个进程。单核CPU在多个任务中切换,也可是实现多进程的程序。线程不安全:变量共享的,造成资源的争抢,造成数据异常。为了避免线程不安全,Python使用了GIL全局解释锁,给每个进程一把锁,启动线程先加锁,结束线程释放锁。解决了安全问题,但是性能有影响。复查程序分类:CPU密集型和IO密集型对于游戏这种CPU密集型程...
2019-08-15 18:07:34
286
原创 Andrew Ng 深度学习课程——神经网络和深度学习
感谢Andrew Ng的公开课1,这个博客主要是记录公开课的学习过程与理解。神经网络基础介绍神经网络的基础,主要是数学表达式,梯度下降法,等的介绍,从简单入手理解神经网络。逻辑回归通过介绍逻辑回归(Logistic Regression)理解神经网络问题。假设一个问题有3个参数,分别是x1x_1x1,x2x_2x2,x3x_3x3,他们共同决定了一个输出yyy。比如,yyy评价房子是...
2019-08-15 15:43:45
272
原创 bat文件学习
: 关闭命令显示@ echo off chcp 65001: 设置enabledelayedexpansion,使得在循环体内可以使用变量setlocal enabledelayedexpansion: 删除文件del result.data: 查找当前文件夹下的所有pdf文件for %%i in (*.pdf) do ( echo 正在处理 %%i set tmp=%%i ...
2019-07-31 17:27:21
519
转载 看文档学爬虫(11)——异步加载
转自:http://f61be319.wiz03.com/share/s/3S6-cp1BIQ952yXKyj02PIM43QcqFo3DzAbT2Y6fvo3IV3SQ什么是异步加载异步加载就是在浏览网页时候,通过继续加载一部分内容,而非后续全部内容的方式。示例import requestsimport refrom bs4 import BeautifulSoupheader...
2019-07-28 22:04:34
195
原创 看文档学爬虫(10)——多进程爬虫
信息来源与多进程爬虫1加以整理多进程介绍一个进程就是个一个程序, 运行一个脚本文件, 跑多个程序可以提升爬虫效率进程与线程的区别线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位;一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间(包括代码段,数据集,堆等)及一些进程级的资源(如打开文件和信...
2019-07-28 19:40:18
232
原创 看文档学爬虫(9)——[实战]爬取酷狗TOP500数据
根据[实战]爬取酷狗TOP500数据[^src]文档信息整理目标需要到http://www.kugou.com/yy/rank/home/1-8888.html?from=rank链接获取酷狗TOP500数据保存排名,歌手名字,歌曲名,时常到Mongo数据库页面分析打开url链接:[^src] : http://f61be319.wiz03.com/share/s/3S6-cp1...
2019-07-28 17:30:22
446
转载 看文档学爬虫(8)——python与mongoDB
转自:http://f61be319.wiz03.com/share/s/3S6-cp1BIQ952yXKyj02PIM42fCaN43xwQQJ2_Xy000AleegNoSQL简介not only SQL非关系型数据库产品是传统关系型数据库的功能阉割版本, 通过减少用不到或很少用的功能, 来大幅度提高产品性能NOSQL是基于键值对的, 而且不需要经过SQL层的解析, 所以性能非常高。...
2019-07-28 15:50:36
279
转载 看文档学爬虫(7)——beautifulsoup
转自:http://f61be319.wiz03.com/share/s/3S6-cp1BIQ952yXKyj02PIM40CWSe611S4bm27j1H10IsfmpBeautiful Soup的简介Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。Beautiful Soup是一个工具箱,通过解析文档为用户提供需要抓取的数据, Be...
2019-07-28 12:14:39
188
C# 串口波形4通道显示以及频谱分析
2017-05-06
Python 京东登录优惠券
2019-01-13
第三周浅层神经网络.rar
2019-08-11
Python异步编程详解【305263】回顾多线程,多进程,生成器概念.zip
2019-07-30
第二周 神经网络基础-1逻辑回归.rar
2019-08-11
CPPDebug.zip
2019-10-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅