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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/979121.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

学习threejs,使用ShaderMaterial自定义着色器材质

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.ShaderMaterial1.1.1…

Selenium自动化测试框架快速搭建

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、介绍 Selenium目前主流的web自动化测试框架;支持多种编程语言Java、pythan、go、js等;selenium 提供一系列的api 供我们使用&#xf…

【文献阅读】A Survey on Hardware Accelerators for Large Language Models

大语言模型硬件加速器综述 大语言模型(LLMs)已成为自然语言处理任务的强大工具,凭借其理解和生成类似人类文本的能力,彻底改变了该领域。随着对更复杂大语言模型的需求持续增长,迫切需要应对与其规模和复杂性相关的计…

机器幻觉产生的原因

机器幻觉是指模型生成的不符合现实的内容,比如图像生成中的错误或者不合理的输出。 线性函数在神经网络中的作用通常是传递梯度,但如果每一层都是线性的,整个网络就相当于一个单层的线性模型,无法学习复杂的模式。所以如果只有线性…

python-leetcode-颜色分类

75. 颜色分类 - 力扣&#xff08;LeetCode&#xff09; class Solution:def sortColors(self, nums: List[int]) -> None:"""Do not return anything, modify nums in-place instead."""low, mid, high 0, 0, len(nums) - 1while mid < h…

如何使用LLDB 在VSCode调试C++代码

LLDB VSCode调试 第一步.拷贝lldb-server到android系统 adb push ${NDK_PATH}/toolchains/llvm/prebuilt/darwin-x86_64/lib64/clang/9.0.9/lib/linux/arm/lldb-server /data/local/tmp/lldb-server第二步.进入到安卓设备&#xff0c;打开lldb-server adb shell cd /data/lc…

2025中建二测笔试考什么?北森题库考点复习|附精华备考面试攻略

大家好&#xff0c;我是职小豚&#xff0c;将为大家详细解析2025年中建二测的笔试内容&#xff0c;并提供备考面试的全方位攻略。 希望这份指南能帮助大家在求职路上更加顺利&#xff01; 一、中国建筑集团公司介绍 中国建筑集团有限公司&#xff08;简称“中建集团”&#…

GD32F450 使用

GB32F450使用 1. 相关知识2. 烧写程序3. SPI3.1 spi基础3.2 spi代码 4. 串口4.1 串口引脚4.2 串口通信代码 问题记录1. 修改晶振频率 注意&#xff1a;GD32F450 总共有三种封装形式&#xff0c;本文所述的相关代码和知识&#xff0c;均为 GD32F450IX 系列。 1. 相关知识 参数配…

Spring Boot 测试:单元、集成与契约测试全解析

一、Spring Boot 分层测试策略 Spring Boot 应用采用经典的分层架构&#xff0c;不同层级的功能模块对应不同的测试策略&#xff0c;以确保代码质量和系统稳定性。 Spring Boot 分层架构&#xff1a; Spring Boot分层架构 A[客户端] -->|HTTP 请求| B[Controller 层] …

(十 三)趣学设计模式 之 模版方法模式!

目录 一、 啥是模板方法模式&#xff1f;二、 为什么要用模板方法模式&#xff1f;三、 模板方法模式的实现方式四、 模板方法模式的优缺点五、 模板方法模式的应用场景六、 总结 &#x1f31f;我的其他文章也讲解的比较有趣&#x1f601;&#xff0c;如果喜欢博主的讲解方式&a…

汽车刹车系统设计

摘 要 本次设计内容为汽车刹车系统&#xff0c;其可靠性与驾驶人的生命息息相关&#xff0c;是汽车所有组成部分中最重要的一环。刹车系统是在车辆行驶过程中出现紧急情况时首先保护车辆与驾驶人员安全的反应系统&#xff0c;工作原理是依靠制动装置工作时产生的大量摩擦力来抵…

卷积神经网络梯度下降方向与参数更新方向的一致性论述

梯度下降是一种常用的优化算法&#xff0c;用于最小化损失函数&#xff0c;在机器学习和深度学习领域有着广泛的应用。分别对梯度下降、梯度方向以及参数更新采用负梯度方向的原因进行论述。 1.梯度下降 它的基本思想是通过迭代的方式来更新模型的参数&#xff0c;使得损失函数…

Starrocks入门(二)

1、背景&#xff1a;考虑到Starrocks入门这篇文章&#xff0c;安装的是3.0.1版本的SR&#xff0c;参考&#xff1a;Starrocks入门-CSDN博客 但是官网的文档&#xff0c;没有对应3.0.x版本的资料&#xff0c;却有3.2或者3.3或者3.4或者3.1或者2.5版本的资料&#xff0c;不要用较…

可以免费无限次下载PPT的网站

前言 最近发现了一个超实用的网站&#xff0c;想分享给大家。 在学习和工作的过程中&#xff0c;想必做PPT是一件让大家都很头疼的一件事。 想下载一些PPT模板减少做PPT的工作量&#xff0c;但网上大多精美的PPT都是需要付费才能下载使用。 即使免费也有次数限制&#xff0…

[Java基础] JVM常量池介绍(BeanUtils.copyProperties(source, target)中的属性值引用的是同一个对象吗)

文章目录 1. JVM内存模型2. 常量池中有什么类型&#xff1f;3. 常量池中真正存储的内容是什么4. 判断一个字符串(引用)是否在常量池中5. BeanUtils.copyProperties(source, target)中的属性值引用的是同一个对象吗&#xff1f;6. 获取堆内存使用情况、非堆内存使用情况 1. JVM内…

DeepSeek模型昇腾部署优秀实践

2024年12月26日&#xff0c;DeepSeek-V3横空出世&#xff0c;以其卓越性能备受瞩目。该模型发布即支持昇腾&#xff0c;用户可在昇腾硬件和MindIE推理引擎上实现高效推理&#xff0c;但在实际操作中&#xff0c;部署流程与常见问题困扰着不少开发者。本文将为你详细阐述昇腾 De…

python编写liunx服务器登陆自动巡检脚本

前言&#xff1a; 用户需要一份用Python编写的Linux系统巡检脚本&#xff0c;检查内存、磁盘、CPU使用率&#xff0c;还有网络连通性。 首先&#xff0c;我得确定用户的使用场景。可能用户是系统管理员&#xff0c;需要定期监控服务器状态&#xff0c;确保系统正常运行。 或者…

鸿蒙 ArkUI 实现敲木鱼小游戏

敲木鱼是一款具有禅意的趣味小游戏&#xff0c;本文将通过鸿蒙 ArkUI 框架的实现代码&#xff0c;逐步解析其核心技术点&#xff0c;包括动画驱动、状态管理、音效震动反馈等。 一、架构设计与工程搭建 1.1 项目结构解析 完整项目包含以下核心模块&#xff1a; ├── entry…

ShenNiusModularity项目源码学习(14:ShenNius.Infrastructure项目分析)

ShenNius.Infrastructure项目用于定义ShenNius.Admin.Mvc项目和ShenNius.Admin.API项目共用的特性类、数据操作接口实现类、上下文类、通讯类&#xff0c;主要文件的用途如下&#xff1a;   Attributes文件夹保存特性类或过滤器类定义&#xff0c;主要包括&#xff1a;   …

Mysql表字段字符集未设置导致乱码问题

项目场景&#xff1a; 在使用mysql的text类型作为字段类型【未设置编码】&#xff0c;且表结构【设置了编码集】的条件下&#xff0c;查询表这个字段会出现乱码的情况。 问题描述 今日测试小伙伴给题主提出了一个bug&#xff0c;数据库当中的text文本字段在存储json的情况下&…