python——pcm音频添加头转成Wav格式文件
来源:互联网 发布:用友u8软件免费下载 编辑:程序博客网 时间:2024/06/05 21:50
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()
0 0
- python——pcm音频添加头转成Wav格式文件
- 为pcm数据添加wav头
- 为pcm数据添加wav头
- 【音频】Wav格式文件详解
- 将PCM格式存储成WAV格式文件
- 将WAV格式文件解析成PCM文件
- Python--读取wav格式文件
- Python--生成Wav格式文件
- C#WAV音频文件转化PCM数据文件PCM转化WAV音频
- 如何写WAV格式文件头(笔记)
- 利用FFmpeg将pcm文件转成wav文件
- C programming-读取DAT数据,转成wav格式文件
- python-pcm音频播放器
- Android进阶——pcm格式转wav格式
- WAV && PCM
- pcm与a-law音频头互换
- 音频制作与转换—WAV音频文件
- wav文件音频头的研究
- 2016点滴生活:收获与展望
- 数据库主从复制配置
- JDK、JRE、JVM三者的区别
- 【LeetCode】 118. Pascal's Triangle
- 协方差与协方差矩阵
- python——pcm音频添加头转成Wav格式文件
- 16-12-30 js里面出现Uncaught SyntaxError: Unexpected identifier错误;
- 15 个必须知道的 Java 面试问题
- Selenium-窗口跳转
- msvcr100.dll 没有指定在windows上运行
- 欢迎使用CSDN-markdown编辑器
- powerdesigner逆向工程生成PDM时的列注释(ColumnComment)解决方案
- Linux/centos中文字体解决方案
- Java - Mac上创建数据库表如何创建到指定的数据库中,此处有坑,已填