当前位置: 首页 > news >正文

音视频-WAV格式

1. WAV格式说明: 

2. 格式说明:

  • chunkId:通常是 “RIFF” 四个字节,用于标识文件类型。(wav文件格式表示)
  • chunkSize:表示整个文件除了chunkIdchunkSize这 8 个字节外的其余部分的大小。
  • Format:通常是 “WAVE” 四个字节,进一步标识是 WAVE 音频格式。
  • SubChunk1Id:一般是 “fmt”(注意最后有个空格),用于标识音频格式信息块。
  • SubChunk1Size:表示音频格式信息块的大小,常见值为 16 或 18 等 。
  • AudioFormat:音频格式类型,如 PCM 格式值为 1 。
  • NumChannels:声道数,单声道为 1,立体声为 2 。
  • SampleRate:采样率,如 44100Hz 表示每秒采样 44100 次。
  • ByteRate:每秒的数据字节数,ByteRate = SampleRate * NumChannels * (BitsPerSample / 8)
  • BlockAlign:每个采样点的字节数,BlockAlign = NumChannels * (BitsPerSample / 8)
  • BitsPerSample:每个采样点的位数,常见有 8 位、16 位等。(采样大小,位深)
  • subChunk2Id:通常是 “data”,标识音频数据块。
  • subChunk2Size:音频数据的大小。
  • data:存储实际的音频数据

3.为什么XXXId和Format使用的是大端字节序

在 WAV 文件格式中,xxxId(如chunkIdSubChunk1Id 、subChunk2Id )和Format采用大端字节序,主要有以下原因:

  • 兼容性与标准化:大端字节序也被称为网络字节序,在很多网络协议和跨平台的数据格式标准中广泛使用。WAV 作为一种较为通用的音频文件格式,这些标识性字段采用大端序便于不同系统和平台之间能以统一的方式识别文件的关键标识信息,保证兼容性。例如在网络传输音频文件时,不同设备可以快速准确识别文件类型标识。
  • 可读性与易解析:这些字段更多的是起到标识作用,采用大端序固定格式,开发者和解析工具能更容易、快速地判断文件结构和各部分的功能,提升文件解析的效率。

而其他描述音频具体参数(如 AudioFormat 、NumChannels 等)的子节序采用小端字节序,主要是考虑到与常见计算机硬件架构的匹配:

  • 硬件适配:在常见的 x86 等计算机硬件架构中,默认使用小端字节序。WAV 文件格式中这些参数数据采用小端序,在读取和处理音频参数时,能直接适配硬件的字节序,减少数据转换的开销,提高音频数据处理的速度和效率 。
http://www.lryc.cn/news/544252.html

相关文章:

  • c++ std::array使用笔记
  • 第39天:安全开发-JavaEE应用SpringBoot框架Actuator监控泄漏Swagger自动化
  • 浏览器JS打不上断点,一点就跳到其他文件里。浏览器控制台 js打断点,指定的位置打不上断点,一打就跳到其他地方了。
  • conda环境管理 kernel注册到jupyter notebook
  • 【SpringBoot】【log】 自定义logback日志配置
  • 15.7 LangChain 版智能销售顾问实战:构建企业级知识驱动型对话系统
  • 计算机网络基础:揭开网络世界的神秘面纱
  • 工会考试知识点分享
  • az devops login报错:Failed to authenticate using the supplied token.
  • Halcon图像预处理算子 sobel算子、傅里叶变换算子、卷积算子
  • Java Web应用中获取客户端的真实IP地址
  • 洛谷————P11559 【MX-X7-T0】[LSOT-3] 嗯欧哎
  • 2020年SCI1区TOP:异质综合学习和动态多群体粒子群算法HCLDMS-PSO,深度解析+性能实测
  • FinRobot:一个使用大型语言模型进行金融分析的开源AI代理平台
  • 【windows driver】 开发环境简明安装教程
  • 强制完整性级别(MIL)和用户账户控制(UAC)的联系与区别
  • 性能附录:如何计算并发用户数(摘自高楼老师《性能30讲》)
  • 视频推拉流EasyDSS点播平台云端录像播放异常问题的排查与解决
  • 【Python系列】Python 连接 PostgreSQL 数据库并查询数据
  • 辛格迪客户案例 | 甫康(上海)健康科技有限责任公司药物警戒管理系统(PVS)项目
  • 重新审视 ChatGPT 和 Elasticsearch:第 2 部分 - UI 保持不变
  • 坐标变换及视图变换和透视变换(相机透视模型)
  • 基于反激电路的电池充放电均衡控制
  • Windows版FFmpeg使用及B站视频下载示例python源码
  • leetcode_动态规划/递归 509. 斐波那契数
  • 对泰坦尼克号沉没事件幸存者数据分析和预测
  • 算法之排序算法
  • DMA发送全部历史记录数据到串口
  • 蓝桥杯好题推荐-----高精度减法
  • SpringMVC (3)