当前位置:首页 > 学习资源 > 讲师博文 > 嵌入式音频应用开发应该如何实现

嵌入式音频应用开发应该如何实现 时间:2024-02-19      来源:华清远见

一 嵌入式音频应用的应用场景

1> 智能音箱

场景:用户说出想要听的歌曲名,歌手,甚至直接播放一小段旋律或者歌曲本身,让智能音箱在本地查找或者联网查找后进行播放

2> 录音/翻译设备

场景:开会的时候,可以使用录音设备/软件 进行录音,然后翻译成文字进行记录

3> 视频直播

场景:腾讯会议,直播软件等,都是需要音频功能开发的

4> 智能家居

     场景:回到家,对着中控说出拉起窗帘,空调调整成制热20度,打开电视机。然后就可以躺在沙发上享受人生了

5> 智能穿戴设备

场景:带上手表,开始跑步/骑车,通过语音对着手表说 “播放音乐”,”开始骑行”,手表就会进行相应的操作

6> 车载中控

场景:场景类似于智能穿戴设备,大家也非常常见,对着方向盘说出我要去哪,或者拨打谁的电话,中控都能准确的执行对应操作

 

 

二音频应用开发中的一些名词解释

Pcm 编码 :脉冲编码调制,最原始的音频编码格式。通常通过主机设备、麦克风采集到的音频数据都是pcm编码格式

 

Opus 编码:他是一种有损声音编码格式,由于完全开源,所以应用场景非常广泛。常用与网络中的实时音频传输

例如:可以使用任意麦克风采集pcm编码的音频,将该编码转码成 opus编码后进行传输。因为opus编码会对pcm编码进行压缩,所以体积更小,传输效率更高,并且opus编码允许动态调节比特率、支持语音和音乐、支持单声道和立体声。传输后的opus编码文件,可以直接播放,也可以保存到容器(文件中),未来再播放(录音设备,翻译设备)

 

资料引用:opus是一个有损声音编码的格式,由IETF开发,没有任何专利或限制,适用于网络上的实时声音传输,标准格式为RFC 6716,其技术来源于Skype的SILK及Xiph.Org的CELT编码.

Opus文件是一个用开放的Opus编解码器编码的数字音频文件。Opus文件使用Ogg容器格式。目前一些知名的媒体播放器如VLC支持直接播放.opus文件,而其他的播放器则需要先安装一个外部的Opus编解码器(“libopus”)。

Opus开发团队提供了一套参考工具,用于获取.opus文件的信息(“opusinfo”),并将它们转换为/从WAV(“opusenc”、“opusdec”)。在Microsoft Windows上,可以使用安装了免费编码器包的foobar2000创建Opus编码的音频。

 

opus使用约束

采样率约束:

输入信号的采样率(Hz),必须是8000、12000、16000、24000、或48000。

OpusEncoder* opus_encoder_create(opus_int32 Fs, int channels, int application, int *error);

函数参数中的Fs就是采样率。

 

帧长约束:

opus为了对一个帧进行编码,必须正确地用音频数据的帧(2.5, 5, 10, 20, 40 or 60 ms)来调用opus_encode()或opus_encode_float()函数。

 

比如,在48kHz的采样率下,opus_encode()参数中的合法的frame_size(单通道的帧大小)值只有:120, 240, 480, 960, 1920, 2880。即:

frame_size = 采样率 * 帧时间。

因为需要满足帧时间长度为10,20,40,60ms这些才能编码opus,因而需要对输入数据进行缓冲裁剪

 

兼容opus的容器格式:

有ogg,ts,mkv。但ts无法播放,mkv只能foobar播放,ogg能用foobar,vlc播放。因而不再考虑opus合成到ts

上一篇:盘点嵌入式开源项目之GUI设计

下一篇:物联网6大核心技术究竟是哪6个

戳我查看2020年嵌入式每月就业风云榜

点我了解华清远见高校学霸学习秘籍

猜你关心企业是如何评价华清学员的

干货分享
相关新闻
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2024 北京华清远见科技发展有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部