今天开始学习洪青阳老师编写的语音识别原理与应用,把书中的内容用代码复现下,系统的进行学习
3.1预处理
(1)预加重
这里实际上是设计了一个一阶高通滤波器

原始语音信号图“蓝天白云碧绿的大海”

预加重

(2)分帧
语音信号的短时平稳性
语音信号的短时分析
短时信号的切取
-分帧
-帧长
-帧移

语音分帧
每帧10-30ms, 帧间隔10ms

(3)加窗



import numpy as np
import matplotlib.pyplot as plt
import librosa.display
from matplotlib.font_manager import FontProperties
fonts = FontProperties(fname = "D:\Desktop\语音识别原理与应用\方正粗黑宋简体.ttf",size=14)
#%% 原始音频
data, sample_rate = librosa.load('sky.wav')
print("长度 = {0} 秒".format(len(data) / sample_rate))
plt.figure(1)
plt.subplot(211)
librosa.display.waveplot(data, sample_rate)
plt.subplot(212)
N=len(data)
# 分辨率
df = sample_rate/(N-1)
# 构建频率数组
f = [df*n for n in range(0,N)]
Y = np.fft.fft(data)*2/N  #*2/N 反映了FFT变换的结果与实际信号幅值之间的关系
absY = [np.abs(x) for x in Y]      #求傅里叶变换结果的模
plt.plot(f,absY)
plt.xlabel('频率(Hz)',FontProperties = fonts)
plt.title("fft")
plt.show()
#%%1.预加重
import python_speech_features
emphasized_signal=python_speech_features.sigproc.preemphasis(data, coeff=0.95)
pre_emphasis = 0.98 #预加重系数
plt.figure(2)
plt.subplot(211)
librosa.display.waveplot(emphasized_signal, sample_rate)
plt.subplot(212)
N=len(emphasized_signal)
# 分辨率
df = sample_rate/(N-1)
# 构建频率数组
f = [df*n for n in range(0,N)]
Y = np.fft.fft(emphasized_signal)*2/N  #*2/N 反映了FFT变换的结果与实际信号幅值之间的关系
absY = [np.abs(x) for x in Y]      #求傅里叶变换结果的模
plt.plot(f,absY)
plt.xlabel('频率(Hz)',FontProperties = fonts)
plt.title("fft")
plt.show()
#%%2.分帧
def enframe(x, win, inc=None):nx = len(x)if isinstance(win, list) or isinstance(win, np.ndarray):nwin = len(win)nlen = nwin  # 帧长=窗长elif isinstance(win, int):nwin = 1nlen = win  # 设置为帧长if inc is None:inc = nlennf = (nx - nlen + inc) // incframeout = np.zeros((nf, nlen))indf = np.multiply(inc, np.array([i for i in range(nf)]))for i in range(nf):frameout[i, :] = x[indf[i]:indf[i] + nlen]if isinstance(win, list) or isinstance(win, np.ndarray):frameout = np.multiply(frameout, np.array(win))return frameout
#%%3.加窗
import numpy as np
import matplotlib.pyplot as plt
plt.subplot(3, 1, 1)
window1 = np.ones(32)
plt.title('(a)矩形窗',FontProperties = fonts)
plt.plot(window1)
plt.subplot(3, 1, 2)
window2 = np.hamming(32)
plt.title('(b)汉明窗',FontProperties = fonts)
plt.plot(window2)
plt.subplot(3, 1, 3)
window3= np.hanning(32)
plt.title('(c)汉宁窗',FontProperties = fonts)
plt.plot(window3)
plt.show()

