通过PCM再理解音频信号基础

PDM信号与PCM信号 总结一下PDM信号与PCM信号: PDM PDM:脉冲密度调制,模拟信号的幅值使用输出脉冲对应区域的密度表示。PWM波是PDM波转换频率固定的一种特例,在实际输出的一位数据流中,只存在“1”和“0”,1的密度越大,代表该区域对应的模拟信号幅值越大,反之,0的密度越大,代表该区域的模拟信号幅值越小。1和0连续转换的区域对应中间幅值。使用低通滤波器将PDM信号滤波后,可以恢复连续的模拟信号波形。 已知signal array,求output PDM array。 // x[s]: signal array / 阅读详情

PCM基础

什么是PCM?

脉冲编码调制( Pulse Code Modulation , PCM) 是模拟信号以固定的采样频率转换成数字信号后的表现形式。

pcm文件没有头部信息,全部是采样量化后的未压缩音频数据。

PCM 数据储存

在这里插入图片描述

用什么量来描述PCM?

  • Sample Rate 采样率
    8kHz(电话)、44.1kHz(CD)、48kHz(DVD),16kHz 因为保留了绝大部分信息因此得到广泛使用

  • Sign 符号
    表示样本数据是否是有符号位

  • Sample Size 采样数据大小/量化位数
    8位量化(8-bit)、16位量化(16-bit)、32位量化(32-bit),通常该值为16-bit(即2 byte)

  • Byte Ordering 字节序
    分大端(big-endian)和小端(little-endian),一般都是小端字节序(低位低地址,高位高地址)

    所有网络协议都是采用big endian的方式来传输数据的。所以也把big endian方式称之为网络字节序。当两台采用不同字节序的主机通信时,在发送数据之前都必须经过字节序的转换成为网络字节序后再进行传输。

  • Number of Channels 通道数
    指声音在录制或播放时,在不同空间位置采集或回放的相互独立的音频信号,常见的有单声道,双声道,四声道

PCM数据流是什么样?

  • 单声道
+------+------+------+------+------+------+------+------+------+
|  500 |  300 | -100 | -20  | -300 |  900 | -200 |  -50 |  250 |      
+------+------+------+------+------+------+------+------+------+

每个整数占据2个字节(16-bit),9个采样也就是18字节的数据。

  • 立体声
 +----------+----------+---------+----------+---------+----------+---------+----------+----------+
 |  LFrame1 |  RFrame1 | LFrame2 | RFrame2  | LFrame3 |  RFrame3 | LFrame4 |  RFrame4 |  LFrame5 |      
 +----------+----------+---------+----------+---------+----------+---------+----------+----------+

每一个frame是一个16-bit的采样点。左右声道的数据交叉存放。

WAV与PCM的区别

  • wav与pcm区别,pcm加头变为wav,wav相关头信息
  • wav文件头信息由大小44个字节的数据组成
  • 使用python包struct来转换为二进制流

WAV头部信息:

1、4字节数据,内容为“RIFF”,表示资源交换文件标识
2、4字节数据,内容为一个整数,表示从下个地址开始到文件尾的总字节数(= pcm音频流长度 + 36 ),其中36 = 44位wav头信息 - 8,8表示不包括RIFF和WAVE不包括RIFF和WAVE这8个字节
3、4字节数据,内容为“WAVE”,表示WAV文件标识
4、4字节数据,内容为“fmt ”,表示波形格式标识(fmt ),最后一位空格。
5、4字节数据,内容为一个整数,表示PCMWAVEFORMAT的长度,其表示为:采样率(一般为8或16)
6、2字节数据,内容为一个短整数,表示格式种类(值为1时,表示数据为线性PCM编码)
7、2字节数据,内容为一个短整数,表示通道数,单声道为1,双声道为2
8、4字节数据,内容为一个整数,表示采样率,比如8000, 16000
9、4字节数据,内容为一个整数,表示波形数据传输速率(每秒平均字节数),大小为 采样率 * 通道数 * 采样位数 / 8
10、2字节数据,内容为一个短整数,表示DATA数据块长度,大小为 通道数 * 采样位数 / 8
11、2字节数据,内容为一个短整数,表示采样位数,即PCM位宽,通常为8位或16位
12、4字节数据,内容为“data”,表示数据标记符
13、4字节数据,内容为一个整数,表示接下来声音数据的总大小
14、以上所有的头文件进行相加,然后加上pcm字节流进行拼接

