wav文件信息格式图

前44字节为头信息,后面的为音频数据。

import struct

import array

# 读取wav文件,二进制要记得用b

file = open('Love Story.wav', 'rb')

# 获取前44个字节,文件信息。

info = file.read(44)

# 获取文件大小, 将指针移动到文件末尾

file_size = file.seek(0, 2)

# 计算数组大小

n = (file_size - 44) // 2

# 生成buf

buf = array.array('h', (0 for _ in range(n)))

# 将文件指针定位到44

file.seek(44)

# 将数据读入到buf中

file.readinto(buf)

# 将声音变小

for i in range(n):

buf[i] //= 10

# 写入数据

f = open('demo.wav', 'wb')

f.write(info)

buf.tofile(f)

# 关闭文件

f.close()

file.close()

print('完成')

二进制数据可以用readinto,读入到提前分配好的buffer中,便于数据处理。

解析二进制数据可以使用标准库中的struct模块的unpack方法

比如:查看声道数

struct.unpack('h', file[22:24])

查看采样频率

struct.unpack('i', file[24:28])

python服务器传输wav文件,Python处理wav文件(二进制文件读写)相关推荐

  1. Python服务器开发一:python基础

    Python服务器开发一:python基础 Python(蟒蛇)是一种动态解释型的编程语言.Python可以在Windows.UNIX.MAC等多种操作系统上使用,也可以在Java..NET开发平台上 ...

  2. python 服务器_NeurDICOM——DICOMweb服务器端Python实现范例

    在上一篇文章的"如何实现DICOMweb?"部分,提到了有一套Python版本的DICOMweb服务器端开源代码,NeurDICOM.这里书接上文,对这个开源框架做一个介绍.包括这 ...

  3. C语言基础14——文件操作。文本文件或二进制文件读写。通讯录的改造。文件缓冲区讲解

    目录 为什么使用文件? 什么是文件? 文件的打开和关闭 文件指针 文件的打开和关闭 文件的打开方式 流 重定义文件 文件流 文件的顺序读写 以字符形式读写文本文件 fputc()函数 fgetc()函 ...

  4. Verilog实现生成BMP文件(BMP文件格式,二进制文件读写)

    Git地址: https://gitee.com/whik/bmp_gen_c_and_verilog/tree/master/verilog BMP文件格式详解参考: BMP文件格式详解 C语言实现 ...

  5. python 服务器_只要一行Python代码,就能搭建一个共享文件局域网服务器

    不知道大家有没有遇到过这样的情况,在做项目或者研发的时候,迫切想要将一个文件传输给另一台电脑,却找不到U盘,于是麻烦的通过登陆qq.微信等社交软件,或者邮箱等工具进行传输,十分麻烦,让人苦恼. 都说P ...

  6. python socket清空接受区_原始Python服务器

    之前我的Python教程中有人留言,表示只学Python没有用,必须学会一个框架(比如Django和web.py)才能找到工作.而我的想法是,掌握一个类似于框架的高级工具是有用的,但是基础的东西可以让 ...

  7. C语言实现生成BMP图片文件(BMP文件格式,二进制文件读写)

    Git地址: https://gitee.com/whik/bmp_gen_c_and_verilog/tree/master/c BMP文件格式详解参考: Verilog实现生成BMP文件(BMP文 ...

  8. 服务器获取客户端电脑文件,python实现获取客户机上指定文件并传输到服务器的方法 -电脑资料...

    作者:上大王 字体:[增加 减小] 类型:转载 这篇文章主要介绍了python实现获取客户机上指定文件并传输到服务器的方法,涉及Python实现C/S架构程序与socket程序的使用技巧,需要的朋友可 ...

  9. python pcm,python pcm音频添加头转成Wav格式文件的方法

    如下所示: ''''' add Head Infomation for pcm file ''' import sys import struct import os __author__ = 'bo ...

最新文章

  1. ArduinoYun教程之OpenWrt-Yun与CLI配置Arduino Yun
  2. 世界首个2nm制程芯片公布!这次IBM跑在了台积电三星英特尔前面
  3. linux远程脚本事例,ssh远程执行命令方法和Shell脚本实例
  4. 网络编程中的超时检测
  5. C#LeetCode刷题之#496-下一个更大元素 I(Next Greater Element I)
  6. SQLi LABS Less 25 联合注入+报错注入+布尔盲注
  7. 素描滤镜c语言算法,python opencv图像处理(素描、怀旧、光照、流年、滤镜 原理及实现).pdf...
  8. web系统找回密码流程
  9. 使用Python实现生产者消费者问题
  10. 关于网上商城开发的随笔记录2
  11. MyBatis源码阅读(六) ---mapper方法具体执行流程分析
  12. 计算机毕设周记20篇,电子与计算机毕业设计周记.doc
  13. Android 代码实现shape(GradientDrawable详解)
  14. Dialog dismiss 失效的问题,
  15. CryEngine GameLaucher 和Editor
  16. 数据可视化技术有什么特点
  17. Frps一键安装脚本,带Frpc Windows便捷启动脚本
  18. 异步获取到图虫上的图片
  19. 计算机二级web知识点,计算机二级WEB考试主要考哪些内容?
  20. office邮箱不能预览附件问题

热门文章

  1. 找树左下角的值+路径总和+从前序和中序遍历序列构造二叉树(day18*)
  2. 2019-2020-2 20175212童皓桢《网络对抗技术》 Exp9 Web安全基础
  3. C# 一些學習小筆記及技巧
  4. 六一儿童节 | TcaplusDB祝大小朋友节日快乐
  5. 学术会议将变革?Hinton 呼吁 AI 界召开远程会议
  6. PHP ‘Array and string offset access syntax with curly braces is deprecated’ 错误的原因和解决办法...
  7. 云e办学习笔记(十五)Redis学习以及相关部署
  8. R语言|导入excel数据
  9. Python实现文件则自动分类
  10. 父爱动画代码python_python表白实现代码(可视化与动画版)