当前位置: 首页 > 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 文件格式中这些参数数据采用小端序,在读取和处理音频参数时,能直接适配硬件的字节序,减少数据转换的开销,提高音频数据处理的速度和效率 。

相关文章:

  • Java异常处理与调试艺术:从“红字恐惧症“到“优雅破案“
  • 【Java基础】Java中new一个对象时,JVM到底做了什么?
  • ShenNiusModularity项目源码学习(15:ShenNius.Admin.API项目分析)
  • 翻译: 深入分析LLMs like ChatGPT 一
  • Python中字符串的类型,作用和常用方法
  • Harmony os next~鸿蒙应用开发入门教程
  • 通过 PromptTemplate 生成干净的 SQL 查询语句并执行SQL查询语句
  • [Web 安全] PHP 反序列化漏洞 —— PHP 魔术方法
  • 杰发科技AC7801——滴答定时器获取时间戳
  • Spring 为何需要三级缓存解决循环依赖,而不是二级缓存
  • Azure Speech
  • 上海市计算机学会竞赛平台2024年5月月赛丙组城市距离之和
  • 领域驱动设计:事件溯源架构简介
  • 【大语言模型笔记进阶一步】提示语设计学习笔记,跳出框架思维,自己构建提示词
  • Linux系统下Mplayer的高效人机操作界面设计
  • 搭建elasticsearch集群,8.17.0版本
  • 日期时间 API
  • Rust 是什么
  • ds-主流向量引擎及显存需求
  • 深入解析SQL Server高级SQL技巧
  • 在哪个网站去租地方做收废站/中国企业500强排行榜
  • 金华自助建站/百度推广投诉电话
  • 个人做网站用哪个主机好/关键词查询优化
  • 做几个网站好/app渠道推广
  • 中文wordpress网站模板下载失败/百度怎么找人工客服
  • 怎么做网站一张图/体验式营销