Python绘制语谱图+时域波形,, 1 """Pyth
Python绘制语谱图+时域波形,, 1 """Pyth
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/‘ # 添加路径11 filename = os.listdir(filepath) # 得到文件夹下的所有文件名12 13 for i in range(len(filename)):14 f = wave.open(filepath + filename[i], ‘rb‘) # 调用wave模块中的open函数,打开语音文件。15 params = f.getparams() # 得到语音参数16 nchannels, sampwidth, framerate, nframes = params[:4] # nchannels:音频通道数,sampwidth:每个音频样本的字节数,framerate:采样率,nframes:音频采样点数17 strData = f.readframes(nframes) # 读取音频,字符串格式18 wavaData = np.fromstring(strData, dtype=np.int16) # 得到的数据是字符串,将字符串转为int型19 wavaData = wavaData * 1.0/max(abs(wavaData)) # wave幅值归一化20 wavaData = np.reshape(wavaData, [nframes, nchannels]).T # .T 表示转置21 f.close()22 23 #(1)绘制语谱图24 plt.figure()25 plt.specgram(wavaData[0], Fs=framerate, scale_by_freq=True, sides=‘default‘) # 绘制频谱26 plt.xlabel(‘Time(s)‘)27 plt.ylabel(‘Frequency‘)28 plt.title("Spectrogram_{}".format(i+1))29 plt.savefig(‘G:/实战培训/Python生成语谱图/语谱图/{}.jpg‘.format(filename[i][:-4]))30 plt.show()31 32 #(2)绘制时域波形33 time = np.arange(0, nframes) * (1.0 / framerate)34 time = np.reshape(time, [nframes, 1]).T35 plt.plot(time[0, :nframes], wavaData[0, :nframes], c="b")36 plt.xlabel("time(seconds)")37 plt.ylabel("amplitude")38 plt.title("Original wave")39 plt.savefig(‘G:/实战培训/Python生成语谱图/语谱图/{}_.jpg‘.format(filename[i][:-4])) # 保存绘制的图形40 plt.show()Python绘制语谱图+时域波形
绘制图形展示:2019-07-06 11:39:41
Python绘制语谱图+时域波形
相关内容
- 决策树与随机森林分类算法(Python实现),,一、原理:
- python random 浠庨泦鍚堜腑闅忔満閫夋嫨鍏冪礌,,鏍囩
- python hex转flaot,,在使用树莓派 mod
- python_如何在类中定义装饰器,,案例: 实现一个能将
- 离线安装python的ibm_db模块,python读取db文件,目前手头的
- Python 东方财富网-股市行情数据抓取,,东方财富网 股市
- python对象的属性引用另一个类的,,class Game
- Python对JSON数据的解析,什么是大数据分析,1.python与j
- python中的decorator模块,,decorator模
- Qgis 里的Python脚本介绍,自我介绍拍摄脚本,QGIS 入门演
评论关闭