绘
制
声
⾳
波
形
图
使
⽤
wave
、
numpy
、
matplotlib
库
来
绘
制
⼀个
⾳频
⽂
件
的
声
波
图
。
1.
导
⼊
库
wave
是
Python
的
标
准
处
理
WAV
⽂
件
的
模
块
。
numpy
⽤
来
处
理
数
组
,
matplotlib
则
⽤
于
画
图
。
In[1]:
2.
读
取
wave
⽂
件信
息
In[2]:
建
议
输
出
⾳频
的
信
息
,
看看
声
道
、
⻓
度
、
频
率
等
信
息
。
In[3]:
3.
将
波
形
数据
转
换
成
数
组
读
出
来
的
数据
,
⽤
numpy
转
换
后
,
默
认
是
⼀
维
数
组
。
左
、
右
声
道
的
数据
交
替
出
现
,
这
需
要
做
矩
阵
转
换
。
原
始
数据
:
[3101, 3683, 3277, 3886, 3229, 3744, 3560, 4106, 3634, 4112]……
转
换
后
的
数据
:
-
左
声
道
:
[3101, 3277, 3229, 3560, 3634]……
-
右
声
道
:
[3683, 3886, 3744, 4106, 4112]……
import wave
import numpy as np
import matplotlib.pyplot as plt
#
打
开
wav
⽂
档
file = wave.open("test.wav", "rb")
#
读
取
格
式
信
息
# (nchannels, sampwidth,framerate, nframes, comptype, compname)
params = file.getparams()
nchannels,sampwidth,framerate,nframes = params[:4]
#
读
取
波
形
数据
str_data = file.readframes(nframes)
#
⽂
件使
⽤
完
毕
,
关
闭
⽂
件
file.close()
print(nchannels,sampwidth,framerate,nframes)
评论0
最新资源