python画图标题为蓝色_python绘制语谱图怎么设置成黄蓝色

这篇博客介绍了如何利用Python进行语音分析,特别是通过绘制语谱图来结合时域和频域的优点,展示语音随时间变化的频率特性。文中通过导入numpy、wave和matplotlib等库,读取并处理wav音频文件,然后使用matplotlib的specgram函数绘制语谱图,展示了时间轴和频率轴的细节,并指出语谱图在声纹识别中的应用。
摘要由CSDN通过智能技术生成

展开全部

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

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

# 导入相应的包

import numpy, waveimport matplotlib.pyplot as pltimport numpy as npimport 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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值