0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于SYSBIOS系统如何将PCM格式的音频编码为MP3格式?

冬至子 来源:创龙教仪-木江鹏 作者:创龙教仪-木江鹏 2023-08-09 16:53 次阅读

2、实验原理

音频编解码的主要对象是音乐和语音,音频的编解码格式可分为无压缩的格式、无损压缩格式、有损音乐压缩格式、有损语音压缩格式和合成算法。本实验中使用的MP3格式属于有损音乐压缩格式。音频编解码的目的是减少传输的信息量和减少储存的信息。

image.png

MP3是一种音频压缩技术,能够在音质丢失很小的情况下把文件压缩到更小的程度,而且还非常好的保持了原来的音质。描述信源的数据是信息和数据冗余之和,将音频作为一个信源,音频编码的实质是减少音频中的冗余。通常情况下,我们采用的是脉冲代码调制编码。PCM通过抽样、量化、编码三个步骤将连续变化的模拟信号转换为数字信号

image.png

MP3编码一般会使用libmp3lame库,这是一个开源的MP3编码库。使用lame库只需要包含lame.h头文件即可。通过lame库实现MP3编码的流程是初始化编码参数、设置编码参数、初始化编码器、编码PCM数据、结束编码,最后销毁编码器。

image.png

我们来详细了解下lame库提供的各种参数设置的接口。首先看下初始化编码参数的接口lame_init,这个接口可以用来设置参数。

image.png

然后看下编码参数设置的相关接口。
第一个是设置设置被输入编码器的原始数据的采样率
第二个是设置最终MP3编码输出的声音的采样率,如果不设置则和输入采样率一样
第三个是设置被输入编码器的原始数据的声道数
第四个是设置最终MP3编码输出的声道模式,如果不设置则和输入声道数一样。

image.png

第五个是设置比特率控制模式,默认是CBR,但是通常我们都会设置VBR
第六个是设置CBR的比特率,只有在CBR模式下才生效
第七个是设置VBR的比特率,只有在VBR模式下才生效

image.png

接着看一下初始化编码器的接口,根据设置好的参数建立编码器

image.png

然后调用接口将PCM数据送入编码器,获取编码出的MP3数据。本实验中的双声道数据是交错在一起输入的,所以使用lame_encode_buffer_interleaved接口。

image.png

编码结束前需要刷新编码器缓冲,获取残留在编码器缓冲里的数据。

image.png

最后,编码结束后要销毁编码器释放资源。

image.png

本实验中的MP3音频编码是基于SYSBIOS系统下完成的。SYS/BIOS 是一个可扩展的实时的操作系统,具有非常快速的响应时间,可以最大限度地减少对内存和CPU的要求,并且能够实现系统的模块化并可裁剪。

image.png

静态创建任务的方法是通过在cfg Script脚本语言中添加相应的配置语句实现的,通过调用 Task_create()创建任务。
var Task = xdc.useModule('ti.sysbios.knl.Task');
var task0Params = new Task.Params();

task0Params.instance.name = "task0";
Program.global.task0= Task.create("&taskMain", task0Params);

3、操作现象

硬件接口
本实验使用的硬件接口为SD卡座,所需硬件为实验板、仿真器电源、SD卡和读卡器。

硬件连接
将工程目录下的song.pcm文件拷贝到SD卡后,把SD卡插入卡槽内。
连接仿真器和电脑USB接口。
将拨码开关拨到DEBUG模式01111,连接实验箱电源,拨动电源开关上电

image.png

实验现象
导入工程,选择Demo文件夹下的对应工程
编译工程,生成可执行文件
将CCS连接开发板并加载程序
点击运行程序
运行程序后,Console 窗口会持续打印信息,本次实验每次处理9045字节的数据。
大概等待1分钟,编码完成。
实验箱断电后,取下 SD 卡
通过读卡器将SD卡插入电脑可查看 SD 卡目录下的内容,程序把 SD卡目录下的 song.pcm 文件编码并生成 song.mp3 文件。
打开并播放 MP3 文件,