其它

  • 快放
    若我们告知声卡的采样率大于数据本身的采样率,那么这些数据的播放速度会高于其原始的速度。就是快放的功能。
  • 提高音量
    如果要增加PCM数据的音量,只需要将每一个采样的数据乘以一个系数就行了。

参考:

  1. PCM浅析
  2. PCM音频数据
  3. PCM音频数据格式介绍
音频处理——详解PCM数据格式 目录知识储备什么是PCM采样采样率量化编码PCM常用指标PCM数据流 知识储备 音频处理——音频编码原理简介 音频处理——音频处理的基本概念 什么是PCM PCM全称Pulse-Code Modulation,翻译一下是脉冲调制编码。 在音视频中,PCM是一种用数字表示采样模拟信号的方法。 要将一段音频模拟信号转换为数字表示,包含如下三个步骤: 1、Sampling(采样) 2、Quantization(量化) 3、Coding(编码) 通常,我们可以通过一条曲线在坐标中显示连续的模拟信号,如下图所示: 阅读详情

相关推荐

数字音频PCM

脉冲编码调制(PulseCodeModulation),简称PCM。是对连续变化的模拟信号进行抽样、量化和编码产生的数字信号。PCM的优点就是音质好,缺点就是体积大。PCM可以提供用户从2M到155M速率的数字数据专线业务,也可以提供话音、图像传送、远程教学等其他业务。PCM有两个标准(表现形式):E1和T1。脉冲编码调制(Pulse Code Modulation)是最常用、最简单的波形编码。它是一种直接、简单地把语音经抽样、A/D转换得到的数字均匀量化后进行编码的方法,是其他编码算法的基础。

嵌入式开发,ARM Linux开发 1872

脉冲编码调制(PCM)

模拟信号本身就是一种电子信号,它可以直接传输,也可以被调制成脉冲信号,或者被数字化。脉冲信号(PAM、PPM、PWM)是一种调制技术,它仍然是一种电子信号的形式,用于特定场景下的信号传输。数字信号(如 PCM)通过将模拟信号编码为二进制数值,用于数字通信系统中传输。

qq_51011530的博客 6001

python系列:通过PCM再理解音频信号基础

通过PCM再理解音频信号基础

weixin_54626591的博客 720

【音视频 | PCM】PCM格式详解

文章介绍PCM是什么?PCM是生成过程:采样、量化、编码

wkd_007的博客 1万+

TDM方式下PCM接口的详细介绍及嵌入式应用

TDM方式下的PCM接口采用时分多路复用的原理,将多个音频信号按照时间片的方式进行交错传输。通过TDM方式,多个音频信号可以通过时间分割的方式复用到同一PCM接口上,实现音频信号的同时传输和处理。以I2S接口为例,展示了如何使用TDM方式下的PCM接口进行音频播放。I2S是一种常见的TDM方式下的PCM接口,它包含三个信号线:时钟线(SCLK)、数据线(SD)和帧同步线(LRCLK)。PCM接口通过将模拟音频信号转换为数字信号,并按照特定的时间分割方式进行传输,实现音频信号的高质量传输和处理。

CyberSphinx的博客 938

PCM2706+TDA1305T解码+PAM8403功放系统设计与实现

本文还有配套的精品资源,点击获取 简介:本压缩包包含了音频系统构建所需的关键组件:PCM2706数模转换器、TDA1305T编解码器和PAM8403功放。PCM2706将数字音频信号转换为模拟信号,TDA1305T处理模拟和数字信号的转换,PAM8403放大信号以驱动扬声器。PADS源码提供了电路板布局信息。该项目旨在帮助工程师设计和理解音频系统,并通过电路图和源码深入了解...

weixin_29097457的博客 3473

音频基础--PCM音频

主要介绍PCM音频格式

积木的笔记 9902

VSCode下载、安装+C语言环境配置(超详细)

ps:我的更改部分:"D:/BaiduNetdiskDownload/x86_64-8.1.0-release-win32-seh-rt_v6-rev0/mingw64。③ 找到【系统变量】中的【Path】变量 ---- 双击打开后,将刚刚复制的地址添加进去 ---- 点击【确定】;① 双击【此电脑】---- 点击【属性】---- 进入到下面这个界面,单击【高级系统设置】;② 进入到 系统属性界面 ---- 点击【环境变量】,进入环境变量页面;并进行安装,安装成功后,打开VSCode;

weixin_48820458的博客 1万+

音频的模拟信号到数字信号pcm都经历过了哪些步骤

