python pcm,python pcm音频添加头转成Wav格式文件的方法
如下所示:
'''''
add Head Infomation for pcm file
'''
import sys
import struct
import os
__author__ = 'bob_hu, hewitt924@gmail.com'
__date__ = 'Dec 19,2011'
__update__ = 'Dec 19,2011'
def geneHeadInfo(sampleRate,bits,sampleNum):
'''''
生成头信息,需要采样率,每个采样的位数,和整个wav的采样的字节数
'''
rHeadInfo = '\x52\x49\x46\x46'
fileLength = struct.pack('i',sampleNum + 36)
rHeadInfo += fileLength
rHeadInfo += '\x57\x41\x56\x45\x66\x6D\x74\x20\x10\x00\x00\x00\x01\x00\x01\x00'
rHeadInfo += struct.pack('i',sampleRate)
rHeadInfo += struct.pack('i',sampleRate * bits / 8)
rHeadInfo += '\x02\x00'
rHeadInfo += struct.pack('H',bits)
rHeadInfo += '\x64\x61\x74\x61'
rHeadInfo += struct.pack('i',sampleNum)
return rHeadInfo
if __name__ == '__main__':
if len(sys.argv) != 5:
print "usage: python %s inFile sampleRate bits outFile" % sys.argv[0]
sys.exit(1)
fout = open(sys.argv[4],'wb') #用二进制的写入模式
#fout.write(struct.pack('4s','\x66\x6D\x74\x20'))
#写入一个长度为4的串,这个串的二进制内容为 66 6D 74 20
#Riff_flag,afd,fad,afdd, = struct.unpack('4c',fin.read(4))
#读入四个字节,每一个都解析成一个字母
#open(sys.argv[4],'wb').write(struct.pack('4s','fmt '))
#将字符串解析成二进制后再写入
#open(sys.argv[4],'wb').write('\x3C\x9C\x00\x00\x57')
#直接写入二进制内容:3C 9C 00 00 57
#fout.write(struct.pack('i',6000)) #写入6000的二进制形式
#check whether inFile has head-Info
fin = open(sys.argv[1],'rb')
Riff_flag, = struct.unpack('4s',fin.read(4))
if Riff_flag == 'RIFF':
print "%s 有头信息" % sys.argv[1]
fin.close()
sys.exit(0)
else:
print "%s 没有头信息" % sys.argv[1]
fin.close()
#采样率
sampleRate = int(sys.argv[2])
#bit位
bits = int(sys.argv[3])
fin = open(sys.argv[1],'rb')
startPos = fin.tell()
fin.seek(0,os.SEEK_END)
endPos = fin.tell()
sampleNum = (endPos - startPos)
print sampleNum
headInfo = geneHeadInfo(sampleRate,bits,sampleNum)
fout.write(headInfo)
fin.seek(os.SEEK_SET)
fout.write(fin.read())
fin.close()
fout.close()
以上这篇python pcm音频添加头转成Wav格式文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持聚米学院。
python pcm,python pcm音频添加头转成Wav格式文件的方法相关推荐
- python html转word文档_Python实现将HTML转换成doc格式文件的方法示例
本文实例讲述了Python实现将HTML转换成doc格式文件的方法.分享给大家供大家参考,具体如下: 网页上的一些文章,因为有格式的原因,它们在网页上的源码都是带有html标签的,用css来进行描述. ...
- python将源代码转换成在html可显示的格式,Python实现将HTML转换成doc格式文件的方法示例...
Python实现将HTML转换成doc格式文件的方法示例 来源:中文源码网 浏览: 次 日期:2018年9月2日 [下载文档: Python实现将HTML转换成doc格式文件的方法示例. ...
- python修改文件格式为jpg_python将.ppm格式图片转换成.jpg格式文件的方法
python将.ppm格式图片转换成.jpg格式文件的方法 将.ppm格式的图片转换成.jpg格式的图像,除了通过软件转换,还可以使用python脚本直接转换,so easy!!! from PIL ...
- kux格式怎么转换成mp3_把MP3格式的音频转换成WAV格式
有时候工作中我们在处理音频的过程中,需要转换音频的格式,以便于更好的使用.例如,可能会要求把MP3格式的音频转换成其他的音频格式.这时候如何解决是一个问题.今天我就和大家介绍好用的音频转换器,可以快速 ...
- 把MP3格式的音频转换成WAV格式
有时候工作中我们在处理音频的过程中,需要转换音频的格式,以便于更好的使用.例如,可能会要求把MP3格式的音频转换成其他的音频格式.这时候如何解决是一个问题.今天我就和大家介绍好用的音频转换器,可以快速 ...
- python用os.system打开wav文件_使用python读取wav格式文件
** 使用python读取wav格式文件 ** - 基本概念 [采样频率] 即取样频率, 指每秒钟取得声音样本的次数.采样频率越高,声音的质量也就越好,声音的还原也就越真实,但同时它占的资源比较多.由 ...
- 把python tkinter canvas中的图形图像保存为通用格式文件的5种方法
在计算机上画图未完成,需要保存未完成图形以便以后继续,或者完成画图,要保存为通用格式文件,方便浏览.如使用python tkinter Canvas画图,其好像没有将图像保存通用格式文件的方法,但可以 ...
- python打包zip文件_python 解压文件,合并文件 打包成zip格式文件 生成MD5值
#!/usr/bin/env python #_*_encoding:utf-8 # 2018/05/29 #augustyang #2.0 ''' 解压文件,合并文件 打包成zip格式文件 生成MD ...
- python下载大文件mp4_Python代码打开本地.mp4格式文件的方法
Python代码打开本地.mp4格式文件的方法 想通过编写Python代码来打开本地的.mp4格式文件,使用os模块来操作文件.我的电脑默认的是QQ影音播放器,执行Python代码打开默认播放器,播放 ...
最新文章
- Python 文件与目录操作方法总结
- wps 模拟分析 规划求解_入行十年,我是如何解决模流分析准确性问题的
- 科大讯飞年报出炉,2018每天赚148万元,53%是政府补助
- 最近公共祖先 LCA Tarjan算法
- SQL Server 数据库优化文章
- python中的线程threading.Thread()使用
- 音视频技术开发周刊 68期
- Golang GOPATH 包
- Windows系统cmd命令检测dll文件
- 团队开发之个人博客一
- 解码器输出PSNR为0表示什么
- 拓扑排序:编译依赖问题
- FFT蝶形算法的verilog实现专题——FFT的matlab到verilog转化过程——第1部分
- 解决PHP "headers already sent"错误
- 计算机英语派生词和复合词,英语派生词归纳
- 微信公众平台开发入门
- 详解Node.js API系列 Module模块(2) 案例分析
- Cesium 热力图(可直接使用)
- the default discovery settings are unsuitable for production use; at least one of [discovery.seed_ho
- 微软宣布2011年4月发布Windows 7 SP1
热门文章
- 2020最新版SpringMVC面试题高频精选
- Linux进程终止命令kill或killall​笔记
- Chrome 调试技巧 1
- python画函数图像要用到的模块_教你如何绘制数学函数图像——numpy和matplotlib的简单应用...
- Android 第七课 4种基本布局之FrameLayout和百分比布局
- figma设计_如何在Figma中构建设计入门套件(第1部分)
- ux设计_为企业UX设计更好的数据表
- 钮扣电池电压电量_纽扣厂
- 洛谷 P1414 又是毕业季II (多个数的最大公因数)
- 执行yum:Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again...