| 名词 | 说明 |
|---|---|
| 语音唤醒 | 将待唤醒的机器(低功耗状态)或应用,用带唤醒词的语音进行唤醒。 |
| 波束 | 麦克风阵列在录音时会形成拾音波束,对波束以外的噪声进行抑制,即对特定空间范围内的声音进行拾音。关于拾音波束以及和麦克之间关系的详细介绍参考**《麦克风设计参考》**。 |
| CAE | CAE:Circular Array Enhancement |
| 符号 | 含义 |
|---|---|
| [in] | 表明该参数是调用时赋值的参数——输入参数 |
| [out] | 该参数在函数返回时被赋值——输出参数 |
| [in/out] | 该参数在函数调用时作为输入、函数返回时作为输出参数 |

| 函数名称 | 功能简介 |
|---|---|
| morfeicore_start | 初始化MorfeiCore 服务 |
| morfeicore_stop | 逆初始化MorfeiCore 服务 |
| morfeicore_getversion | 获取MorfeiCore版本号 |
| 函数名称 | 功能简介 |
|---|---|
| CAEInit | 初始化CAE引擎 |
| CAENew | 创建CAE引擎实例 |
| CAEGetVersion | 获取CAE引擎版本号 |
| CAELoadResource | 加载CAE资源 |
| CAESetListener | 设置CAE回调接口 |
| CAEGetParam | 获取CAE实例参数 |
| CAESetParam | 设置CAE实例参数 |
| CAEAudioWrite | 写入多通道录音数据 |
| CAEReset | 重置一个CAE实例 |
| CAEDestroy | 销毁CAE引擎实例 |
| CAEUnInit | 逆初始化CAE引擎 |
int morfeicore_start(const char *params, morfeicore_status_cb_t status_cb, void *user_data);| 参数名 | 参数解释 |
|---|---|
| params[in] | 参数字符串 |
| status_cb[in] | 状态回调函数 |
| user_data[in] | 用户数据 |
typedef int ( *morfeicore_status_cb_t)( int type, int status, int param1, const void *param2, void *user_data);| 参数名 | 参数解释 |
|---|---|
| type [out] | 数据类型 |
| status [out] | 状态信息 |
| param1[out] | 保留参数 |
| param2[out] | 保留参数 |
| user_data[out] | 用户数据 |
int morfeicore_stop(void);const char* morfeicore_getversion(void);int CAEInit(const char *param)| 参数名 | 参数解释 |
|---|---|
| param[in] | 保留 |
int CAEUnInit()char* CAEGetVersion()int CAENew(CAE_HANDLE *handle, const char* respath, void *reserved)| 参数名 | 参数解释 |
|---|---|
| handle[in/out] | 对象句柄 |
| respath[in] | 资源路径 |
| reserved | 保留 |
int CAEDestory(CAE_HANDLE handle)| 参数名 | 参数解释 |
|---|---|
| handle[in] | 由CAENew创建的对象句柄 |
int CAESetListener(CAE_HANDLE handle, void *userdata, const int cbtype, void* listener)| 参数名 | 参数解释 |
|---|---|
| handle[in] | 由CAENew 创建的对象句柄 |
| cbtype[in] | 回调函数的类型,区分是那种回调函数 0:唤醒信息回调接,回调类型cae_ivw_cb 1:输出一路降噪后音频回调接口,回调类型cae_ivw_cb |
| listener[in] | 回调函数指针 |
| userdata[in] | 用户数据 |
typedef void (*cae_ivw_cb)( short angle, short beam, char* keyword, float power, short score, void *userdata, void *reserved);| 参数名 | 参数解释 |
|---|---|
| angle [in] | 声源角度 |
| beam [in] | 唤醒波束 |
| keyword [in] | 唤醒词 |
| power [in] | 唤醒能量值 |
| score [in] | 唤醒得分 |
| userdata [in] | 用户数据 |
| reserved[in] | 保留 |
typedef void (*cae_audio_cb)( const char *audiodata, unsigned int audiolen, void *userdata, void *reserved);| 参数名 | 参数解释 |
|---|---|
| audiodata [in] | 音频缓存首地址(16K、16bit的单声道PCM音频数据) |
| audiolen [in] | 音频长度 |
| userdata [in] | 用户数据 |
| reserved | 保留 |
int CAEGetParam (CAE_HANDLE handle, const char* param, char* value, unsigned int *valuelen)| 参数名 | 参数解释 |
|---|---|
| handle[in] | 由CAENew创建的对象句柄 |
| name[in] | 参数名称 |
| value[in/out] | 获取的参数内容 |
| valuelen[in/out] | 传入value指针的空间长度,传出获取的参数长度 |
int CAESetParam(CAE_HANDLE handle, const char* param, void* value, unsigned int valuelen);| 参数名 | 参数解释 |
|---|---|
| handle[in] | 由CAENew创建的对象句柄 |
| param[in] | 参数名 1.“reg_beam”:设置波束; 2.“channel_num”:设置mic和ref序号。 |
| value[in] | 参数值 1.指定一个波束传入,具体2麦可传入[0,1,2],6麦传入[0,1,2,3,4,5]; 2.以6麦为例,其值可为“625184730”,前6个字符是mic序号,后三个730是参考序号,且只有通道7和3有效,第三路参考做保留使用。 |
| valuelen[in] | 参数长度 |
int CAEAudioWrite(CAE_HANDLE handle, const char *audiodata, unsigned int audiolen)| 参数名 | 参数解释 |
|---|---|
| handle[in] | 由CAENew创建的对象句柄 |
| audiodata[in] | 音频数据地址 |
| audiolen [in] | 传入音频长度,字节为单位 |
int CAELoadResource(CAE_HANDLE handle, const char* respath)| 参数名 | 参数解释 |
|---|---|
| handle[in] | 由CAENew创建的对象句柄 |
| respath[in] | 资源路径 |
int CAEReset(CAE_HANDLE handle)| 参数名 | 参数解释 |
|---|---|
| handle[in] | 由CAENew创建的对象句柄 |