在wav 模块中 ,主要介绍一种方法:getparams(),该方法返回的结果如下:

_wave_params(nchannels=1, sampwidth=2, framerate=48000, nframes=171698592, comptype='NONE', compname='not compressed')

参数解释:

  • nchannels:声道数
  • sampwidth:量化位数(byte)
  • framerate:采样频率
  • nframes:采样点数

代码如下:

import wave
wavFile = r"C:\Users\Lenovo\Desktop\G0001.wav"
f = wave.open(wavFile)
# 音频头 参数
params = f.getparams()
Channels = f.getnchannels()
SampleRate = f.getframerate()
bit_type = f.getsampwidth() * 8
frames = f.getnframes()
# Duration 也就是音频时长 = 采样点数/采样率 
Duration = wav_time = frames / float(SampleRate)  # 单位为s
print("音频头参数:", params)
print("通道数(Channels):", Channels)
print("采样率(SampleRate):", SampleRate)
print("比特(Precision):", bit_type)
print("采样点数(frames):", frames)
print("帧数或者时间(Duration):", Duration)

输出结果:

音频头参数: _wave_params(nchannels=1, sampwidth=2, framerate=48000, nframes=171698592, comptype='NONE', compname='not compressed')
通道数(Channels)1
采样率(SampleRate)48000
比特(Precision)16
采样点数(frames)171698592
帧数或时间(Duration)3577.054

这是在win 下 使用sox 命令 检查下的结果:
win 下的sox命令(需要安装sox ,可百度一下) : sox --i G0001.wav
在这里插入图片描述
可以看出 ,两种方法,输出的结果是一致的。

安装:pip install wave在wav 模块中 ,主要介绍一种方法:getparams(),该方法返回的结果如下:_wave_params(nchannels=1, sampwidth=2, framerate=48000, nframes=171698592, comptype='NONE', compname='not compressed')参数解释:nchannel... 采样频率   每秒从连续信号中提取并组成离散信号的采样个数。用Hz表示,采样频率的倒数是采样周期,即采样之间的时间间隔。   通俗的讲:采样频率是指计算机每秒钟采集的多少声音样本。采样频率越高,即采样的间隔时间越短,则在单位时间内计算机得到的声音样本数据就越多,对声音波形的表示也越精确。 采样定理   也称作奈奎斯特采样定理,只有采样频率高于声音信号最高频率的两倍时,才能把数字信号...
wav文件提取音频数据_python wav文件格式 首先需要知道wav文件格式:(10条消息) WAV文件格式详解_imxiangzi的专栏-CSDN博客_wav文件格式 简单来说wav文件分为三个区块 这里主要讲的是提取wav文件的data部分 观察数据在文件头的分段 当然由于每个wav文件的采样规格不一样,在data数据部分的分段(比如左声道声道以及每个采样的字节数)是不一样的 我们可以看到的是data部分每个sample占两个字节,另外需要注意data的数据sample部分是小端存储,这就意
将10s、44.1kHZ的wav音频文件处理成5个2s、8000Hz的音频片段,其中每个2s的音频片段都包含8*2(s)*2(channel),000个采样,即32,000个采样,前16,000个为左声道采样,后16,000个为右声道采样(对于单通道数据,直接复制16,000个采样追加在后面),再存储到csv文件中。 即将10s、44.1kHZ的wav音频文件输出为(5,8000)的特征向量。 涉及模块 os、shutil、random、numpy、pydub、pandas 本文主要使用python编程,实现解析wav语音文件,得到.wav语音文件的声道数,量化位数采样频率,采样点数。编写python程序使用pycharm。 下面简单介绍一下wav文件结构。 一 解析.wav文件原理 WAVE文件本质上就是一种RIFF格式,它可以抽象成一颗树(数据结构的一种)来看。 ​ 如图所示,从上到下分别对应着二进制数据在文件中相对于起始位置的偏移量。每一个格子对应一...
原文https://blog.csdn.net/qq_31615049/article/details/88562892 publicstaticinttoInt(byte[] b) { return((b[3]<<24)+(b[2]<<16)+(b[1]<<8)+(b[0]<<0)); publicstaticshorttoShort(byte[] b) { x1 = np.linspace(1, 4096, 1024) x_new = np.linspace(1, 4096, 4096) from scipy import interpolate tck = interpolate.splrep(x1, data) y_bspline = interpolate.splev(x_new, tck) 其中y_bspline就是从1024插值得到的4096的数据 但是,scipy中好像并没有进行下采样的函数,嗯..难道是因为太过
resample(self, rule, how=None, axis=0, fill_method=None, closed=None, label=None, convention=‘start’, kind=None, loffset=None, limit=None, base=0, on=None, level=None) 比较关键的是rule,closed,label下面会随着两个用法说明 对时间数据细粒度增大,可以把每天的数据聚合成一周,可以求和或者均值的方式进行聚合 下面给出列子 times=pd.date_range('20180101',period
转:https://blog.ailemon.me/2017/08/29/python-read-wav-files/ https://www.cnblogs.com/xingshansi/p/6799994.html 我们经常需要处理wav格式的文件,读取其中的声音信号和相关参数,来做一些事情。如果我们使用C++来做,那么需要对文件的底层存储格式有一个透彻的了解才行,而且考虑不周还有可能出B...
小波作为一种信号处理的工具在脑波分析中应用很多,常用的有连续小波变换、小波包分析等等。小波涉及的相关介绍和公式推导有很多资料,推荐下面几个连接,本文主要介绍连续小波变换,小波包分解重构,对应频段能量计算这3种应用在Python中的实现。 小波变换: https://www.cnblogs.com/jfdwd/p/9249850.html https://blog.csdn.net/weixin_42943114/article/details/89603208 https://my.oschina.