用于处理wave文件的纯python模块,支持riff和rifx的所有通用文件格式。
wav的Python项目详细描述
简介
用于处理wave文件的纯python模块,支持riff和rifx的所有通用文件格式。
使用wave文件时,有两个主要的纯python模块可用:
- builtin.wave
- python内置模块,缺少对float和24位整数的支持。 提供原始数据而不是值数组。
- scipy.wave
- scipy不支持24位整数文件。模块的优点和缺点在于它的简单性, 如果你只需要读和写,这可能是给你的。
wave模块提供了一个功能齐全的专用模块,如果 灵活性和易用性是可取的。
比较
下表显示了受支持功能的比较:
Functionality | builtin.wave | scipy.wave | wavy |
---|---|---|---|
RIFF Format Support | |||
RIFX Format Support | |||
Read Audio Information | |||
Read Data As Array | |||
Read Tag Information |
下表显示了未压缩波形文件支持格式的比较:
Sample Width | Format Tag | builtin.wave | scipy.wave | wavy |
---|---|---|---|---|
8 bit | PCM | |||
EXTENSIBLE | ||||
16 bit | PCM | |||
EXTENSIBLE | ||||
24 bit | PCM | |||
EXTENSIBLE | ||||
32 bit | PCM | |||
EXTENSIBLE | ||||
FLOAT | ||||
64 bit | FLOAT |
用法
读取文件
使用模块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文件了解详细信息。