音频的关键参数详解

1、声道数:声道数是音频传输的重要指标,现在主要有单声道和双声道之分。双声道又称为立体声,在硬件中要占两条线路,音质、音色好,但立体声数字化后所占空间比单声道多一倍。

2、量化位数:量化位是对模拟音频信号的幅度轴进行数字化,它决定了模拟信号数字化以后的动态范围。由于计算机按字节运算,一般的量化位数为8位和16位。量化位越高,信号的动态范围越大,数字化后的音频信号就越可能接近原始信号,但所需要的存贮空间也越大。

3、采样频率:采样频率这个专业术语是指一秒钟内采样的次数。采样频率的选择应该遵循奈奎斯特(Harry Nyquist)采样理论(如果对某一模拟信号进行采样,则采样后可还原的最高信号频率只有采样频率的一半,或者说只要采样频率高于输入信号最高频率的两倍,就能从采样信号系列重构原始信号)。
4、 码率
比特率也叫码率,指音乐每秒播放的数据量,单位用bps表示。

nrf52上开发音频的外设接口:I2S

I2S(Inter—IC Sound)总线, 又称集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准。
在飞利浦公司的I2S标准中,既规定了硬件接口规范,也规定了数字音频数据的格式。
I2S有3个主要信号
1.串行时钟SCLK,也叫位时钟(BCLK),即对应数字音频的每一位数据,SCLK都有1个脉冲。SCLK的频率=2×采样频率×采样位数。
2. 帧时钟LRCK,(也称WS),用于切换左右声道的数据。LRCK为“1”表示正在传输的是右声道的数据,为“0”则表示正在传输的是左声道的数据。LRCK的频率等于采样频率。
3.串行数据SDATA,就是用二进制补码表示的音频数据。
有时为了使系统间能够更好地同步,还需要另外传输一个信号MCLK,称为主时钟,也叫系统时钟(Sys Clock),是采样频率的256倍或384倍。
串行数据(SD)
I2S格式的信号无论有多少位有效数据,数据的最高位总是出现在LRCK变化(也就是一帧开始)后的第2个SCLK脉冲处。这就使得接收端与发送端的有效位数可以不同。如果接收端能处理的有效位数少于发送端,可以放弃数据帧中多余的低位数据;如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位。这种同步机制使得数字音频设备的互连更加方便,而且不会造成数据错位。
随着技术的发展,在统一的 I2S接口下,出现了多种不同的数据格式。根据SDATA数据相对于LRCK和SCLK的位置不同,分为左对齐(较少使用)、I2S格式(即飞利浦规定的格式)和右对齐(也叫日本格式、普通格式)。

音频压缩算法

通常音频采集的音频压缩算法是音频数据能在nrf52上进行无线传输的一种重要

在nrf52的音频开发相关推荐

  1. Android音频开发(4):如何存储和解析wav文件

    2019独角兽企业重金招聘Python工程师标准>>> 无论是文字.图像还是声音,都必须以一定的格式来组织和存储起来,这样播放器才知道以怎样的方式去解析这一段数据,例如,对于原始的图 ...

  2. 音频开发中常见的四个错误

    以下内容主要为音频开发人员所编写,但同样也能为其他领域并与此相关的开发者带来帮助.在下文当中我将介绍针对开发人员的诊断工具,并分享常见的四个错误以及如何检测问题是否存在并做得更好. 文 / Micha ...

  3. Android音频开发(3):如何播放一帧音频

    本文重点关注如何在Android平台上播放一帧音频数据.阅读本文之前,建议先读一下<Android音频开发(1):基础知识>,因为音频开发过程中,经常要涉及到这些基础知识,掌握了这些重要的 ...

  4. 音频开发基本知识总结

    音频开发基本知识总结 一.音频的基本概念 1.采样率:(也称为采样速度或者采样频率)定义了每秒从连续信号中提取并组成离散信号的采样个数,单位用赫兹(Hz)来表示.采样频率的倒数是采样周期(也称为采样时 ...

  5. Android音频开发(七)音频编解码之MediaCodec编解码AAC下

    在上一篇初识MediaCodec中,我们认识了MediaCodec,知道了MediaCodec的基本工作流程和开发注意事项,这一篇我将讲述如何利用MediaCodec编解码AAC. 1:MediaCo ...

  6. Android音频开发(六)音频编解码之初识MediaCodec上

    前五篇我们介绍了关于音频的基础知识,今天来讲述一下音频的重点和难点部分,这一节依然是分上下俩个节点,深入讲述Android音频开发的编解码技术. 1.MediaCodec 介绍 MediaCodeC是 ...

  7. Android音频开发(五)如何存储和解析最简单的音频wav文件

    我们大家都知道,无论是文字.图像还是声音,都必须以一定的格式来组织和存储起来,然后其它的软件再以相同的协议规则,相应的格式才能去打开解析这一段数据,例如,对于原始的图像数据,我们常见的格式有 YUV. ...

  8. Android 音频开发(四) 如何播放一帧音频数据下

    再看这一篇文章前,如果你是小白,我建议你先看一下Android 音频开发(一) 基础入门篇这一篇.今天继续讲解如何通过Android SDK自带API实现播放一帧音频数据. 我们都知道,Android ...

  9. Android 音频开发(三) 如何播放一帧音频数据上

    上一篇只要介绍了如何采集一帧音频,本篇就讲述如何播放一帧音频数据,这一篇我将分倆篇来详细介绍. Android SDK 提供了3套音频播放的API,分别是:MediaPlayer,SoundPool, ...

最新文章

  1. PyTorch Cookbook(常用代码合集)
  2. 阿里面试官:接口的幂等性怎么设计?
  3. ajax交互json数据
  4. TypeMock是很不错的模拟测试框架
  5. AutoMapper 入门
  6. 隔空互撕!李想炮轰团车造车是“骗子”,团车CEO回怼:别把自己当先知
  7. iis服务器发布web项目,webservice创建、发布及在IIS上部署
  8. java bit mask_位掩码(Bit Mask)的应用
  9. 计算机ppt实训报告总结,计算机实训总结模板
  10. SAP中英文转换--中文转英文
  11. iOS 应用内直接评分问题
  12. 五位创想者,讲述五个非典型创业故事
  13. HR-Saas(二):登录模块
  14. IT行业吸引人的十大原因:高薪的诱惑+成就感
  15. 虚拟机无法启用 虚拟化引擎 Inter VT-x/EPT,mumu模拟器报错Hyper-v 开启,无法启动模拟器
  16. 网络安全之暴露面、攻击面、脆弱性
  17. 液化石油气采样钢瓶标准取样流程
  18. tar.gz文件命名及压缩解压方法
  19. 多线程|pi2.c 使用N个线程根据莱布尼兹级数计算PI
  20. 关于maven-jar-plugin报红在IDEA中配置Maven时,总是遇到org.apache.maven.plugins:maven-clean-plugin:2.4这样报错。而且一报就是全红

热门文章

  1. 记录--Vue自定义指令实现加载中效果v-load(不使用Vue.extend)
  2. Android USB OTG U盘读写相关使用最全总结
  3. 「衣米魔兽」魔兽世界怀旧服2019年年度礼品发放通知
  4. 删除了魔兽,再次开始了blog……
  5. 【病虫害识别】基于matlab GUI SVM病虫害识别系统【含Matlab源码 2429期】
  6. 关于云连动态ip使用教程
  7. Mac安装VM虚拟机
  8. Android保活之循环播放无声音乐
  9. 互动河马按钮(interactive hippo button)
  10. 《vue全家桶》移动端博客-文章推荐(3)