python处理wav数据

最近需要将.wav文件中的数据抽离出来 效果是:

 

使用python中的wave模块

具体的代码如下:

'''
2020-6-1
从wav文件中剥离出pcm数据
将数据转换为十六进制输出

wave的操作说明

'''

import wave

filename = "C:\\Users\\JamesWu\\Desktop\\wave\\female.wav"
f = wave.open(filename,'rb')
params = f.getparams()

print("wav params is : ", params)

fdata = open("C:\\Users\\JamesWu\\Desktop\\wave\\data.txt",'w')

for i in range(1500):
    data = f.readframes(16)
    ldata = list(data)
    sdata = str(ldata)
    '''
    [237, 255, 238, 255, 235, 255, 235, 255, 241, 255, 240, 255, 245, 255, 242, 255, 247, 255, 254, 255, 251, 255, 247, 255, 249, 255, 242, 255, 249, 255, 244, 255]
    '''
    temp = sdata[1:-1]
    temp1 = temp.split(',')
    temp2 = "";
    for x in range(len(temp1)):
        temp2 += hex(int(temp1[x]))
        if x != len(temp1)-1:
            temp2 += ","
    fdata.writelines(temp2)
    fdata.write(",\n")


f.close()
fdata.close()
print("数据解析完成")

通过这种方式 可以很容易获取到wav中的pcm数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值