嵌入式音频知识点记录

这篇具有很好参考价值的文章主要介绍了嵌入式音频知识点记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

音频培训

音频软件

音频存储

PCM
  • PCM是英文“Pulse Code Modulation”的缩写,中文意为“脉冲编码调制”。它是一种数字信号处理技术,用于将模拟信号转换为数字信号,常用于音频编码和传输
音频参数
采样率
  • 采样率:是指每秒电信号采集数据的频率,常见的音频采样率有8000HZ,16000HZ,44100HZ,48000HZ,96000HZ等。
  • 采样率越大,音频细节越丰富,,越细腻。如果音频的变化最小单位是441000hz,我们为了存储大小或者单片机输出性能降低了采样,以8000hz表示一个波形,那波形的一些细节就会丢失,比如说一些小尖峰就没有被8000hz采样到,造成细节的丢失。
采样位深
  • 采样位深:表示每个电信号用多少位来存储,例如8位的采样位深能够划为的等级位256份,人耳的可识别声音频率为20-20000hz,那么每个位的误差就达到了80HZ,这对音频的还原度大幅降低,但是它的大小相应的也减小了,更有利于音频传输。早期的电话就使用的比较低的采样率来达到更稳定的通话质量。如果16位位深就能精准采样每一HZ。对于采样位深其实也并没有简单的8位/16位/32位这么简单,对于计算机来讲16位既可以用short表示也可以用16位int表示,32位既可以用32位int表示也可以用32位float表示,除此之外还有有符号和无符号之分,所有对于在编解码的时候对于这个我们也需要注意。
  • 位深越大,音质也是越细腻。从程序理解,即一个音频点 电压是123.45mv adc采样回来是123mv,dac的位深表达只能100 110 120 130,所以这里dac的还原只能还原成120mv输出回去,这就造成一定的失真。
采样通道
  • 采样通道:常见的有单通道还是双通道,双通道能帮我们区分左右耳的声音,单通道的话两只耳朵都是一样的声音。通常我们追求立体感会使用双通道,所以双通道采集的声音也叫立体声。
  • 音频PCM估算例子:那么我们生成一段时长为10S,采样率44100hz,采样位数为16位,通道数为两位的PCM文件所要占的磁盘大小(单位bit)为:44100162*10。
WAV
  • WAV只解决了PCM数据没有存储录制格式的问题,解决办法也相当简单粗暴,直接在PCM的头部加上录制格式的信息,这些信息占用固定的44字节。所以WAV占用空间上非但没有比PCM数据小,反而大出44个字节,以下解析44字节。
    嵌入式音频知识点记录,音视频
  • 其他压缩存储格式后续补充

软件播放

  • 软件音频播放方式有多种,i2s、dac。
i2s
  • i2s是一个传输音频的有线通讯制式,mcu通过i2s将pcm发给dsp ic 进行高质量的音频dac还原。
    嵌入式音频知识点记录,音视频
dac

例程文章
嵌入式音频知识点记录,音视频

  • dac就是以pcm确定的频率、位深,去还原音频。
  • 将麦克风adc采集的数字信号,以同样的频率同样的位深,dac输出回去
  • 举例:时长为10S,采样率44100hz,采样位数为16位。定义一个定时器频率44100hz,定义一个位深16位的dac,定时器按频率刷新dac的输出值,即可还原音频。
音频波形介绍
  • 音调
    • 波形图的多少即波形的疏密程度(相同时间内振动的快慢)指音调;
  • 响度
    • 波形图的高低即波形图的最高点和最低点的垂直距离(振幅大小)指响度;
  • 音色
    • 波形图的形状即波形图上细小的波形差距指音色。
  • 以下例子辅助理解

嵌入式音频知识点记录,音视频

