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

P4 音频知识点——PCM音频原始数据

目录

 前言

01 PCM音频原始数据

1.1 频率 

1.2 振幅:

1.3 比特率

1.4 采样

1.5 量化

1.6 编码

02. PCM数据有以下重要的参数:

采样率:

采集深度

 通道数

​​​​​​​ PCM比特率

​​​​​​​ PCM文件大小计算:

​​​​​​​ PCM存储格式​​​​​​​


 前言

                             

从本章开始我们将要学习嵌入式音视频的学习了 ,使用的瑞芯微的开发板

🎬 个人主页:@ChenPi

🐻推荐专栏1: 《C++_@ChenPi的博客-CSDN博客》✨✨✨ 

🔥 推荐专栏2: 《Linux C应用编程(概念类)_@ChenPi的博客-CSDN博客》✨✨✨

🛸推荐专栏3:《嵌入式音视频_@ChenPi的博客-CSDN博客》
🌺本篇简介  :这章记录音频的基础知识学习

01 PCM音频原始数据

音频原始数据PCM,PCM全称是脉冲编码调制数据。PCM数据是未经过压缩的音频数据,它是由模拟信号经过采样、编码等步骤转换成标准的数字信号。

1.1 频率 

频率:声音的频率,我们人类的所听到的声音频率范围大概在20hz-20khz

1.2 振幅:

振幅:指的是声音的响度,也就是我们常说的高低音

1.3 比特率

 比特率:代表的是音频未经过压缩的数据,每秒需要传输的数据量,它的公式是:

采样率*采样深度*通道数

1.4 采样

采样:采样是我们音频最重要的知识点之一,它指的是把一段连续的模拟信号转换成离散的数字信号。而采样率就指的是每秒钟采样的个数,而根据奈奎斯特采样公式:当采样率大于等于连续信号的2倍时,采样信号就能够无差别还原出原始的信号。比方说人类的听觉频率是20HZ-20KHZ,而采样率就需要达到40KHZ以上才能够保证数据的完整性。

  

1.5 量化

量化:量化指的是在坐标轴上,把每一个离散数据进行数字化操作。换言之就是把我们每一个采样的点都按照数字化表示出来,如下图

  

从这张图我们可以看出,量化的过程就是把刚才我们转换成的数字信号一个一个点用竖线显示出来,这样的话我们在数字化的时候就方便很多。

1.6 编码

编码:把每一个量化的采样点存储起来,并以二进制的形式表现出来的过程就是编码。下图就是存储的表格:

  

把上图所有的数据存储起来,就是一段连续的PCM数据。

PCM数据,二进制形式:

011011110111101……

对于一个音频的原始数字信号的生成:

采集->采样->量化->编码:->PCM数据

02. PCM数据有以下重要的参数

采样率:

​​​​​​​ 采样率:指的是每秒钟采样的个数,换言之就是1S钟采集声音的频率,比方说48000HZ就相当于一秒钟PCM采集48000个。PCM数据常用的采样率有:

  1. 192000HZ:192KHZ(蓝光、高清电影DVD)
  2. 96000HZ 96KHZ(蓝光、高清电影DVD)
  3. 48000HZ48KHZ(数字电视、DVD)  (最常用)
  4. 44100HZ:44.1KHZ(CD音质)
  5. 22000HZ:22KHZ(无线广播)

采集深度

采样深度:每次采样的大小,比方说如果采样深度是16BIT

那声音就有2的16次方的振幅,而32bit就相当于有2的32次方个振幅。

声音振幅越多,声音的质量就会越高。

在PCM中,有三种常见的采样大小:

8 BIT16BIT32BIT(FLTP)

​​​​​​​ 通道数

PCM一般有四种通道数:

 单声道:

指的是只有一个声音的通道,比方说电话、喇叭之类的

双声道(立体声)

双声道指的是有两个声音的通道,声音在录制的过程中分配到两个独立的声道,这让人听起来就有立体的感觉。

四声道:

四声道指的是前左、前右、后左、后右四个发声通道。观众听起来,则像被声音包围了一样。

声道:

5.1声道广泛运用在家庭影院 

​​​​​​​ PCM比特率

比特率指的是每秒传输的比特数(bit),一般PCM的比特率计算公式是:

采样率*采样深度*通道数

比如:48000 * 16 * 2 = 1536000

​​​​​​​ PCM文件大小计算:

假设一个PCM音频设备采样率48000、采样精度是16bit、2通道,大概采集10分钟数据,那它的大小:采样率 * 采样深度 * 通道数 * 时长 = 48000 * 16 * 2 * 10 * 60 = 921600000bit,然后再把bit转换成字节(BYTE) 921 600 000/8/1024/1024 = 109M

​​​​​​​ PCM存储格式

    

上图是PCM单双声道的存储布局,这里我们来重点讲解一下双声道的布局。

一般双声道的存储有两种存储方式,一种是交错模式、另外一种是非交错模式。

  • 交错模式:首先记录第一帧的左声道样本和右声道样本
  • 非交错模式:首先先记录一个周期内所有帧的左声道样本、再记录所有右声道样本

交错模式:L R L R L R L R

非交错模式:L L L L L R R R

此篇文章来源于B站博主——飞一样的成长

相关文章:

  • ChatGPT4与ArcGIS Pro3助力AI 地理空间分析和可视化及助力科研论文写作
  • Ionic实战二十七:移动端录音方案及Nginx部署配置
  • ubuntu22上使用qemu-system-arm调试linux
  • DLLNotFoundException:xxx tolua... 错误打印
  • ubuntu22.04+ROS2推荐匹配的gazebo版本
  • LeetCode 每日一题 2023/12/18-2023/12/24
  • python 使用 pip 安装第三方库 导入不成功
  • 【算法设计与分析】——动态规划算法
  • 【docker笔记】docker常用命令
  • 磁盘类型选择对阿里云RDS MySQL的性能影响
  • 硬核实战!mysql 错误操作整个表全部数据后如何恢复?附解决过程、思路(百万行SQL,通过binlog日志恢复)
  • 线段树/区间树(java实现版详解附leetcode例题)
  • MySQL——复合查询
  • 蓝桥杯宝藏排序算法(冒泡、选择、插入)
  • 幺模矩阵-线性规划的整数解特性
  • [译]CSS 居中(Center)方法大合集
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • DOM的那些事
  • oschina
  • Protobuf3语言指南
  • Python - 闭包Closure
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • SegmentFault 2015 Top Rank
  • ubuntu 下nginx安装 并支持https协议
  • 大整数乘法-表格法
  • 高程读书笔记 第六章 面向对象程序设计
  • 警报:线上事故之CountDownLatch的威力
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 算法之不定期更新(一)(2018-04-12)
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 因为阿里,他们成了“杭漂”
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • ​ArcGIS Pro 如何批量删除字段
  • $.ajax()
  • (003)SlickEdit Unity的补全
  • (1) caustics\
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (二)丶RabbitMQ的六大核心
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (论文阅读11/100)Fast R-CNN
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (转)【Hibernate总结系列】使用举例
  • (转)JAVA中的堆栈
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • (转载)Linux网络编程入门
  • ****Linux下Mysql的安装和配置
  • .apk 成为历史!
  • .NET 的程序集加载上下文
  • .net 无限分类
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .net实现客户区延伸至至非客户区