PCM音频基础知识及采样数据处理


目录

  1. PCM简介
  2. 采样频率、量化精度(采样位数)和声道数
  3. 音频帧
  4. 录播过程
  5. 音频混音
  6. PCM音频采样数据处理

转载自:音频PCM知识整理
视音频数据处理入门:PCM音频采样数据处理


1. PCM简介

  1. PCM(Pulse Code Modulation),脉冲编码调制。人耳听到的是模拟信号,PCM是把声音从模拟信号转化为数字信号的技术。原理是用一个固定的频率对模拟信号进行采样,采样后的信号在波形上看就像一串连续的幅值不一的脉冲(脉搏似的短暂起伏的电冲击),把这些脉冲的幅值按一定精度进行量化,这些量化后的数值被连续的输出、传输、处理或记录到存储介质中,所有这些组成了数字音频的产生过程(抽样、量化、编码三个过程)。
  2. PCM(Pulse Code Modulation,脉冲编码调制)音频数据是未经压缩的音频采样数据裸流
  3. 自然界的音频都是模拟信号,要在计算机中模拟出来,必须转成数字信号,这就是模数转换。
  4. 下面是声音波形的模拟信息
  5. 首先对声音按照一定精度的采样(比如上图0.5一个采样点,常见采样频率为44.1kHZ,16kHZ等),采样完成,对声音进行一定精度的量化,得到量化后的数字信号
  6. 将量化后的数字信号从十进制转二进制得到二进制方波

2. 采样频率、量化精度(采样位数)和声道数

  1. 采样频率是设备一秒钟内对模拟信号的采样次数,在主流的采集卡上分为:(8Khz的电话采样率就可以达到人的对话程度)

    1. 22.05KHz:无线电广播;
    2. 44.1KHz:音频 CD,MP3等;
    3. 48KHz:miniDV、数字电视、DVD、电影和专业音频。
  2. 人耳能够感觉到的最高频率为20kHz,要满足人耳的听觉要求,则需要每秒进行40k次采样,即40kHz。我们常见的CD采样率为44.1kHz。(硬件的扬声器最高是16KHz,则手机MIC采样率就不用太高,节省传输带宽)
  3. 采样位数比如8bit(现在少见)、16bit(常用)和24bit,指的是描述数字信号所使用的位数。
  4. 声道数:声音在录制或播放时在不同空间位置采集或回放的相互独立的音频信号。
  5. 单声道:采样数据为8位的短整数(short)。
  6. 双声道:采样数据为16位的整数,(int),高八位(左声道)和低八位(右声道)分别代表两个声道。
  7. [时长]s * [采样率]Hz * [采样位数]bit * [声道数] / 8 = [文件大小]byte。某音频信号是采样率为8kHz、声道数、位宽为16bit,时长为1s,则音频数据的大小为:1 * 8000 * 16 *2 = 256000 bit / 8 = 32000 byte / 1024 = 31.25 KB

3. 音频帧

  1. 音频跟视频很不一样,视频每一帧就是一张图像,音频数据是流式的,不同的编码格式各自不同的编码标准,拿PCM和MP3做一个对比。PCM因为没有压缩,根据采样率位宽等数据可以得到每秒的音频数据,并不需要帧的概念;MP3则是因为压缩后信息比较多,则有了类似H264的帧概念,每一个帧都有一个帧头,有兴趣可以详见如下,有很详细的MP3的帧解析:MP3格式音频文件结构解析

4. 录播过程

  1. 播放音乐时,应用程序从存储介质中读取音频数据(MP3、WMA、AAC…),经过解码后,最终送到音频驱动程序中的就是PCM数据,反过来,在录音时,音频驱动不停地把采样所得的PCM数据送回给应用程序,由应用程序完成压缩、存储等任务。所以,音频驱动的两大核心任务就是:

    1. playback:如何把用户空间的应用程序发过来的PCM数据,转化为人耳可以辨别的模拟音频
    2. capture:把mic拾取到得模拟信号,经过采样、量化,转换为PCM信号送回给用户空间的应用程序。

5. 音频混音

1. 混音原理

  1. 声音是由于物体的振动对周围的空气产生压力而传播的一种压力波,转成电信号后经过抽样,量化,仍然是连续平滑的波形信号,量化后的波形信号的频率与声音的频率对应,振幅与声音的音量对应,量化的语音信号的叠加等价于空气中声波的叠加,所以当采样率一致时,混音可以实现为将各对应信号的采样数据线性叠加。而问题的关键就是如何处理叠加后溢出问题。

5. PCM音频采样数据处理

  1. 视音频数据处理入门:PCM音频采样数据处理

