音频原始数据PCM

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

一、音频基础知识讲解

1.1频率

        声音是由震动产生的,所以声音是有频率的,人类可以听到的声音频率大概在20HZ~20KHZ

1.2振幅

        振幅指的就是声音的响度,也就是常说的音量

1.3比特率

        代表的是音频没有经过任何的压缩每秒可以传输的数据量

        比特率 = 采样率 * 采样深度 * 通道数

1.4采样

        采样就是把一段连续的模拟信号转换成离散的数字信号。采样率就是每秒采集的次数,当采样率大于等于连续信号的两倍时,采样信号就可以无差别的还原出原始的数据。比方说人类的听觉频率是20-20KHZ,采样率就必须达到40KHZ以上才可以保证数据的完整性。

1.5量化

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

        

1.6编码

        编码就是把量化后采样点的每一个值存储起来,并且使用二进制的方式表示出来。

        

        把这个表中的所有二进制数存储起来,就是一段连续的PCM数据。

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

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

二、PCM的重要参数

        (1)采样率:指的是每秒采样的次数,48000HZ就相当于每秒采集48000次

          PCM常见的采用率:

                192000KZ:192KHZ(蓝光、高清电影DVD)

                96000HZ:96KHZ(蓝光、高清电影DVD)

                48000HZ: 48KHZ(数字电视、DVD)

                44100HZ:44.1KHZ(CD音质)

                22000HZ: 22KHZ  (无线广播)

      (2)采样深度:每次采样的数据大小,采样深度代表取样中对声音强度记录的精细程度,采样深度和采样率共同决定了声音的还原度。

        在PCM常见的三种采样深度:8bit 16bit 32bit(FLTP)

        (3)通道数

        PCM一般有四种通道:单声道、双声道、四声道、5.1声道

   单声道:只有一个声音的通道,比如喇叭、电话

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

   四声道:前后左右四个发声通道,人听起来就像和被声音包围起来一样。

    5.1声道:一般用于家庭影院,实际开发很少用到       

    (4)PCM比特率:只是一秒传输的bit数

        PCM比特率 = 采样率 * 采样深度 *声道数

    (5)PCM文件大小计算:PCM比特率 * 时长/8 单位是字节

三、PCM的文件存储格式  

 上图是PCM的单双声道存储布局,对于双声道有两种存储方式,一种交错模式,另外一种是非交错模式。

        交错模式:先记录一帧左声道的样本,然后记录一帧又声道的样本,以此反复

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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows通过网线连接开发板共享网络

Windows端 打开更开适配器选项右键WLAN–属性–共享 右键以太网–属性–Internet协议版本4(TCP/IPv4) 记住IP地址 开发板端 查看网卡 ifconfig设置IP在同一网段 ifconfig eth0 192.168.137.2 netmask 255.255.255.0设置网关 route add default gw 192.168.137.1配置DNS su…

minio最新源码编译(处理安全扫描中跨域访问、.js.map等不安全问题) 版本:RELEASE.2024-06-26T01-06-18Z

编译前注意事项 编译基于tag为RELEASE.2024-06-26T01-06-18Z的版本处理安全扫描问题。如:敏感信息泄露、.js.map、跨域访问问题需要准备两个工程,前端工程console和minio工程, 目录结构处理: gowork/ │ └── src/├── github.com├── …

华为 HCIP-Datacom H12-821 题库 (6)

有需要题库的可以看主页置顶 V群仅进行学习交流 1.转发表中 FLAG 字段中B 的含义是? A、可用路由 B、静态路由 C、黑洞路由 D、网关路由 答案:C 解析: 可用路由用U 表示,静态路由用 S 表示,黑洞路由用 B 表示&#x…

原油市场“闪崩”,国际油价单日下跌超4%!

KlipC报道:当地时间9月3日周二,延续早些时候的跌势,国际油价暴跌。WTI原油收跌近4.4%,逼近70美元大关;布伦特原油跌破75美元,跌幅4.86%,均抹去今年所有涨幅。 据悉,受到威胁后逃离了…

系统编程-数据库

数据库 目录 数据库 引入 1、先安装数据库 2、数据库设置密码 3、数据库的进入和退出(前提 你的密码更改过了) 数据库的基本操作 1、显示所有的数据库 2、创建数据库 3、删除数据库 4、选择数据库 在数据库中对表进行操作 1、查看当前数据库中的表 2、在数据库中…

如何在算家云搭建Qwen2(智能对话)

一、Qwen2简介 Qwen2 是由阿里云通义千问团队研发的新一代大型语言模型系列,它在多个方面实现了技术的飞跃和性能的显著提升。以下是对 Qwen2 的详细介绍: GitHub - QwenLM/Qwen2: Qwen2 is the large language model series developed by Qwen team, …

GD32 Flash读写与存储数据操作,亲测可用

