嵌入式音频播放的实现
来源:互联网 发布:写歌的软件 编辑:程序博客网 时间:2024/05/23 01:24
1.PCM(脉冲编码调制)技术及声波的数字化
我们知道声音是一种连续变化的波形,是模拟信号,而我们的计算机或者说MCU存储及使用的都是二进制数字信号,所以我们需要对声音信号进行一些处理,这里便使用到了PCM技术,即脉冲编码调制,该技术属于通信原理或数字信号处理相关理论范畴,相关知识可以搜索脉冲编码调制关键字查看相关课件进行了解,不过需要一些相关理论知识,否者看不懂。
如图是一个使用PCM技术的将模拟信号转换成数字信号传输的系统方框图,现在我们主要看A/D模数转换区间内的内容,因为我们的音频数据就是根据这个过程得到的。这里我们需要解决三个部分的问题即采样频率、量化位数以及编码方式。
采样频率
常用有1025Hz(11kHz) ,22050Hz(22kHz), 44100Hz(44kHz) 三种,我们知道人耳能够听到的声波频率为0~20kHz,根据抽样定理,我们需要大于等于两倍于声波频率的采样频率采样才能还原出原有的波形,所以对于声音采样为44kHz已经可以覆盖人耳可听到的声波范围。
量化位数
常用有8位、16位、24位,注意这里是二进制权,即8位实际表示来量化精度或者说量化间隔为1/256。
编码方式
数字通信系统中编码是为了更好的传输,而我们这里是为了便于使用和存储,因为编码方式不同就形成了不同格式的音频文件。
声道
我们知道声道是为了模拟人对声音的立体感,他是基于双耳效应的,它是音频所特有的,由于他是对双耳效应的模拟,我们一般是单声道输入,双声道输出,实际对于音频数据来讲就是将单声道的数据倍份为两份。
阅读全文
0 0
- 嵌入式音频播放的实现
- iOS音频播放 (六):简单的音频播放器实现
- iOS音频播放 (六):简单的音频播放器实现
- iOS音频播放 (六):简单的音频播放器实现
- iOS音频播放 (六):简单的音频播放器实现
- iOS音频播放 (六):简单的音频播放器实现
- MTK 音频播放器的实现
- 通过脚本来实现音频的播放
- iOS 简单实现音频的播放
- 关于ios播放音频的简单实现
- 后台音频播放的另类实现
- Android音频播放器的实现
- 简单实现网络的音频播放
- Qt音频利用Phonon实现简单的音频播放
- HTML5实现音频播放
- waveout**实现音频播放
- Android实现播放音频
- android 音频播放 以及 二维码模块中音频播放和震动(vibrate)的实现
- 使用RTL-SDR和Matlab Simulink玩转软件无线电(十九)
- 迭代与递归的区别
- ActiveMQ(二)--ActiveMQ基本介绍
- 【LeetCode】Integer to Roman 和 Roman to Integer 解题报告
- ORA-27054: NFS file system where the file is created or resides is not mounted with correct options
- 嵌入式音频播放的实现
- qt 优秀开源demo网址
- C++强制类型转换:static_cast,dynamic_cast,const_cast,reinterpret_cast
- ImageLoaderDemo 图片框架的一个案例
- 剑指offer——二维数组中的查找
- 【STL】vector用法
- windows下的django开发环境搭建
- 2017_7_14 float、盒子、第一次做静态网页心得
- IO读写