例如,16位PCM编码将每个采样值表示为一个16位的二进制码字,其中最高位表示符号(正负),其余的15位表示幅度。2.量化(Quantization):采样后的模拟信号通常是连续的,这些连续的采样值必须被量化为离散的数字值。时域分析是对信号在时间上的变化进行分析。通过时域分析,我们可以获得信号的时间特性,如信号的振幅、频率、周期性、持续时间等信息。频域表示信号在频率轴上的变化,即信号的不同频率分量的强度情况。通过频域分析,我们可以获得信号的频率特性,如信号的频率范围、主要频率成分、频域滤波特性等信息。

宝安小雨 3223

地平线Matrix-Client实战:3分钟搞定摄像头调试与3D视图配置(附避坑指南)

本文详细介绍了地平线Matrix-Client在摄像头调试与3D视图配置中的实战技巧,包括环境准备、核心功能快速上手、高阶调试与性能优化等。通过3分钟快速配置指南和避坑建议,帮助开发者高效完成智能视觉系统开发,特别适用于自动驾驶和机器人视觉领域。

w7x8y9z的博客 266

Difftest踩坑笔记(一)

Difftest是差分测试框架,有什么用呢?高性能CPU的设计需要做复杂的测试,传统的测试方法运行较慢,而且出了问题很难定位,Difftest就是为了解决这两个问题。

http://www.icfgblog.com/ 4196

硬件接口之PCM

PCM = Pulse Code Modulation 是通过等时间隔(即采样率时钟周期)采样将模拟信号数字化的方法。图为4 bit 采样深度的PCM数据量化示意图:   和I2S接口差不多,PCM接口是4根信号线,通常用于AP处理器和通信MODEM之间传输语音数据(就是双向打电话的数据)。   AP处理器和蓝牙之间也是通过PCM来传输语音数据,打电话的蓝牙数据走的是PCM,放音乐的蓝牙数据走的是串口(不是PCM)。 特点: 效率高,多达16路数据;主要传输音乐;先传高位再传低位。 传输内.

Android系统攻城狮 6344

专访高性能计算专家赵开勇:无人机/机器人开发实战,如何优化深度学习?

从能够自主飞行的无人机,到能和小朋友玩物体识别等游戏的机器人,极客们对智能设备追求没有止境。除了轻巧的体积、超长的续航,更重要的是要有一个智能的“大脑”,来实现人类能够想得到的人机交互,或者智能化的自主决策和行为动作,毫无疑问强大的深度学习能力不可或缺。那么,拒绝束缚人类想象力的嵌入式智能设备,其开发工作需要什么样的环境和工具?开发者进行相关开发的可行思路是什么?近日,优快云记者就此专访了智能设...

happytofly的博客 3509

voip 音频采集时间_数字音频基础------从PCM说起

“不得不说,现在网上的文章,包括百科词条,在数字音频基础概念上有太多混乱的表达,甚至存在错误。比如比特率、位率、位速和码率这四个词其实是同一个意思。再比如千比特kb表示1000bit,而不是普遍被认为的1024bit。在字节Byte范畴,千字节则表示1024字节,1KB=1024B。”本文从模拟信号的数字化方法讲起,介绍几个基础概念,然后重点区分容易混淆的概念,最后做一些知识扩展。全文目录如下: ...

weixin_42390070的博客 854

Cesium 实战 26 - 自定义纹理材质 - 箭头流动线(图片纹理)

Cesium 实战 - 自定义纹理材质 - 箭头流动线(图片纹理)。

非科班Java出身GISer的博客 1401

10、进化动力学谱分析中的开放性问题

本文探讨了进化动力学谱分析中的若干开放性问题,重点围绕进化算法的性能与设计理论展开。文章首先介绍了规范模型及其线性动力学特性,随后深入分析了在实际应用中偏离理想情况的两个关键因素:有限种群和双亲重组。在此基础上提出了三个核心开放性问题:寻找最优传输矩阵以实现全局最优解的高效搜索、无限与有限种群模型谱之间的关系、以及卡林定理在多遗传算子下的推广可能性。通过谱条件、快速混合性与首次命中时间的关系分析,文章进一步讨论了全局吸引与快速收敛的理论基础,并提出了未来的研究方向,包括理论深化、实验拓展与跨学科融合,旨在为

cuda7parallel的博客 80

PCM编码后的音频数据存放格式说明

一般来说,在做接收机开发的时候,考虑到网络传输负荷的问题,会考虑将音频(数据)信号进行下采样或者去噪的基 本处理,这样就要涉及到音频信号的滤波处理。但是不论是在时域滤波还是频域滤波,接收机直接输出的音频byte流不 能直接用,这时就要考虑用byte流恢复原始音频时域数据,这时必须清楚PCM编码的数据组织格式,涉及两个基本问题 一个pcm采样数据占多少字节,高低位存放顺序的问题,得到时域数据后