语音识别原理与应用:第三章 语音特征提取 3.1预处理相关推荐

  1. 语音识别原理与应用 第三章 语音特征提取

    目录 第三章 语音特征提取 3.1预处理 3.2 短时傅立叶变换 3.3听觉特性 3.4线性预测 3.5倒谱分析 3.6常用的声学特征 第三章 语音特征提取 原始语音是不定长的时序信号,不适合直接作为 ...

  2. 编译原理练习题(第三章)

    编译原理练习题(第三章) 一. 二. 三. 四.

  3. [计网:原理与实践] 第三章:直接连接的网络(课后习题整理)

    第三章 直接连接的网络 3-1 链路层协议能够向网络层提供哪些可能的服务?   成帧.差错检测.可靠交媒体访问和流量控制等服务. 3-2 假设分组的信息内容是比特模式1110101010101011, ...

  4. 通信原理day7:第三章:抽样;均匀量化;非均匀量化;A律;增量(ΔM)调制

    模拟信号的数字化 1.抽样定理 1.1低通信号的抽样定理 1.2带通信号的抽样定理 2.量化 2.1 均匀量化 2.1.1.抽样频率,传输速率 2.1.2.量化位数,量化电平,量化间隔 2.1.3.量 ...

  5. RFID原理与应用 第三章:RFID中的天线技术

    1.天线概述 1.1天线的定义 天线是用来发射或接收无线电波的装置和部件.可以视为传输线的终端器件. 天线作为一个单端口元件,要求与相连接的馈线阻抗匹配.天线的馈线上要 尽可能传输行波,使从馈线入射到 ...

  6. JavaScript核心原理精讲第三章 数组原理和排序

    07-数组原理(上):帮你梳理眼花缭乱的数组 API 我在上一讲为你剖析了闭包这个难点,带你了解了作用域.闭包产生的原因及表现形式.那么这一讲,我们一起来手工实现一个 JSON.stringify 的 ...

  7. 会计学原理学习笔记——第三章——账户与复式记账(3.4生产准备业务核算——材料采购业务核算)

    一.材料采购业务核算简介 (一)材料的种类 材料按其在生产过程中的作用,可分为原料及主要材料.辅助材料.外购半成品(外购件).修理用备件.包装材料.燃料等. (二)采购成本 买价和采购费用(包括运费. ...

  8. 会计学原理学习笔记——第三章——账户与复式记账(3.3生产准备业务核算——固定资产构建核算)

    一.固定资产核算简介 (一)含义 固定资产是指使用期限超过一年的房屋.建筑物.机器.机械.运输工具以及其他与生产.经营有关的设备.器具.工具等. (二)特征 固定资产是一种有形资产,应该同时具有下列两 ...

  9. 会计学原理学习笔记——第三章——账户与复式记账(3.5生产准备业务核算——费用发生业务核算)

    一.产品成本 产品成本,是指企业在生产产品过程中所发生的材料费用.职工薪酬等,以及不能直接计入而按一定标准分配计入的各种间接费用.制造企业产品成本一般设置直接材料.燃料和动力.直接人工和制造费用等成本 ...

最新文章

  1. 手把手教你STM8单片机标准库移植
  2. NLP/CV模型跨界,视觉Transformer赶超CNN?
  3. 80%以上Javaer可能不知道的一个Spring知识点
  4. EOS从入门到精通(四)
  5. python3 的windows下文件操作注意问题
  6. P3-weixin-2.0.0版本发布(微信插件式开发框架)
  7. CSS——id 和 class 选择器
  8. Django中使用CORS实现跨域请求
  9. C#中的类声明和对象定义方法实验
  10. [转] polymorphic databinding solutions
  11. python editor_Python+Weditor
  12. asp.net membership 配置错误
  13. keepalived+LVS 详解(3) -- VRRP协议简介
  14. CMMI4级——几个直接与项目管理相关的PA(PP、PMC、IPM、RSKM、QPM、CAR)
  15. Magento(CE1.X)自带模块解析七
  16. AE新手基础入门教程50套从新手到高手
  17. cad中填充的剖面线不能被修剪_为什么CAD中填充无法修剪?
  18. Ubuntu18.04装录屏软件OBS-Studio 21.1
  19. AWS宣布Amazon EKS在AWS中国(宁夏)区域和AWS中国(北京)区域正式商用
  20. 三天流量有效期具体怎么算_飞猪不从APP提取出来流量有效期多久?如何提取?(含与客服对话)...

热门文章

  1. python怎么统计单词总数_Python【习题】:统计纯英文文本中总字数
  2. GBase 8c V3.0.0数据类型——HLL函数和操作符(废弃函数)
  3. Android动态权限(兼容6.0以下和魅族手机方案)
  4. h5 如何监听微信左上角关闭按钮
  5. android spen加背景网页,三星高端Android平板GalaxyTabS6在台推出,结合键盘、SPen打造娱乐、商务两相宜的设计...
  6. Winsoft OCR for FireMonkey AND Delphi CB XE2-10.4 Sydney
  7. prerender-spa-plugin 使用以及代理相关
  8. 嵌入式软件开发和其他软件开发的区别
  9. 中国双面胶带行业市场供需与战略研究报告
  10. php 音频顺序播放,html5 Audio多个mp3音频顺序播放