dac软件开发技巧
  • 软件调音量
  • 根据上述对音量的理解,我们知道一个采样点22mv,如果变22mv * 2,代表这个点的响度*2,如果将一段波形的额所有采样点同时 * 2,即代表着音量的放大。
  • 音频播放器程序设计时dac的输出可以预留一句gain的乘法运算,可用作音频调大调小。
  • 小位深dac表达大位深音源
  • 如果一个单片机的外设dac位深只支持12位,但有一个16位深的目标音频输出,如何处理。如下:0b 1111 2222 3333 44444,这是音频的输出位深16位的数据采样点,我们可以做右移变成 0b 1111 2222 3333 做dac 12位输出,这会让采样细节丢失,但是是一个快速的音频音量大小的调整方法,也是一个直白的16位采样转12位采样的方法。
  • 疑问:16bit转12bit为以下做法:
            p[i] = p[i] + 0x8000;                         // 16bit dac 数据为补码形式的,需要进行处理+0x8000
            p[i] = p[i] >> (4 + driverPlayerInfo.volume); // num 一般为4 右移4位剩下12bit dac数据
音频播放器设计
  • 设计要点
    1. 音频搬运到缓存
    2. 缓存输出dac
  • 设计前提:搬运的速度一定要比音频输出速度要快,不然一切设计不成立。
  • 设计细节:
    • 初始化
      1. 初始化AB区缓冲。
      2. 初始化频率硬件定时器做dac输出
      3. 搬运方式的确定,spi直接搬运或者定义dma搬运
    • 播放逻辑:
      1. 触发播放时,先到flash做文件校验和长度确定
      2. 先搬运A区B区,开始触发定时器输出。
      3. 每次一个区域dac输出完成,会切换下个区域进行dac切换,且当前的区域启动覆盖读取。
音源制作
  • 使用adble audition 2020 软件
转格方法

嵌入式音频知识点记录,音视频
嵌入式音频知识点记录,音视频

降噪

嵌入式音频知识点记录,音视频

音频硬件

嵌入式音频知识点记录,音视频

PA

  • 功率放大器,简称功放。

参考文章文章来源地址https://www.toymoban.com/news/detail-845722.html

调试

  • 喇叭两端可以接音频低通滤波板,还原出音源波形,观察输出情况是否削顶。

音频结构

喇叭

原理
内置音腔
外置音腔

音频调试经验

音量

  • 音量调大的途径有四,音源,软件,硬件,结构。
音源
  • 以下音源调大音量的方式:
    嵌入式音频知识点记录,音视频
软件
  • dac左移放大
硬件
  • PA放大倍数增大
结构
  • 内置音腔换外置音箱,扩大音腔
  • 更换喇叭位置,放置需要开孔的箱体,或直接暴露在外。

噪声

  • 底噪
    1. 音源因采样过分调低,导致引入底噪。(8000hz容易引起)。
    • 判断方式:直接电脑播转格后的音源,有底噪就是音源出问题,要处理。
    1. 软件。跳过硬件直接抓输出波形。看是否是过分放大导致削顶。
    2. 硬件PA引入。音频滤波板还原。看是否是过分放大导致削顶。
  • 削顶是指波形经过各级放大,前端输出范围已经不满足,所以有些波形会被削去顶部。
    嵌入式音频知识点记录,音视频
  • 找问题,直接用1k正弦波音频找,简化波形看问题。
  • 硬件PA如果无法把底噪去的特别好,软件可以做的优化操作是,播放前使能PA,播完失能。
  • 爆破声/咔声
    • 一般是软件引入,看是否读取出错,获取播了空区。

