Python0019 音频处理(二).wav文件
上一篇文章中写到使用python 提供的wave模块对.wav文件进行读写,感觉借用别人写的代码读.wav文件不够牛B。自然而然对.wav文件产生了浓厚的兴趣。经过昨天的努力,对该格式的文件已经略有了解,并且用java实现了对.wav读取。这篇文章打算换成认识这篇文章的过程。而不是一开始介绍一堆概念,然后摆上代码。按照认识过程来写读起来比较容易理解。
1.什么是.wav文件
这是一种音频文件,取一个.wav文件,然后读取文件二进制数据,并输出。再用python的wave模块读取音频数据,输出来。然后对比文件的属性,发现一些规律。
(1)找一个.wav文件,用下面代码处理:
import wave
f="./sound11.wav"
w=wave.open(f, "r")
dt=w.readframes(20)
print(dt)
w.close()
b=open(f,'rb')
for _ in range(10):
print(b.read(40))
b.close()
下面是输出:
b"\x9b\xfd\x0e\xfcu\xffe\xfc+\xff\n\xfd\xec\xffG\xfe\xe7\x00\xb6\xfe\xe7\x00\xfd\xfd\x14\x01A\xfe\x8c\xff\xe3\xfe\xc4\xfe\x8d\xffP\xff\xea\xff\xcd\xfe\x0e\x00F\xff\xcb\x00$\xff)\xff\xcf\xfdk\xfd\xa2\xfe\r\xfd\xff\xfe\xe0\xfc{\xfe'\xfd\x18\xff\xdb\xfd:\xff\x1f\xfeq\xfe\xe0\xfc"
b'RIFFF\xe2\x04\x00WAVEfmt \x10\x00\x00\x00\x01\x00\x02\x00@\x1f\x00\x00\x00}\x00\x00\x04\x00\x10\x00LIST'
b'\x1a\x00\x00\x00INFOISFT\x0e\x00\x00\x00Lavf58.10.100\x00data\x00\xe2\x04\x00\x9b\xfd'
b'\x0e\xfcu\xffe\xfc+\xff\n\xfd\x