python音频分析(一)绘制wav的时域频域图

本文介绍如何使用Python对wav音频文件进行分析,包括绘制时域图和频域图。在时域图中,x轴代表时间,y轴代表振幅;频域图则以频率为x轴,振幅为y轴。通过numpy和matplotlib库,可以读取wav文件,转换数据并绘制图表。
摘要由CSDN通过智能技术生成

python音频分析(一)绘制wav的时域频域图

一.引入

时域图:x轴为时间,y轴为振幅
频域图:x轴为频率,y轴为振幅
(上述频域图为线性振幅谱,还另有对数振幅谱、自功率谱,y轴不是单纯振幅)

时域与频域的直观关系见下图
在这里插入图片描述

二.画时域图

1.读入wav文件
(pyaudio.PyAudio)
2.波形数据转换为数组
(numpy.frombuffer )
3.构建横坐标
(numpy.arange)
4.画图
(matplotlib)

import wave
import pyaudio
import pylab
import numpy as np
import matplotlib.pyplot as plt

def get_framerate(wavefile):
    '''
        输入文件路径,获取帧率
    '''
    wf=wave.open(wavfile,"rb")#打开wav
    p = pyaudio.PyAudio()#创建PyAudio对象
    params = wf.getparams()#参数获取
    nchannels, sampwidth, framerate, nframes = params[:4]
    return framerate

def get_nframes(wavefile):
    '''
        输入文件路径,获取帧数
    '''
    wf=wave.open(wavfile,"rb")#打开wav
    p = pyaudio.PyAudio()
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值