python生成语谱图

语音的时域分析和频域分析是语音分析的两种重要方法,但是都存在着局限性。时域分析对语音信号的频率特性没有直观的了解,频域特性中又没有语音信号随时间的变化关系。而语谱图综合了时域和频域的优点,明显的显示出了语音频谱随时间的变化情况、语谱图的横轴为时间,纵轴为频率,任意给定频率成分在给定时刻的强弱用颜色深浅来表示。颜色深的,频谱值大,颜色浅的,频谱值小。语谱图上不同的黑白程度形成不同的纹路,称之为声纹,不同讲话者的声纹是不一样的,可用作声纹识别。

下面是在python中绘制语谱图:

# 导入相应的包
import numpy, wave
import matplotlib.pyplot as plt
import numpy as np
import os

filename = ‘bluesky3.wav‘
# 调用wave模块中的open函数,打开语音文件。
f = wave.open(filename,‘rb‘)
# 得到语音参数
params = f.getparams()
nchannels, sampwidth, framerate,nframes = params[:4]
# 得到的数据是字符串,需要将其转成int型
strData = f.readframes(nframes)
wavaData = np.fromstring(strData,dtype=np.int16)
# 归一化
wavaData = wavaData * 1.0/max(abs(wavaData))
# .T 表示转置
wavaData = np.reshape(wavaData,[nframes,nchannels]).T
f.close()
# 绘制频谱
plt.specgram(wavaData[0],Fs = framerate,scale_by_freq=True,sides=‘default‘)
plt.ylabel(‘Frequency‘)
plt.xlabel(‘Time(s)‘)
plt.show()

原文地址:https://www.cnblogs.com/tingweichen/p/9863092.html

时间: 2024-10-31 07:25:01

python生成语谱图的相关文章

Python绘制语谱图+时域波形

1 """Python绘制语谱图""" 2 """Python绘制时域波形""" 3 4 # 导入相应的包 5 import numpy, wave 6 import matplotlib.pyplot as plt 7 import numpy as np 8 import os 9 10 filepath = 'G:/实战培训/Python生成语谱图/ReNoise/Prim10/'

Python学习思维导图

无意间碰到的一个大神整理的Python学习思维导图,感觉对初学者理清学习思路大有裨益,非常感谢他的分享. 详情见:https://woaielf.github.io/2017/06/13/python3-all/ 14 张思维导图 基础知识 数据类型 序列 字符串 列表 & 元组 字典 & 集合 条件 & 循环 文件对象 错误 & 异常 函数 模块 面向对象编程

PCFG -- 基于统计方法生成语法树

语法树的作用 一棵语法树不仅包括了词性(part of speech), 还包括了短语(如名词短语, 动词短语)和结构化的信息(如主语, 谓语和宾语). 这些信息是进行机器翻译所必须的, 例如机器翻译中就需要使用到结构化信息, 来根据不同的语言规定调整主谓宾的顺序. 上下文无关语法 上下文无关语法(CFG)定义了描述语法树的要素. CFG 是一个四元组, 即(S, sigma, R, N), 其中 S 表示开始符号, sigma 表示词汇表, R 表示语法规则, N 表示非终端词. CFG 的问

译:Local Spectral Graph Convolution for Point Set Feature Learning-用于点集特征学习的局部谱图卷积

标题:Local Spectral Graph Convolution for Point Set Feature Learning 作者:Chu Wang, Babak Samari, Kaleem Siddiqi 译者:Elliott Zheng 来源:ECCV 2018 Abstract 点云的特征学习已经显示出巨大的希望,引入了有效且可推广的深度学习框架,例如pointnet ++. 然而,到目前为止,点特征已经以独立和孤立的方式被抽象,忽略了相邻点的相对布局及其特征.在本文中,我们建议

解读人:刘佳维,Spectral Clustering Improves Label-Free Quanti?cation of Low-Abundant Proteins(谱图聚类改善了低丰度蛋白的无标记定量)

一. 概述:(用精炼的语言描述文章的整体思路及结果) 本文选择四个不同的数据集,分为基于谱图数计数和基于峰值强度计数的无标记定量两种情况,对谱图进行聚类算法分析,提高了低丰度蛋白的可检测性,并开发了可直接使用的聚类方法的PD节点. 二. 研究背景: 无标记量化已成为许多基于质谱的蛋白质组学实验中的常见做法.近年来,聚类方法可以改善蛋白质组学数据集的分析的结论已广泛被人们所接受.本文旨在利用光谱聚类推断额外的肽谱匹配,并提高数据集中的无标记定量蛋白质组学数据的质量,改善低丰度蛋白的定量结果,同时提

Python数据分析学习路径图:堪称史上最全

Python是一种面向对象.直译式计算机程序设计语言,由Guido van Rossum于1989年底发明.由于他简单.易学.免费开源.可移植性.可扩展性等特点,Python又被称之为胶水语言.下图为主要程序语言近年来的流行趋势,Python受欢迎程度扶摇直上. 图片来源用Python玩转数据 由于Python拥有非常丰富的库,使其在数据分析领域也有广泛的应用.由于Python本身有十分广泛的应用,本期Python数据分析路线图主要从数据分析从业人员的角度讲述Python数据分析路线图.整个路线

无标定量|有标定量|谱图计数|XIC|AMT数据库|RT对对齐|母离子|子离子|SILVER|SRM|iBAQ|APEX|差异蛋白筛选|MaxQuant|PANDA|C-HPP

生物医学大数据-蛋白质定量 现今肽段定量效率存在巨大差异.比如相同质量蛋白质,但是肽段和蛋白信号不均一,在物理条件一致时,仅有70%的重复率,并且当重复次数变多时,overlapping在变少. 无标定量法 方法一是针对二级色谱的谱图计数,即统计二级色谱的数量,数量越多则蛋白丰度越高,但相同丰度蛋白也有不同的二级色谱数,所以算法目的是减少噪音. 方法二是针对一级色谱的离子流色谱峰XIC,即每个肽段的离子流色谱峰,可以取同一个肽段不同时间点上的信号强度,连接成峰,通过求该曲线的曲线下面积获取曲线信

python+QT designer 做图形化界面EXE程序

1.安装python 2.安装QT designer 或QT creator 3.打开QT designer 绘制你想要的图形化界面 类似这样 之后将文件保存,以ui后缀形式保存 4.下载安装pyside 直接easy_install 或pip安装 可能会保存,我安装的时候,提示 msvc 版本问题 查看许多国外论坛后,可以选择,pyside网站下载 对应Python版本的 whl安装包,下载成功之后,进入对应目录路径,直接 pip install  *.whl    *为包名 安装成功 5.将

python批量制作雷达图

老板要画雷达图,但是数据好多组怎么办?不能一个一个点excel去画吧,那么可以利用python进行批量制作,得到样式如下: 首先制作一个演示的excel,评分为excel随机数生成: 1 =INT((RAND()+4)*10)/10 加入标签等得到的excel样式如下(部分,共计32行): 那么接下来就是打开python写码了,本文是基于python3.4进行编写 1 wb = load_workbook(filename=r'C:\Users\Administrator\Desktop\数据指