SSU_FE算法使用参考
REVISION HISTORY¶
Revision No. | Description |
Date |
---|---|---|
1.0.0 | 12/13/2022 |
1. 概述¶
1.1. 算法说明¶
特征提取(Feature Extractor, FE)是对输入语音处理,并提取指定特征的算法库
1.2. 特征列表¶
算法库目前支持以下特征
- Kaldi Fbank
注: 如果设备支持NEON,本算法库部分操作会使用NEON指令集进行计算
2. API 参考¶
2.1. 功能模块API¶
API名称 | 功能 |
---|---|
IaaFe_Init | 初始化FE算法 |
IaaFe_Run | FE算法处理 |
IaaFe_Free | 释放FE算法资源 |
2.2. IaaFe_Init¶
-
功能
初始化FE算法需要的内存。
-
语法
FBANK_HANDLE IaaFe_Init(FbankConfig_t *fbankConfig);
-
形参
参数名称 描述 输入/输出 fbankConfig Fbank参数设置结构体 输入 -
返回值
返回值 结果 handle 成功 NULL 失败 -
依赖
-
头文件: AudioFeProcess.h
-
库文件: libFE_LINUX.so/ libFE_LINUX.a
-
2.3. IaaFe_Run¶
-
功能
FE算法处理函数。
-
语法
int IaaFe_Run(FBANK_HANDLE handle, short *input, std::vector<std::vector<float>>* feats);
-
形参
参数名称 描述 输入/输出 handle 算法handle 输入 input 输入数据指针 输入 feats Fbank特征 输出 -
返回值
返回值 结果 0 成功 其他值 失败,参照错误码 -
依赖
-
头文件: AudioFeProcess.h
-
库文件: libFE_LINUX.so/ libFE_LINUX.a
-
-
举例
参考Demo code
2.4. IaaFe_Free¶
-
功能
释放FE算法的资源。
-
语法
int IaaFe_Free(FE_HANDLE handle);
-
形参
参数名称 描述 输入/输出 handle SE算法handle 输入 -
返回值
返回值 结果 0 成功 其他值 失败,参照错误码 -
依赖
-
头文件: AudioFeProcess.h
-
库文件: libFE_LINUX.so/ libFE_LINUX.a
-
-
注意
- 必须先调用IaaFe_Free,再释放供FE算法所使用的内存。
3. FE 数据类型¶
3.1. FE模块相关数据类型定义¶
数据类型 | 定义 |
---|---|
FbankConfig_t | Fbank参数设置结构体类型 |
FE_HANDLE | FE算法句柄类型 |
3.2. FbankConfig_t¶
-
说明
定义Fbank参数结构体。
-
定义
typedef struct{ int sample_rate; int bit_width; int input_length; int frame_length; int frame_shift; int num_bins; }FbankConfig_t;
-
成员
成员名称 描述 sample_rate 语音采样率 bit_width 语音采样位宽 input_length 算法处理输入长度 frame_length 帧长 frame_shift 帧移 num_bins Fbank 数目
3.3. FE_HANDLE¶
-
说明
定义FE算法的句柄类型。
-
定义
typedef void* FE_HANDLE;
-
成员
成员名称 描述 -
注意事项
无。
-
相关数据类型及接口
4. 错误码¶
SE API 错误码如表下所示:
错误码 | 宏定义 | 描述 |
---|---|---|
0x00000000 | ALGO_FE_RET_SUCCESS | FE运行成功 |
0xB0000401 | ALGO_FE_RET_INVALID_LICENSE | 授权码错误/试用时间结束 |
0xB0000402 | ALGO_FE_RET_INVALID_HANDLE | HANDLE无效 |
0xB0000403 | ALGO_FE_RET_INVALID_SAMPLERATE | 采样率不支持 |
0xB0000404 | ALGO_FE_RET_INVALID_BITWIDTH | 采样位数不支持 |