这里写自定义目录标题 联系作者请加一、GD32 Flash特性二、Flash读写操作1. Flash读取操作2. Flash写入操作三、注意事项四、其他方法联系作者请加 如有技术问题及项目需求请加作者微信! 一、GD32 Flash特性 存储空间划分:GD32的Flash存储空间通常分为主存储块和信息块。主存…

SpringBoot学习(5)(springboot整合mybatis)

目录 1、整合mybatis基本介绍 (1)spring整合mybatis (2)springboot整合mybatis 2、案例(根据用户id,返回用户所有信息) (1)新建数据库连接、数据库、表。插入值 &a…

探索MongoDB的Python之钥:pymongo的魔力

文章目录 探索MongoDB的Python之钥:pymongo的魔力背景:为什么选择pymongo?简介:pymongo是什么?安装:如何将pymongo纳入你的项目?基础用法:五个核心函数介绍1. 连接到MongoDB2. 选择数…

【Spring Boot 3】【Web】自定义过滤器

【Spring Boot 3】【Web】自定义过滤器 背景介绍开发环境开发步骤及源码工程目录结构总结背景 软件开发是一门实践性科学,对大多数人来说,学习一种新技术不是一开始就去深究其原理,而是先从做出一个可工作的DEMO入手。但在我个人学习和工作经历中,每次学习新技术总是要花费…

【数据分享】2000-2022年我国省市县三级的逐日O3数据(免费获取\excel\shp格式)

空气质量数据是在我们日常研究中经常使用的数据!之前我们给大家分享了2000-2022年的省市县三级的逐日PM2.5数据、2013-2022年的省市县三级的逐日CO数据、2013-2022年的省市县三级的逐日SO2数据、2008-2022年我国省市县三级的逐日NO2数据和2000-2022年我国省市县三级…

ubuntu20.04(wsl2)测试 arcface 人脸识别(计算特征向量)

1. 参考博客和代码、模型仓库: 1.1. 【C随记】collect2: error: ld returned 1 exit status错误分析与解决 1.2. Visual Studio 2022新建 cmake 工程测试 tensorRT 自带样例 sampleOnnxMNIST 1.3.报错:ModuleNotFoundError: No module named ‘ten…

基于tesseract实现文档OCR识别

导入环境 导入必要的库 numpy: 用于处理数值计算。 argparse: 用于处理命令行参数。 cv2: OpenCV库,用于图像处理。 import numpy as np import argparse import cv2设置命令行参数 ap argparse.ArgumentParser() ap.add_argument("-i", "--imag…

视频集中存储智能边缘计算网关软硬一体机智能边缘计算网关应用场景

在信息化飞速发展的今天,数据处理的速度和效率直接影响到各行各业的运作和发展。传统的云计算模式虽然强大,但在面对实时性和带宽要求越来越高的应用场景时,往往显得力不从心。此时,智能边缘计算网关的出现,为我们带来…

长效静态代理IP推荐:天启代理IP的优势与应用

在如今这个互联网的时代,代理IP已成为许多网络活动的必备工具。相比动态代理IP,长效静态代理IP以其稳定性和长时间有效性,成为了许多用户的首选。今天,我们将深入探讨长效静态代理IP的优势,并重点推荐天启代理IP。 什…

Docker compose 安装 ELK

1. 简介 方案概述 我们使用 Filebeat 作为日志收集器,接入到 Redis 队列,然后消费队列中的日志数据流转到 Logstash 中进行解析处理,最后输出到 Elasticsearch 中,再由 Kibana 展示到页面上。我们采用 Elasticsearch 3 节点集群…

web前端-网页

一、网页 1.网页 网站是指在因特网上根据一定的规则,使用 HTML等制作的用于展示特定内容相关的网页集合。 网页是网站中的一“页”,通常是 HTML格式的文件,它要通过浏览器来阅读。 网页是构成网站的基本元素,它通常由图片、链接、文字、声…

婚宴时扫码查桌号

如何通过关键词查询信息? 在婚宴这一喜庆的时刻,确保每位宾客都能迅速找到自己的座位是至关重要的。为了使这一过程更加流畅和高效,我们特别引入了扫码查桌号服务。以下是详细的操作指南,帮助您快速掌握如何使用此服务&#xff0c…

缓存:浅谈双写导致的数据一致性问题

从理论上来说,给缓存设置过期时间,是保证最终一致性的解决方案。这种方案下,我们对存入缓存的数据设置过期时间,所有的写操作以数据库为准,对缓存操作只是尽最大努力更新即可。也就是说如果数据库写成功,缓…

C++11新增特性:列表初始化(std::initializer_list) decltype、auto、nullptr、范围for

C11新增特性:列表初始化(std::initializer_list)& decltype、auto、nullptr、范围for 一、C11新增统一初始化方式1.1 新增方式1.2 初始化容器底层原理(std::initializer_list) 二、新增声明2.1 decltype2.3 auto &…