| 名词 | 说明 |
|---|---|
| 声纹识别 | 根据语音中反映的说话人生理和行为特征,自动识别说话人身份的生物识别技术。 |
| VPR | Voiceprint Recognition |
| 符号 | 含义 |
|---|---|
| [in] | 表明该参数是调用时赋值的参数——输入参数 |
| [out] | 该参数在函数返回时被赋值——输出参数 |
| [in/out] | 该参数在函数调用时作为输入、函数返回时作为输出参数 |

| 函数名称 | 功能简介 |
|---|---|
| morfeicore_start | 初始化MorfeiCore 服务 |
| morfeicore_stop | 逆初始化MorfeiCore 服务 |
| morfeicore_getversion | 获取MorfeiCore版本号 |
| 函数名称 | 功能简介 |
|---|---|
| VPRInit | 初始化VPR引擎 |
| VPRUninit | 逆初始化VPR引擎 |
| VPRGetVersion | 获取VPR引擎版本号 |
| VPRLoadResource | 加载VPR资源 |
| VPRUnloadResource | 删除VPR资源 |
| VPRRegister | 注册VPR资源 |
| VPRCreateInst | 创建VPR引擎实例 |
| VPRDestoryInst | 销毁VPR引擎实例 |
| VPRSetListener | 设置VPR回调接口 |
| VPRGetParam | 获取VPR实例参数 |
| VPRSetParam | 设置VPR实例参数 |
| VPRStartInst | 启动一个VPR实例 |
| VPRWriteAudio | 写入音频 |
| VPRStopInst | 停止一个VPR实例 |
| VPRResetInst | 重置一个VPR实例 |
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 VPRInit(struct aiotOS * param, void* reserved);| 参数名 | 参数解释 |
|---|---|
| param[in] | 保留使用的结构体参数 |
| reserved[in] | 接口保留参数 |
int VPRUninit(void* reserved);| 参数名 | 参数解释 |
|---|---|
| reserved[in] | 接口保留参数 |
char* VPRGetVersion(void);int VPRLoadResource(const char* res, int ressize, void* reserved);| 参数名 | 参数解释 |
|---|---|
| res[in] | 加载资源的首地址 |
| resize[in] | 资源长度 |
| reserved[in] | 接口保留参数 |
int VPRUnloadResource(int restype, int resid);| 参数名 | 参数解释 |
|---|---|
| restype[in] | 资源类型 |
| resid[in] | 资源ID |
int VPRRegister(const char* srcres, int srcressize, const char* registerbuf, int registertype, int registerid, int registersize, char* targetres, int* targetsize);| 参数名 | 参数解释 |
|---|---|
| srcres[in] | 原始资源地址 |
| srcressize[in] | 原始资源大小 |
| registerbuf[in] | 注册音频数据地址(16k、16bit、单通道、pcm音频) |
| registertype[in] | 注册资源类型 |
| registered[in] | 注册资源ID |
| registersize[in] | 注册资源大小 |
| targetres[in] | 存储资源地址 |
| targetsize[in/out] | 存储资源大小 |
int VPRCreateInst(VPR_HANDLE* pvprinst);| 参数名 | 参数解释 |
|---|---|
| pvprinst[out] | 实例对象句柄二级指针 |
int VPRDestoryInst(VPR_HANDLE vprinst);| 参数名 | 参数解释 |
|---|---|
| vprinst[in] | 实例对象句柄指针 |
int VPRSetListener(VPR_HANDLE vprinst, const int cbtype, const void* listener, void* userdata);| 参数名 | 参数解释 |
|---|---|
| vprinst[in] | 实例对象句柄指针 |
| cbtype[in] | 参数类型:VPR_PARAM_RESULTCALLBACK 注册声纹回调函数 参数类型:IVW_PARAM_WAKEUPCALLBACK 注册唤醒回调函数 |
| listener[in] | 回调函数指针 |
| userdata[in] | 用户数据 |
typedef int (*VprCallBack)(void *pUserParam, const char* pVprParam);| 参数名 | 参数解释 |
|---|---|
| pUserParam[out] | 用户数据 |
| pVprParam[out] | 声纹信息 |
typedef int (*IvwCallBack)(void *pUserParam, const char* pVprParam);| 参数名 | 参数解释 |
|---|---|
| pUserParam[out] | 用户数据 |
| pVprParam[out] | 唤醒信息 |
int VPRGetParam(VPR_HANDLE vprinst, int paramtype, void* paramvalue, int* paramsize);| 参数名 | 参数解释 |
|---|---|
| vprinst[in] | 实例对象句柄指针 |
| paramtype[in] | 参数类型: VPR_PARAM_ENGINE_MODE 说 明 :获取引擎工作模式 |
| paramvalue[out] | 参数值 |
| paramsize[in/out] | 参数长度 |
int VPRSetParam(VPR_HANDLE vprinst, int paramtype, void* paramvalue, int paramsize);| 参数名 | 参数解释 |
|---|---|
| vprinst[in] | 实例对象句柄指针 |
| paramtype[in] | 参数类型: VPR_PARAM_ENGINE_MODE 说 明 : 设置引擎模式 |
| paramvalue[in] | 参数值 |
| paramsize[in] | 参数长度 |
int VPRStartInst(VPR_HANDLE vprinst);| 参数名 | 参数解释 |
|---|---|
| vprinst[in] | 实例对象句柄指针 |
int VPRWriteAudio(VPR_HANDLE vprinst, const char* buf, int bufsize, int writestatus);| 参数名 | 参数解释 |
|---|---|
| vprinst[in] | 实例对象句柄指针 |
| buf[in] | 音频数据地址(16k、16bit、单通道、pcm音频) |
| bufsize[in] | 传入音频长度,字节为单位 |
| writestatus[in] | 当前数据状态标志 |
int VPRStopInst(VPR_HANDLE vprinst);| 参数名 | 参数解释 |
|---|---|
| vprinst[in] | 实例对象句柄指针 |
int VPRResetInst(VPR_HANDLE vprinst);| 参数名 | 参数解释 |
|---|---|
| vprinst[in] | 实例对象句柄指针 |