跳转至

语音播报使用指南*

1. 概述*

本文主要描述8008C芯片DAC输出TTS语音播报功能。

2. SDK下载和编译说明*

2.1 代码仓库下载*

git clone git@gitlab.com:nationalchip/vsp_sdk.git

git checkout -b my_pri master //切换到主分支

2.2 配置文件参考*

cp ./configs/nationalchip_public_version/8008c_wukong_v1.4_voice_play_wav_v2.0_demo.config .config cp ./configs/nationalchip_public_version/8008c_wukong_v1.4_voice_play_mp3_v2.0_demo.config .config

2.3 voice player v2.0 功能配置说明*

VSP Basic Functions settings -> Enable Voice Player

Voice Player Type: DAC输出音频类型选择:wav,mp3

具体解码器源代码参考

./vsp/common/vsp_voice_player.c

2.4 TTS播报应用代码说明*

2.4.1 voice player v2.0 应用代码说明*

VSP Customize Functions Settings -> Customize Functions Selection: (v2.0 for voice button demo)

该例子通过boot按键来模拟唤醒,触发唤醒后,进行TTS语音播报功能

播报接口函数:

int VspVoicePlayerPlay(int offset, unsigned int size, PLC_RESURCE_TYPE type); // offset: input data's address in flash

2.4.2 采样率选择*

目前WAV和MP3支持的采样率如下,例子中默认使用8k采样率,可根据需求自行更改

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
typedef enum {
AUDIO_OUT_SAMPLE_RATE_48000 = 0x00,
AUDIO_OUT_SAMPLE_RATE_44100 = 0x01,
AUDIO_OUT_SAMPLE_RATE_32000 = 0x02,
AUDIO_OUT_SAMPLE_RATE_24000 = 0x03,
AUDIO_OUT_SAMPLE_RATE_22050 = 0x04,
AUDIO_OUT_SAMPLE_RATE_16000 = 0x05,
AUDIO_OUT_SAMPLE_RATE_11025 = 0x06,
AUDIO_OUT_SAMPLE_RATE_8000  = 0x07,
} AUDIO_OUT_SAMPLE_RATE;

注意

MP3因解码器速率的原因,最高目前只支持到32k

3. TTS语音播报文件转换说明*

使用如下命令,将WAV,MP3格式的音频转换成头文件,并在应用端#include 调用即可

xxd -i wozai.wav wozai.h

xxd -i wozaine.mp3 wozaine.h

注意

若分配给MCU的SRAM空间不够,可以使用XIP的方式,详细请看XIP使用指南