用于处理wave文件的纯python模块,支持riff和rifx的所有通用文件格式。

wav的Python项目详细描述


https://travis-ci.org/acelletti/wavy.svg?branch=masterhttps://coveralls.io/repos/github/acelletti/wavy/badge.svg?branch=traviscihttps://img.shields.io/appveyor/tests/acelletti/wavy.svghttps://img.shields.io/github/license/acelletti/wavy.svghttps://readthedocs.org/projects/wavy/badge/?version=latest

简介

用于处理wave文件的纯python模块,支持riff和rifx的所有通用文件格式。

使用wave文件时,有两个主要的纯python模块可用:

  • builtin.wave
    python内置模块,缺少对float和24位整数的支持。 提供原始数据而不是值数组。
  • scipy.wave
    scipy不支持24位整数文件。模块的优点和缺点在于它的简单性, 如果你只需要读和写,这可能是给你的。

wave模块提供了一个功能齐全的专用模块,如果 灵活性和易用性是可取的。

比较

下表显示了受支持功能的比较:

Functionalitybuiltin.wavescipy.wavewavy
RIFF Format Supportcheck-circlecheck-circlecheck-circle
RIFX Format Supporttimes-circlecheck-circlecheck-circle
Read Audio Informationcheck-circletimes-circlecheck-circle
Read Data As Arraytimes-circlecheck-circlecheck-circle
Read Tag Informationtimes-circletimes-circlecheck-circle

下表显示了未压缩波形文件支持格式的比较:

Sample WidthFormat Tagbuiltin.wavescipy.wavewavy
8 bitPCMcheck-circlecheck-circlecheck-circle
EXTENSIBLEtimes-circlecheck-circlecheck-circle
16 bitPCMcheck-circlecheck-circlecheck-circle
EXTENSIBLEtimes-circlecheck-circlecheck-circle
24 bitPCMcheck-circletimes-circlecheck-circle
EXTENSIBLEtimes-circletimes-circlecheck-circle
32 bitPCMcheck-circlecheck-circlecheck-circle
EXTENSIBLEtimes-circlecheck-circlecheck-circle
FLOATtimes-circlecheck-circlecheck-circle
64 bitFLOATtimes-circlecheck-circlecheck-circle

安装

最新的稳定版本可在PyPI上获得。

wavy添加到requirements.txt文件或使用pip安装:

pip install wavy

用法

读取文件

使用模块usewavy.read打开文件:

>>>importwavy>>>file=wavy.read("audio.wav")>>>fileWaveFile(sample_width=16,framerate=44100,n_channels=2,n_frames=286653)

获取文件的数据:

>>>rate,data=file.framerate,file.data>>>rate44100>>>data.shape(286653,2)>>>data.dtypeint16

获取文件信息

要在不加载数据的情况下读取文件信息,请使用wavy.info

>>>wavy.info("audio.wav")WaveFileInfo(sample_width=16,framerate=44100,n_channels=2,n_frames=286653,tags=None)

作者

许可证

这个项目是在麻省理工学院的许可下授权的-请参阅LICENSE文件了解详细信息。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在没有代码气味的情况下编写遵循Liskov替代和其他可靠原则的不可变映射?   java最新jre上的压缩字符串对旧编译代码有好处吗?   java是否可以在javascript中取消PrimeFaces menuitem onclick函数   mysql从SQL数据库中访问java中xml名称空间标记的值   从java程序打开excel文件   java在方法中使用“var”是否会使执行(并发)线程不安全?   java使搜索视图以一种关于AndroidManifest的通用方式可用。xml   java对如何准确使用正则表达式感到困惑?   mule如何访问java文件中的记录变量   java在从2D数组引发异常后继续   枚举当前设置为的java值   java当listview只有几个项目时,如何使alert对话框显示listview的所有项目?   java getTableRow()返回大于项大小的索引   c用java传输二进制文件(数据)   java更改多选列表项复选框颜色