智能语音助手

概述

SpeechMind 是基于 Realtek Ameba 芯片的离线 AI 算法的智能语音助手。旨在以最便捷的方式支持应用程序的开发。 它包含一整套的智能语音交互架构,包括音频的捕获,处理、播放音乐和 AI 语音功能。

架构

应用程序根据下图与智能语音助手进行交互:

../../_images/speechmind_architecture.svg

智能助手架构

接口

概述

智能语音助手提供了一层接口,用于执行语音助手的基本操作,包括初始化,开始,结束,设置回调函数,销毁。

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);