jacberg的专栏 3646

SAP MD09 事务码中的物料需求追溯详解

物料需求追溯是指在物料需求计划中,追踪特定物料的需求来源和满足方式的过程。它帮助企业确定每个需求(如销售订单、独立需求、预留等)是由哪些供应元素(如库存、生产订单、采购订单等)来满足的。通过这种追溯,企业可以了解需求和供应之间的关系,从而优化生产和采购计划,减少库存积压,提升供应链效率。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1193

嵌入式语音信号处理入门篇

刚接触语音信号处理,是从下面这几个概念开始的,这几个概念明白了,基本上也就明白原始的语音信号是什么,也就是知道我们要处理啥样的信号了。 等这篇文章的内容明白后,就可以开始进入正题。 PCM和WAV PCM(Pulse Code Modulation----脉码调制录音)。所谓PCM录音就是将声音等模拟信号变成符号化的脉冲列,再予以记录。PCM信号是由[1]、[0]等符号构成的数字信号,而未经过任何...

来福的猫窝的博客 1万+

CCAR-23《正常类飞机适航规定》和CCAR-25《运输类飞机适航规定》差异分析

通过详细比较CCAR-23和CCAR-25在适用范围、设计标准、性能要求、运行限制、安全冗余和环境适应性方面的差异,我们可以看出,CCAR-23适用于轻型飞机,开发和运营成本较低,设计要求相对简单。而CCAR-25适用于大规模运输飞机,设计、开发、测试和运营管理都需要更高的复杂性和投入。

qq_41854911的博客 3704

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

I2S基础学习

I2S基础学习

PC的博客 2217

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【蓝牙协议栈】精讲蓝牙PCM和URAT!图解超赞超详细!!!

在蓝牙通信中,PCM和UART是两种不同的数据传输接口,用于连接蓝牙模块和其他设备。

风云说通信 4900

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

WAV音频信号文件的相关知识

前言 本次毕业设计的初步设想是想通过C语言解析并提取出wav格式文件的相关元数据,然后设计一种文本型的数据保存得到的wav文件的采样数据,最后再通过C将此种文本数据还原为wav文件。接下来本篇文章便是对wav文件格式进行相应的了解。 WAV音频信号文件 1、wav文件的概念 WAV是最常见的声音文件格式之一,是微软公司专门为Windows开发的一种标准数字音频文件,该文件能记录各种单声道或...

aa98865646的博客 2188

Linux ALSA声卡驱动之三:PCM…

声明:本博内容均由http://blog.youkuaiyun.com/droidphone原创,转载请注明出处,谢谢! 1. PCM是什么 PCM是英文Pulse-code modulation的缩写,中文译名是脉冲编码调制。我们知道在现实生活中,人耳听到的声音是模拟信号,PCM就是要把声音从模拟转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样,采样后的信号在波

shangyaowei的专栏 530

PCM编码器与PCM解码器的MATLAB实现及性能分析:深入理解数字音频编码

PCM编码器与PCM解码器的MATLAB实现及性能分析:深入理解数字音频编码 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 PCM编码器与PCM解码器的MATLAB实现及性能分析是一个基于MATLAB环境的课程设计项目。该项目旨在通过MATLAB的Simulink仿真平台,构建PCM编码与解码系统,深入探讨PCM技术的原理和实际应用,从而加深对数字音频信号处理的理解。...

gitblog_06756的博客 922

Android音频学习(二十二)——音频接口

PCM 既指模拟信号数字化的编码方式(脉冲编码调制),也指一种数字音频接口标准,广泛用于多通道、高保真音频传输。S/PDIF 全称为是面向消费电子设备的数字音频传输协议,支持长距离传输,常用于连接 CD/DVD 播放器、功放和家庭影院系统。特性I2SPCMS/PDIF传输距离短(<30cm)短(<1m)长(同轴10m,光纤30m)数据格式未压缩 PCM未压缩 PCM(多通道)压缩/未压缩(PCM、Dolby)声道支持立体声(TDM 扩展多通道)多通道(如 8 声道 TDM)

miemie2014的博客 1447
上一篇: Python 索引报错:TypeError: byte indices must be integers or slices, not tuple
下一篇: Python 二进制:‘\x‘、‘0x‘ 和 little endian、big endian
Robin_Pi
博客等级 码龄9年 2万+粉丝 632原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值