ASR算法使用参考
1. 概述¶
1.1. 算法说明¶
语音识别(Automatic Speech Recognition,ASR)算法可以将人类说话内容转换成文本。
2. API 参考¶
2.1. 功能模块API¶
API名称 | 功能 |
---|---|
IaaAsr_Init | 初始化ASR算法 |
IaaAsr_SetConfig | 设置ASR算法参数 |
IaaAsr_ResetConfig | 重置ASR算法参数 |
IaaAsr_GetConfig | 获取ASR算法运行时的参数 |
IaaAsr_GetInputSamples | 获取ASR算法输入的采样点数 |
IaaAsr_Run | ASR算法处理 |
IaaAsr_Free | 释放ASR算法资源 |
IaaAsr_setCallbackFunc | ASR算法验证回调函数 |
2.2. IaaAsr_Init¶
-
功能
初始化ASR算法。
-
语法
ASR_HANDLE IaaAsr_Init(AudioAsrInit_t *asrInit);
-
形参
参数名称 描述 输入/输出 asrInit ASR算法的初始化结构体指针 输入 -
返回值
返回值 结果 handle 成功 NULL 失败 -
依赖
-
头文件: AudioAsrProcess.h
-
库文件: libASR_LINUX.a
-
-
举例
无
2.3. IaaAsr_SetConfig¶
-
功能
设置ASR算法参数。
-
语法
int IaaAsr_SetConfig(ASR_HANDLE handle, AudioAsrConfig_t *asrConfig);
-
形参
参数名称 描述 输入/输出 handle ASR算法handle 输入 asrConfig ASR算法参数设置结构体 输入 -
返回值
返回值 结果 0 成功 其他值 失败, 参照错误码 -
依赖
-
头文件: AudioAsrProcess.h
-
库文件: libASR_LINUX.a
-
2.4. IaaAsr_ResetConfig¶
-
功能
重置ASR算法参数。
-
语法
int IaaAsr_ResetConfig(ASR_HANDLE handle, AudioAsrConfig_t *asrConfig);
-
形参
参数名称 描述 输入/输出 handle ASR算法handle 输入 asrConfig ASR算法参数设置结构体 输入 -
返回值
返回值 结果 0 成功 其他值 失败, 参照错误码 -
依赖
-
头文件: AudioAsrProcess.h
-
库文件: libASR_LINUX.a
-
2.5. IaaAsr_GetConfig¶
-
功能
获取ASR算法运行时的参数。
-
语法
int IaaAsr_GetConfig(ASR_HANDLE handle, AudioAsrConfig_t *asrConfig);
-
形参
参数名称 描述 输入/输出 handle ASR算法handle 输入 asrConfig ASR算法参数设置结构体 输入 -
返回值
返回值 结果 0 成功 其他值 失败, 参照错误码 -
依赖
-
头文件: AudioAsrProcess.h
-
库文件: libASR_LINUX.a
-
2.6. IaaAsr_GetInputSamples¶
-
功能
获取ASR算法输入样本点数目。
-
语法
int IaaAsr_GetInputSamples(ASR_HANDLE handle, int *samples);
-
形参
参数名称 描述 输入/输出 handle ASR算法handle 输入 samples ASR算法输入样本数目 输出 -
返回值
返回值 结果 0 成功 非0 失败,参照错误码 -
依赖
-
头文件: AudioAsrProcess.h
-
库文件: libASR_LINUX.a
-
2.7. IaaAsr_Run¶
-
功能
ASR算法处理函数。
-
语法
int IaaAsr_Run(ASR_HANDLE handle, short *input, char transcription[ASR_MAX_TRANSCRIPTION_LEN], int *length);
-
形参
参数名称 描述 输入/输出 handle 算法handle 输入 input 输入数据指针 输入 transcription 语音转写文本内容 输出 length 语音转写文本长度 输出 -
返回值
返回值 结果 0 成功 其他值 失败,参照错误码 -
依赖
-
头文件: AudioAsrProcess.h
-
库文件: libASR_LINUX.a
-
-
举例
参考Demo code
2.8. IaaAsr_Free¶
-
功能
释放ASR算法的资源。
-
语法
int IaaAsr_Free(ASR_HANDLE);
-
形参
参数名称 描述 输入/输出 handle ASR算法handle 输入 -
返回值
返回值 结果 0 成功 其他值 失败,参照错误码 -
依赖
-
头文件: AudioAsrProcess.h
-
库文件: libASR_LINUX.a
-
2.9. IaaAsr_setCallbackFunc¶
-
功能
ASR算法验证回调函数。
-
语法
int IaaAsr_setCallbackFunc(int(*log)(const char *szFmt, ...), int(*envSet)(char *key, char *par), int(*envGetString)(char *var, char *buf, unsigned int size), int(*envSave)(void), int(*readUuid)(unsigned long long *u64Uuid));
-
依赖
-
头文件: AudioAsrProcess.h
-
库文件: libASR_LINUX.a
-
3. ASR 数据类型¶
3.1. ASR模块相关数据类型定义¶
数据类型 | 定义 |
---|---|
AudioAsrInit_t | ASR算法初始化数据结构体类型 |
AudioAsrConfig_t | ASR算法参数设置结构体类型 |
3.2. AudioAsrInit_t¶
-
说明
定义ASR算法的配置参数结构体。
-
定义
typedef struct{ int sampleRate; int bitWidth; int channel; int ipuMaxSize; int createdIpuDevice; char amModelPath[ASR_MAX_FILE_NAME_LEN]; char dictPath[ASR_MAX_FILE_NAME_LEN]; }AudioAsrInit_t;
-
成员
成员名称 描述 sampleRate 语音采样率 bitWidth 语音采样位宽 channel 语音通道数 ipuMaxSize IPU模型最大size createdIpuDevice 是否create IPU设备 amModelPath 语音识别声学模型 dictPath 字典路径 -
相关数据类型及接口
3.3. AudioAsrConfig_t¶
-
说明
定义ASR算法参数结构体。
-
定义
typedef struct{ int vadMode; float vadThreshold; }AudioAsrConfig_t;
-
成员
成员名称 描述 vadMode VAD模式, 0:能量模式; 1: 概率模式 vadThreshold VAD阈值,能量模式:范围[-80, 0]; 概率模式:[0, 1] -
相关数据类型及接口
4. 错误码¶
ASR API 错误码如表下所示:
错误码 | 宏定义 | 描述 |
---|---|---|
0x00000000 | ALGO_ASR_RET_SUCCESS | ASR运行成功 |
0x90000401 | ALGO_ASR_RET_INVALID_LICENSE | LICENSE无效 |
0x90000402 | ALGO_ASR_RET_INVALID_HANDLE | HANDLE无效 |
0x90000403 | ALGO_ASR_RET_INVALID_SAMPLERATE | 采样率不支持 |
0x90000404 | ALGO_ASR_RET_INVALID_BITWIDTH | 采样位数不支持 |
0x90000405 | ALGO_ASR_RET_INVALID_CHANNEL | 模型不支持 |
0x90000406 | ALGO_ASR_RET_INVALID_VAD_MODE | VAD模式不支持 |
0x90000407 | ALGO_ASR_RET_INVALID_VAD_THRESHOLD | VAD阈值不支持 |