PCM音频基础知识及采样数据处理相关推荐

  1. Android音视频学习系列(五) — 掌握音频基础知识并使用AudioTrack、OpenSL ES渲染PCM数据

    系列文章 Android音视频学习系列(一) - JNI从入门到精通 Android音视频学习系列(二) - 交叉编译动态库.静态库的入门 Android音视频学习系列(三) - Shell脚本入门 ...

  2. 音频基础知识 - PCM 浅析

    PCM浅析 最近有个需求:对音频裁剪时,裁剪条的纵坐标必须是音频音量,以帮助用户更好的选择音频区域,所以就需要快速准确的提取出音频的音量列表.本文主要介绍下从mp4文件中提取音轨音量的方式,以及相关的 ...

  3. 音频基础知识以及PCM转WAV

    音频基础知识 声音是什么? 记得初中学物理的时候我们就学过声音了,声音是由振动产生的,声音在空气中振动形成振动波传到我们的耳朵,我们的耳膜接收到了振动波,所以能感受到声音.声音在空气中的振动波我们看不 ...

  4. 百万调音师—音频基础知识

    百万调音师-音频基础知识 音频基本属性 1).音频理论 2).音频格式 3).音频声道 声音如何传输到电脑? 模拟信号 数字信号 脉冲编码调制 1).滤波 2).采样 3).量化 4).编码 分贝 音 ...

  5. 一.音频驱动-音频基础知识

    在这里记录一下做音频驱动时遇到的音频基础知识 数模转换 我们能听到的音频,都是声波.声波是声音的传播形式,发出声音的物体称为声源.声波是一种机械波,由声源振动产生,声波传播的空间就称为声场.人耳可以听 ...

  6. Android录音-音频基础知识

    音频基础知识 文章目录 音频基础知识 一.采样率 二.采样位深 三.比特率 四.声道(单声道.双声道) 五.PCM元数据 音频基本概念:采样率.采样位深.比特率.声道.PCM 一.采样率 采样率(也称 ...

  7. Python之音频信号处理(一)音频基础知识

    一.音频基础知识 1.声音的三要素 (1)音调 人耳对声音高低的感觉称为音调(也叫音频).音调主要与声波的频率有关.声波的频率高,则音调也高.一般音频 儿童>女生>男生. 人耳听觉音频范围 ...

  8. 直播平台怎么搭建,你要先来学习音频基础知识

    直播平台怎么搭建,你要先来学习音频基础知识 概述 本片文章主要介绍音频基础,在做音频开发之前首先必须要对音频的相关概念了解.以下是具体内容概述: 常见的音频格式 WAV MP3 WMA RA APE ...

  9. Android音频开发(一):音频基础知识

    一.Android音频开发(一):音频基础知识 二.Android音频开发(二):录制音频(WAV及MP3格式) 三.Android音频开发(三):使用ExoPlayer播放音频 四.Android音 ...

最新文章

  1. Python 常用代码片段
  2. Inf2Cat应用的参数使用详细介绍
  3. 录播软件开始麦克风应该打开还是关闭
  4. 《深入剖析Tomcat》一2.2 应用程序 1
  5. Html百分比设宽偏差大,absolute和relative元素 设置百分比宽高的差异
  6. 冻结和只读取当前对象的属性,不读取对象原型的属性
  7. flask v0.1 flask.py
  8. 财经法规与会计职业道德3
  9. 【C#】 用Route进行URL重写
  10. Django评论系统
  11. DirectSOFT(光洋PLC编程软件)v6.3官方版
  12. 2021年,某云盘最新版不限速下载工具教程,亲测有效!
  13. 人脸关键点检测PFLD论文解读
  14. 药渡网和药融云免费使用方法
  15. 爆破专用中国姓名排行TOP500
  16. Github项目:AI消除马赛克实战
  17. python之文件操作、对.txt文本文件的操作(读、写、修改、复制、合并)、对json文本文件的操作、json字符串与字典的相互转换。
  18. html播放rtsp低延时(局域网测试500ms左右)
  19. 信息系统项目管理师学习笔记7-项目成本管理
  20. springboot中service中注入dao失败测试类中注入成功_聊一聊 Java 服务端中的乱象

热门文章

  1. 关于Spring的IOC和DI
  2. nginx操作指南之二
  3. 拦截器,过滤器,监听器原理
  4. java基础----Java Collections Framework
  5. 【2D动画】《想你》。。。。难以想象
  6. 几大搜索引擎的网站登录入口
  7. C++:函数参数不确定时用cstdarg(stdarg.h)
  8. 动态规划算法-02矿工挖矿问题
  9. java 线程池 状态_【Java多线程】线程状态、线程池状态
  10. QT乱码总结6.编码测试和总结一