到了这里,关于嵌入式音频知识点记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 嵌入式系统>嵌入式硬件知识

    AI芯片的特点包括 :新型计算范式AI芯片的关键特征: 1、新型的计算范式 AI 计算既不脱离传统计算,也具有新的计算特质,如处理的内容往往是非结构化数据(视频、图片等)。处理的过程通常需要很大的计算量,基本的计算主要是线性代数运算,而控制流程则相对简单。

    2024年02月08日
    浏览(55)
  • 嵌入式音频开发:Codec芯片ES8311的驱动开发

    嵌入式音频开发:Codec芯片ES8311的驱动开发 随着物联网和嵌入式系统的快速发展,嵌入式音频设备的需求也越来越高。Codec芯片作为嵌入式音频处理的核心组件之一,能够实现音频采集、编码、解码等功能。本文将重点介绍如何进行Codec芯片ES8311的驱动开发,以满足嵌入式音频

    2024年02月04日
    浏览(53)
  • 嵌入式音频开发:ES8311驱动开发及源代码解析

    嵌入式音频开发:ES8311驱动开发及源代码解析 嵌入式系统在现代科技应用中起着重要的作用,而其中音频开发更是一个关键领域。本文将重点讨论如何开发 ES8311 驱动程序,并提供相应的源代码。 一、ES8311芯片概述 ES8311 是一款集成了低功耗立体声CODEC功能的音频编解码芯片

    2024年01月18日
    浏览(168)
  • 嵌入式操作教程_数字信号处理_音频编解码:3-6 AAC音频解码实验

    了解AAC音频格式,掌握AAC音频解码的原理,并实现将AAC格式的音频解码为PCM 音频编解码的主要对象是音乐和语音,音频的编解码格式可分为无压缩的格式、无损压缩格式、有损音乐压缩格式、有损语音压缩格式和合成算法。本实验中使用的AAC格式属于有损音乐压缩格式。音频

    2024年04月15日
    浏览(67)
  • 嵌入式开发——基础电路知识

    IC是数字逻辑芯片,其输出的是逻辑电平。逻辑电平0表示输出电压低于阈值电压,逻辑1表示输出电压高于阈值电压。负载则是被驱动的电路或元件,负载大小则指负载的电阻大小。 驱动能力主要表现在几个方面: 负载能力:负载过大表现为外部负载的阻值过小,在电压不变

    2024年04月11日
    浏览(56)
  • 嵌入式基础知识-总线带宽

    带宽,最容易想到的是上网用的网络带宽,在嵌入式软件开发中,也会用到带宽,这个带宽的含义就不一样了,区别是什么?本篇就来介绍一下,并通过一些例子来进行带宽的计算。 先来简单看下不同领域的带宽: 显示器中的带宽,单位是MHz,是一个频率的概念 通讯领域的

    2024年02月13日
    浏览(47)
  • 嵌入式硬件基础知识——1

    目录 SOC、MCU、MPU、CPU SPI STM32的时钟系统 can是什么 串口和并口 传感器输出引脚高阻抗好还是低阻抗好? iic 运算放大器特点 MOS管和三极管 同步电路和异步电路         SOC 片上系统  手机的核心芯片         MCU 微控系统  单片机         MPU 嵌入式微处理器    

    2024年02月05日
    浏览(50)
  • 嵌入式基础知识-DMA

    本篇来介绍DMA的一些基础知识。 DMA(Direct Memory Access),中文名为直接内存访问,它是一些计算机总线架构提供的功能,能使数据从附加设备(如磁盘驱动器)直接发送到计算机主板的内存上。对应嵌入式处理器来说,DMA可以提供外设和存储器之间,或存储器与存储器之间的高

    2024年02月09日
    浏览(43)
  • 嵌入式必备的WEB知识

    嵌入式要学习Wed前端吗?答案是要的,不需要深入学习,只需要简单了解即可。为什么要学习? 原因如下: 可以远程控制和管理设备:通过简单的Web知识,嵌入式系统可以建立Web界面,使得用户可以通过浏览器进行远程控制和管理设备,无需直接连接物理接口。 显示和呈现

    2024年01月19日
    浏览(45)
  • 嵌入式系统课程设计——温度记录仪

    课程设计目录 一、嵌入式系统基础实验  二、项目需求分析 三、实验方案设计 四、实验程序设计  五、成本核算情况 八、完成情况与问题分析 九、学习心得 一、嵌入式系统基础实验 1.1实验平台的使用 图1 建立新工程图片 图2 选择lpc1114芯片图片 图3 选择头文件图片 图4 编

    2024年02月10日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包