语音播报使用指南*
1. 概述*
本文主要描述8002芯片DAC输出TTS语音播报功能。
2. SDK下载和编译说明*
2.1 代码仓库下载*
git clone git@gitlab.com:nationalchip/lvp_tws.git
git checkout -b my_pri master //切换到主分支
2.2 配置文件参考*
cp ./configs/release/nationalchip/grus_gx8002b_aiot_1v_voice_player.config .config //默认是使用opus输出
2.3 voice player 功能配置说明*
Common Function Settings -> Has voice player
select audio decoder: DAC输出音频解码器选择:opus、amr、adpcm
具体解码器源代码参考
./lvp/common/player/decoder/
select sample rate: DAC输出采样率选择: 8k or 16k(根据编译出来的固件大小来定)
dac channel select: DAC输出通道选择
1 2 3 4 5 6 |
|
2.3.1 opus格式输出配置说明*
Common Function Settings --->[*] Has voice player --->select audio decoder 选择 use opus decoder
Common Function Settings --->[*] Has voice player --->select sample rate 选择 use 8k samplerate dec或者 use 16k samplerate dec
opus格式音频转换工具见 第3.1章节
2.3.2 wav格式输出配置说明*
Common Function Settings --->[*] Has voice player --->select audio decoder 选择 use no decoder
wav格式音频转换工具见 第3.1章节
2.3.3 adpcm格式输出配置说明*
Common Function Settings --->[*] Has voice player --->select audio decoder 选择 use adpcm decoder
adpcm格式音频转换工具见 第3.2章节
2.4 mp3 player 功能配置说明*
Common Function Settings -> Has mp3 player
几个配置选择 voice player 一致,就不再描述了
注意
- mp3音频文件的采样率使用常规 8k, 16k, 48k
- mcu 频率必须大于16M,测试小于16M,声音会变,应该是速度跟不上
2.5 TTS播报应用代码说明*
2.5.1 voice player 应用代码说明*
LVP Application Settings -> Applications Selection: (Voice Player App)
主要关注目录 ./app/voice_player/resource,该目录主要存放经过opus编码后转成16进制的数组文件,因此需要对音频文件进行opus编码,编码工具见下节介绍
修改lvp_app_voice_player.c文件,根据自己需求,调用LvpVoicePlayerPlay();接口播放音频
注意
- 若选择adpcm格式输出,则调用输出的接口需换成LvpVoicePlayerPlayAdpcm();
- mcu 频率必须大于16M,测试小于16M,声音会变,应该是速度跟不上
2.5.2 mp3 player 应用代码说明*
LVP Application Settings -> Applications Selection: (mp3 Player App)
跟voice player 应用一样,只是初始化接口和播放的接口有所不同
LvpMp3PlayerInit();
LvpMp3PlayerPlay();
3. TTS播报音频文件转换工具说明*
3.1 codec_demo工具*
3.1.1 codec_demo工具仓库位置*
./tools/audiocodec_tools/
对应的编码工具在lvp_tws/tools/audiocodec_tools目录下有源码(即:codec_demo.c),直接make生成编码工具(建议在Ubuntu16.04版本编译)
3.1.2 codec_demo工具使用说明*
1 2 3 4 5 6 |
|
支持16K或者8K单声道wav格式。或者将该wav格式压缩为opus,amr格式,减小容量。
使用例子如下:(linux系统)
sudo ./codec_demo opus enc 16000 wozai.wav wozai.opus
xxd -i wozai.opus wozai.h
mp3格式或者wav格式的话,只需 xxd -i 转成16进制即可
xxd -i wozai.wav wozai.h
xxd -i wozai.mp3 wozai.h
3.2 adpcm工具*
3.2.1 adpcm工具仓库位置*
./tools/adpcm/
3.2.2 adpcm工具使用说明*
1 2 3 4 5 6 |
|
使用例子如下:(linux系统)
sudo ./adpcm -e -n256 wozai.wav wozai.adpcm -y
xxd -i wozai.adpcm wozai.h