golang获取wav音频文件时长_Python实用案例编程入门:第十章 用Python处理音频文件

本章介绍了如何使用Python处理音频文件,包括使用wave、pylab、numpy和scipy模块进行音频数据读取、滤波和修改。通过实例展示了如何删除音频中特定频率的声音,并探讨了将Python程序打包成EXE文件的方法。
摘要由CSDN通过智能技术生成

本章的主题为如何用Python处理音频文件,也就是说如果你有一个声音文件,你希望对其进行一些修改,那么Python也有相应的模块可以来做这件事。

10.1 要解决什么问题

如果我们有一段录音,但在录制过程中夹杂了一些噪音。现在我们希望将这些噪音过滤掉,那么我们能否用Python来解决呢?当然可以。除此之外,我们还可以进行一些简单的信号处理,比如傅里叶变换之类的操作。

10.2 实现思路

本章的题目旨在抛砖引玉,仅介绍一些用Python进行音频文件处理的简单示例,以及如何进行音频文件的修改,过滤一定幅度的噪音。

10.3 相关模块的安装及介绍

本节将介绍本章涉及的相关模块的安装及介绍。

10.3.1 wave模块

wave模块用于读取音频数据,不支持压缩和解压缩,使用方法跟文件操作几乎一样。该模块提供了open接口用于打开wav音频文件,并且支持只读模式和只写模式。此外,也提供了很多获取音频参数的接口以及设置音频参数的接口,我们这里只使用最基本简单,如果读者有更复杂的需求,可以进一步详细的学习。

f = wave.open(r'test.wav', 'rb')str_data = f.readframes(nframes)f.close()

10.3.2 pylab模块

pylab模块是matplotlib库中一部分,所以我们这里需要安装matplotlib模块。matplotlib模块实现了很多matlab上的功能,因此有些基本的需要matlab来实现的需求,我们就可以用Python的matplotlib库来实现。

matplotlib模块的安装可以通过pip命令,也可以下载whl文件进行安装。

pip install matplotlib

如果通过安装命令进行安装,可能会遇到安装超时出错的情况,这种情况下可以更改默认超时时间,命令如下。作者在下载过程中就遇到了超时的问题,所以也修改了默认超时时间。

pip install --default-timeout=200 matplotlib

也可以通过下面的网址,下载跟我们环境一致的安装文件,比如作者使用的是win32版本。

c6805aae45e3d804c5519980f4b3e038.png

图10-1 matplotlib模块下载页面

下载完成后,我们需要将下载的文件matplotlib-3.1.1-cp36-cp36m-win32.whl放入C:Program Files (x86)Python3.6.8Scripts目录中,然后再用pip命令进行安装。

PS C:Program Files (x86)Python3.6.8Scripts> .pip3.6.exe install --default-timeout=300 .matplotlib-3.1.1-cp36-cp36m-win32.whlProcessing c:program files (x86)python3.6.8scriptsmatplotlib-3.1.1-cp36-cp36m-win32.whlCollecting cycler>=0.10 (from matplotlib==3.1.1)Using cached https://files.pythonhosted.org/packages/f7/d2/e07d3ebb2bd7af696440ce7e754c59dd546ffe1bbe732c8ab68b9c834e61/cycler-0.10.0-py2.py3-none-any.whlCollecting python-dateutil>=2.1 (from matplotlib==3.1.1)Using cached https://files.pythonhosted.org/packages/41/17/c62faccbfbd163c7f57f3844689e3a78bae1f403648a6afb1d0866d87fbb/python_dateutil-2.8.0-py2.py3-none-any.whlCollecting kiwisolver>=1.0.1 (from matplotlib==3.1.1)Downloading https://files.pythonhosted.org/packages/15/14/a7ae5a7d5fae78b40dd0d388d83010330cba2df1721b1bd91a8b99044141/kiwisolver-1.1.0-cp36-none-win32.whl (44kB)|████████████████████████████████| 51kB 130kB/sCollecting pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 (from matplotlib==3.1.1)Using cached https://files.pythonhosted.org/packages/11/fa/0160cd525c62d7abd076a070ff02b2b94de589f1a9789774f17d7c54058e/pyparsing-2.4.2-py2.py3-none-any.whlRequirement already satisfied: numpy>=1.11 in
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值