BES2600xx之提示音(一):本地(嵌入式)提示音
一、概述
本地(嵌入式)提示音是通过将预先录制的wav文件转换为TXT文件,然后将其包含到头文件中,从而将预设的提示音与其他程序和数据一起进行编码,并内置到主程序文件中。其中每个音频被编码为二进制数据并初始化为数组,然后将数组映射到一个声音映射结构,这样就可以在需要的时候调用和播放它们。下面我们就来学习一下如何制作以及配置提示音。
二、制作提示音
1.获取音频
音频可以通过手机录音、网上的音频资源等获取,这里不过多赘述。
2.处理音频
不同音源的采样率不同,这里我们以16k采样率为例(BES默认提示音采样率),我们可以使用一些软件转换采样率,如Adobe Audition、Cool Edit Pro2.1。
(1)Adobe Audition
- 打开软件,并导入原始音频文件(录音)。

- 点击F11,修改设置:采样率16kHz、单声道、位数16it

- 根据需求对音频进行剪辑处理。
- 保存,点击文件→另存为,选择格式为Wave PCM或Windows PCM(不同版本软件选项可能不同),且文件名为.wav,点击确定即可。

(2)Cool Edit Pro2.1
- 点击
按钮,导入音源文件。

-
快捷键 F11。修改设置:采样率16kHz、单声道 、位数 16bit。

- 保存为windows PCM

三、音频转换
1.工具下载
转换需要用到wav2sbc工具,点击下载。
2.转换
四、文件替换
1.音源定位
打开\config\_default_cfg_src_\res\目录,如下图所示存在多个子文件夹,表示不同操作环境下的语音提示,例如,en包含英文提示音,cn包含中文提示音。根据需求将生成的txt文件移动到en或cn目录下,并修改文件名。

2.文件包含
建立音频数组,指向对应音频文件,英文在 res_audio_data.h,中文在 res_audio_data_cn.h。例如,增加英文开机提示音,先建立EN_POWER_ON数组,并将提示音的相对路径res/en/SOUND_POWER_ON.txt使用下图形式包含其中。

3.设置语言和长度
在app_meida_player.cpp文件中找到函数media_runtime_audio_prompt_update,若有必要,可以将下图所示代码处的case项改为自定义ID,

或在resources.h文件中添加自定义ID。

需要注意的是,语音提示的默认音频采样率为16000,如果要更换原有的采样率,需要同时调整编码,需要在app_meida_player.cpp文件中app_play_audio_onoff函数中找到如下代码,并改为需要的采样率即可。

4.应用层封装
后续会单独出一期讲解提示音模块的代码逻辑,所以本期就不过多赘述。多有不足,还望补充指正!!!
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)