image.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PCM
    PCM
    +关注

    关注

    1

    文章

    186

    浏览量

    52674
  • 缓冲器
    +关注

    关注

    6

    文章

    1566

    浏览量

    44878
  • 仿真器
    +关注

    关注

    14

    文章

    988

    浏览量

    82993
  • 调制器
    +关注

    关注

    3

    文章

    784

    浏览量

    44715
  • 音频编解码
    +关注

    关注

    0

    文章

    13

    浏览量

    2950
收藏 人收藏

    评论

    相关推荐

    嵌入式实验箱:mp3音频解码实验

    了解MP3文件的结构,掌握MP3音频解码的原理,并实现基于SYSBIOS系统,将MP3
    的头像 发表于 11-03 15:35 554次阅读
    嵌入式实验箱:<b class='flag-5'>mp3</b><b class='flag-5'>音频</b>解码实验

    数字信号处理实验操作教程:3-3 mp3音频编码实验(AD7606采集)

    用的MP3格式属于有损音乐压缩格式音频编解码的目的是减少传输的信息量和减少储存的信息。 MP3音频格
    发表于 04-03 16:41

    有的MP3格式文件在MP3播放器上能够播放,有的不能播放的原因

    案例一检修:出现有的MP3格式能够播放,有的不能播放的主要原因是它们的压缩格式层次不一样的。普遍MP3只支持用第三层压缩的MP3, 
    发表于 10-19 09:39

    MP3和WMA音频格式的基础知识

    Coding,高级音频编码)AAC是由Fraunhofer研究院(MP3格式的创造者)、杜比(DOLBY)试验室和AT&T(美国电话电报公司)共同研发出的一种有损压缩
    发表于 03-25 16:36

    labview中MP3格式文件的播放

    本帖最后由 eehome 于 2013-1-5 10:01 编辑 请问下在labview中怎么播放MP3格式的音乐呢?我在声音选项卡中只找到wav格式的函数啊……
    发表于 11-23 17:12

    请问用labview怎么播放MP3格式的音乐,不要用WindowsMediaPlayer

    请问用labview怎么播放MP3格式的音乐,不要用WindowsMediaPlayer,求指点,谢谢
    发表于 11-30 20:15

    蓝牙可以透传MP3格式 AMR格式等语音信号吗?

    如题。现在一直搞不明白。MP3格式跟AMR格式是不是已经是数字信号了。
    发表于 06-13 10:37

    只需五步教你如何把wma格式转换为MP3格式

    在我们日常的生活中只要一提到音乐格式大家都会想到MP3格式MP3格式是我们日常听音乐的一种文件格式
    发表于 11-11 19:22

    LABVIEW中的MP3格式声音播放

    MP3格式文件播放,适用于背景音乐开发插入.
    发表于 05-25 17:18

    嵌入教程_教学实验箱实验操作_音频处理:3-2 mp3音频编码实验

    1、实验目的 本次视频教程是基于创龙教仪TL6748-PlusTEB教学实验箱完成的。 本此教程的目的是了解MP3音频格式,掌握MP3音频编码
    发表于 06-02 16:17

    声音从音频编码器记录到MP3格式存储到缩微SD卡中

    CMSIS V3.00.001.001 硬件: NuMaker-M467HJ V1.0 此示例代码使用音频编码来记录声音。 在声音数据编码
    发表于 08-29 07:54

    stm32如何对语音编码mp3格式

    网上只有软解码mp3格式,有没有对pcm数据流编码mp3格式的库
    发表于 09-21 07:31

    MP3支持的常见音频格式简介

    MP3支持的常见音频格式简介  MP3早已成为了时尚元素中一个不可或缺的流行符号,它所支持的音频格式有8种左右,而常见的音频格式只有6种。
    发表于 02-02 10:38 3300次阅读

    MP3格式特点有哪些?

    MP3格式特点有哪些?         1.MP3是一个数据压缩格式2.它丢弃掉脉冲
    发表于 02-02 14:28 2572次阅读

    音频转换技巧分享,ogg怎么转成mp3格式

    OGG全称是OGGVobis,它是一种类似于MP3音频压缩格式,但与MP3不同的是,OGG格式是完全免费开放且没有专利限制的,所以很受一些
    的头像 发表于 01-18 17:39 3909次阅读
    <b class='flag-5'>音频</b>转换技巧分享,ogg怎么转成<b class='flag-5'>mp3</b><b class='flag-5'>格式</b>?