PCM(Pulse Code Modulation)也被称为脉码编码调制。PCM中的声音数据没有被压缩,如果是单声道的文件,采样数据按时间的先后顺序依次存入。关于PCM的详细细节可以参考http://blog.csdn.net/yue7603835/article/details/42029647。

因为PCM没有压缩,它一定满足一个公式:capacity(bit) = time(s)*(16/8 bit/point)*n(point/s)*(L/R),最左边表示容量,位为单位;time单位是音频持续时间,秒为单位;采样位数跟一个点的采样精度有关,为1字节8位,或者2字节16位;n是采样率,即一秒钟才用多少个点;L/R表示是立体声还是单声道,前者是2后者是1。所以当我们对一段音频的采样率不太确定时,根据录制的音频文件的大小,时间,采样率和采样精度等参数,可以反推出采样率的多少。

分析PCM raw声音文件,可借助PCM分析工具Audacity,声音内容和幅度都可以用波形表现出来 。PCM接口定义(PCM-clock、PCM-sync、PCM-in、PCM-out)脉冲编码调制,模拟语音信号经过采样量化以及一定数据排列就是PCM了。理论上可以传输单声道,双声道立体声和多声道,是数字音频的raw data。

===============================I2S音频 ===============

I2S有3个主要信号:

1.串行时钟SCLK,也叫位时钟(BCLK),即对应数字音频的每一位数据,SCLK都有1个脉冲。SCLK的频率=2×采样频率×采样位数

2. 帧时钟LRCK,用于切换左右声道的数据。LRCK为“1”表示正在传输的是左声道的数据,为“0”则表示正在传输的是右声道的数据。LRCK的频率等于采样频率,所以播放不同的wav文件,LRCK和BCLK都可能是不同的。

3.串行数据SDATA,就是用二进制补码表示的音频数据。I2S(Inter-IC Sound Bus)是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准。在飞利浦公司的I2S标准中,既规定了硬件接口规范,也规定了数字音频数据的格式。有时为了使系统间能够更好地同步,还需要另外传输一个信号MCLK,称为主时钟,也叫系统时钟(Sys Clock),是采样频率的256倍或384倍。

随着技术的发展,在统一的 I2S接口下,出现了多种不同的数据格式。根据SDATA数据相对于LRCK和SCLK的位置不同,分为左对齐(较少使用)右对齐(也叫日本格式、普通格式)I2S格式(即飞利浦规定的格式)。这些格式如上说描述,综上为了保证数字音频信号的正确传输,发送端和接收端应该采用相同的数据格式和长度。三种信号的概略图如下:

对于第三种I2S格式,信号无论有多少位有效数据,数据的最高位总是出现在LRCK变化(也就是一帧开始)后的第2个SCLK脉冲处(如上)。这就使得接收端与发送端的有效位数可以不同。如果接收端能处理的有效位数少于发送端,可以放弃数据帧中多余的低位数据;如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位。这种同步机制使得数字音频设备的互连更加方便,而且不会造成数据错位。

参考原文:I2S标准_i2s接收到全是0_besthyq的博客-CSDN博客

PCM音频 I2S音频相关推荐

  1. I2S/PCM接口及音频codec

    目录 1.I2S接口及时序 1.1 I2S接口信号 1.2 I2S接口时序 2. PCM(TDM)接口 2.1 PCM(TDM)接口信号 2.2 PCM接口时序 3.audio codec 1.I2S ...

  2. tinymix调试音频i2s

    tinymix调试音频i2s 2018年07月19日 20:30:31 康师傅的技术小站 阅读数:756 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.ne ...

  3. PCM EQ DRC 音频处理关键词

    PCM EQ DRC 音频处理关键词 2017年09月01日 15:02:00 幽州刺客 阅读数:1880 PCM Pulse-code modulation的缩写,中文译名是脉冲编码调制.(I2S仅 ...

  4. 第38章 I2S—音频播放与录音输入—零死角玩转STM32-F429系列

    第38章     I2S-音频播放与录音输入 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/ ...

  5. I2S音频总线学习(二)I2S总线协议

    I2S音频总线学习(二)I2S总线协议 一.I2S总线概述 音响数据的采集.处理和传输是多媒体技术的重要组成部分.众多的数字音频系统已经进入消费市场,例如数字音频录音带.数字声音处理器.对于设备和生产 ...

  6. Android多媒体之SoundPool+pcm流的音频操作

    零.前言 今天比较简单,先理一下录制和播放的四位大将 再说一下SoundPool的使用和pcm转wav 讲一下C++文件如何在Android中使用,也就是传说中的JNI 最后讲一下变速播放和变调播放 ...

  7. mp3 pcm java_Java mp3转码pcm 与 切割音频

    需求1: 调用语音听写接口, 类似百度要pcm格式音频, 但是发现百度给的mp3转pcm的demo转出的音频识别错误, 不知道我是不是copy错哪里了... 需求2: 大量音频需要切分成多个小句子(参 ...

  8. PCM和WAV音频格式的区别,以及python自动转换

    目录 WAV和PCM的简单介绍 PCM WAV 关于音频的基础知识 声道数channels 采样位数bits 采样频率sample_rate 进阶内容 互相转换代码 WAV和PCM的简单介绍 PCM ...

  9. 基于C语言实现PCM音频流或音频文件重采样(48K到16K)

    基于C语言实现PCM音频流或音频文件重采样(48K到16K) 由于云厂商SDK需要的音频采样率是16K的,而SFU回调上来的流是48K的,所以我们还需要对PCM音频数据进行重采样处理. ​ 转换的原理 ...

最新文章

  1. Android应用系列:完美运行GIF格式的ImageView(附源码)
  2. java B2B2C Springcloud电子商城系统-Ribbon设计原理
  3. python打开另一个程序_python 新手问题啊,为什么我运行一个python程序,另一个就会自动退出呢?始终只能运行一个...
  4. java版b2b2c社交电商spring cloud分布式微服务(二) 服务消费者(rest+ribbon)
  5. tcp状态机-三次握手-四次挥手以及常见面试题
  6. C语言入门基础——Brute-Force算法
  7. 51单片机基本刷屏测试实验_51单片机实验
  8. Alpha冲刺阶段博客汇总
  9. 使用Flink集群环境进行数据处理
  10. 你需要知道的基础算法知识——STL和基础数据结构(六)
  11. 基于JAVA+SpringMVC+Mybatis+MYSQL的航班预订系统
  12. java dom4j 写xml文件_Java实现——Dom4j读写XML文件
  13. 【目标定位】基于matlab粒子滤波目标定位仿真【含Matlab源码 129期】
  14. java linq select_Java 8是否还需要LINQ?还是已经比LINQ 更好?
  15. java helloworld源代码_Java Hello World源代码剖析
  16. SQL分组排序再取前N条记录
  17. 福州船政计算机专业多少钱,福建船政交通职业学院怎么样排名多少?特色专业?录取分数线及收费...
  18. SCANV团队预警APPCMS漏洞并提供独立补丁
  19. Android 编译优化
  20. Linux信号量(3)-内核信号量

热门文章

  1. sketchup渲染插件有哪些?哪个好用?
  2. Intellij IDEA 将.java文件识别成文本文档
  3. python预测子女身高_Python 孩子身高预测
  4. Getshell总结
  5. 使用 JavaScript 添加时间
  6. 零基础如何入门嵌入式领域
  7. 3G终端变局:安卓崛起 联通高调摆脱苹果
  8. 做量化交易需要了解的国外在线量化平台有哪些?
  9. nodejieba的配置(windows)
  10. 用通俗易懂的方式讲解:决策树模型及案例(Python 代码)