PCM音频 I2S音频
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音频相关推荐
- 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 ...
- tinymix调试音频i2s
tinymix调试音频i2s 2018年07月19日 20:30:31 康师傅的技术小站 阅读数:756 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.ne ...
- PCM EQ DRC 音频处理关键词
PCM EQ DRC 音频处理关键词 2017年09月01日 15:02:00 幽州刺客 阅读数:1880 PCM Pulse-code modulation的缩写,中文译名是脉冲编码调制.(I2S仅 ...
- 第38章 I2S—音频播放与录音输入—零死角玩转STM32-F429系列
第38章 I2S-音频播放与录音输入 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/ ...
- I2S音频总线学习(二)I2S总线协议
I2S音频总线学习(二)I2S总线协议 一.I2S总线概述 音响数据的采集.处理和传输是多媒体技术的重要组成部分.众多的数字音频系统已经进入消费市场,例如数字音频录音带.数字声音处理器.对于设备和生产 ...
- Android多媒体之SoundPool+pcm流的音频操作
零.前言 今天比较简单,先理一下录制和播放的四位大将 再说一下SoundPool的使用和pcm转wav 讲一下C++文件如何在Android中使用,也就是传说中的JNI 最后讲一下变速播放和变调播放 ...
- mp3 pcm java_Java mp3转码pcm 与 切割音频
需求1: 调用语音听写接口, 类似百度要pcm格式音频, 但是发现百度给的mp3转pcm的demo转出的音频识别错误, 不知道我是不是copy错哪里了... 需求2: 大量音频需要切分成多个小句子(参 ...
- PCM和WAV音频格式的区别,以及python自动转换
目录 WAV和PCM的简单介绍 PCM WAV 关于音频的基础知识 声道数channels 采样位数bits 采样频率sample_rate 进阶内容 互相转换代码 WAV和PCM的简单介绍 PCM ...
- 基于C语言实现PCM音频流或音频文件重采样(48K到16K)
基于C语言实现PCM音频流或音频文件重采样(48K到16K) 由于云厂商SDK需要的音频采样率是16K的,而SFU回调上来的流是48K的,所以我们还需要对PCM音频数据进行重采样处理. 转换的原理 ...
最新文章
- 轻松搭建基于 Serverless 的 ThinkPHP 应用
- 珠心算测试(c++版)
- RPG+模拟经营,《喧嚣的城堡》如何做闭环设计?
- 机器学习 K-means算法_0(Matlab实现)
- Zeppelin-源码编译
- css 浮动和清除浮动
- Python matplotlib绘制直方图
- Java高并发编程详解系列-ThreadAPI简单说明
- 看懂友盟指数,洞察移动行业大趋势
- python访问oracle_用Python操作Oracle
- 没想明白:JAVA的char是2字节,如何实现18030的4字节?
- Winxp系统文件夹完全解析
- Java修改Windows注册表
- c语言学习——设圆半径r = 1.5,圆柱高h = 3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积
- java 异常 ppt_Java程序设计基础与实践 第6章 异常处理.ppt
- ret-sync插件:windbg/ollydbg+ida逆向调试神器
- 使用maven打war包时报[ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war...
- Python中的切片
- flameshot 安装和卸载
- QA11 QA32增强
热门文章
- 杭电考研经验贴———报考计算机专业,慎重!!!
- 【已更新】万能门店小程序独立版V5.1二开完整版 无限DIY+不限制小程序生成数量+数10款插件
- 天涯共此时--中秋赏古诗
- python怎么算反三角函数_python弧度制转换 三角函数 反三角函数 双曲 反双曲 sin cos tan asin acos atan asinh acosh atanh atanh2...
- 百度谷歌一起搜 - 百Google度 - Chrome插件
- 创意电子学-小知识:面包板
- AE使用Keylight抠出人物身体教程-AE 人物抠像中文视频教程
- Revit中如何将项目导出网页打开和批量导出CAD格式
- 如何查看office是否是永久激活
- windows server 硬盘满了怎么清理?