Python使用wave模块获取WAV音频采样率、声道数及量化位数详解

清欢
清欢
发布时间:2026-10-13| 6人浏览过
原创

本文介绍如何在Python中利用wave模块提取WAV音频文件的关键参数。通过调用getparams()方法,可快速获取声道数、量化位数、采样频率及采样点数。文中提供完整代码示例,并对比Windows下sox命令的验证结果,确保数据一致性,适用于音频分析与处理场景。

环境准备与模块介绍

安装依赖库:

pip install wave

在Python的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 = 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

结果验证与总结

为了验证上述Python代码获取的数据准确性,我们进行了对比测试:

这是在Windows环境下使用sox命令检查得到的结果: Windows下的sox命令(需先安装sox,可通过网络搜索获取) : sox --i G0001.wav

通过对比可以看出,Python代码输出的结果与sox命令检查的结果完全一致。

总结

以上介绍的是利用Python wave模块获取采样率、采样点、声道数及量化位数的方法,希望能为读者提供帮助!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。