智能语音助手
概述
SpeechMind 是基于 Realtek Ameba 芯片的离线 AI 算法的智能语音助手。旨在以最便捷的方式支持应用程序的开发。 它包含一整套的智能语音交互架构,包括音频的捕获,处理、播放音乐和 AI 语音功能。
架构
应用程序根据下图与智能语音助手进行交互:
智能助手架构
接口
概述
智能语音助手提供了一层接口,用于执行语音助手的基本操作,包括初始化,开始,结束,设置回调函数,销毁。
API层 |
描述 |
|---|---|
SpeechMind_Init |
用于智能语音助手的初始化 |
SpeechMind_Start |
用于智能语音助手功能的开始 |
SpeechMind_Stop |
用于智能语音助手功能的结束 |
SpeechMind_SetCallback |
用于设置智能语音助手的回调函数 |
SpeechMind_Deinit |
用于智能语音助手的销毁 |
回调函数
智能语音助手提供了注册函数 SpeechMind_SetCallback(SpeechMindCallback *callback)
供应用程序使用 AiVoice 的时候获得输出事件,应用程序需要实现 SpeechMindCallback 中定义的接口。
相关接口描述如下:
当检测到语音段开始或结束时,通知应用程序
void (*OnVad)(SpeechMindCallback *callback, VadInfo *info);
参数 VadInfo 包括
参数 |
描述 |
|---|---|
status |
VAD的状态 0: VAD 从语音变为静音,表示语音段的结束点 1: VAD 从静音变为语音,表示语音段的起始点 |
offset_ms |
相对于重置点的时间偏移量 |
当检测到唤醒词时,通知应用程序
void (*OnWakeUp)(SpeechMindCallback *callback, WakeUpInfo *info);
参数 WakeUpInfo 包括
参数 |
描述 |
|---|---|
len |
唤醒词长度 |
wakeup_words |
唤醒词字符串指针 |
当收到输入的每一帧,通知应用程序
void (*OnAfe)(SpeechMindCallback *callback, AfeInfo *info);
参数 AfeInfo 包括
参数 |
描述 |
|---|---|
len |
AFE数据长度 |
data |
AFE数据指针 |
当检测到命令词,通知应用程序
void (*OnAsr)(SpeechMindCallback *callback, AsrInfo *info);
参数 AsrInfo 包括
参数 |
描述 |
|---|---|
id |
JSON 字符串的ID |
当 ASR/VAD 超时,通知应用程序
void (*OnAsrRecTimeout)(SpeechMindCallback *callback);