双麦声源定位算法¶
该算法能进行声源方位角度估计,当前版本支持0-180度检测范围,分辨率为10°,双mic位置需处于同一平面相同朝向,推荐麦间距为4cm~6cm(超过约定范围的mic间距需要重新训练模型支持),该算法仅双mic可用。
1.算法功能配置步骤如下:
打开CI13XX_SDK_ALG_PRO_Vx.x.x\project_file\makefile文件,对CI_ALG_TYPE修改为CI_ALG_TYPE := $(USE_AI_DOA)
CI_ALG_TYPE变量和算法功能对应说明请参考:算法功能使用说明
2. 该算法参数宏说明在projects\CI13XX_SDK_ALG_PRO_Vx.x.x\app\app_main\user_config.h文件中
//doa输出类型:1-唤醒词输出角度 2-命令词输出角度 3-唤醒次和命令词都输出角度
#define AI_DOA_OUT_TYPE 3
/**
* @brief 角度信息输出-检测到声源角度信息后,系统会自动回调该函数,用户可以通过该函数的参数doa_angle拿到当前声源角度值,参数audio_state为预留参数,用户不用关注
*/
void ci_doa_get_cb(int audio_state, int doa_angle)
4. 声源定位算法请把external\model\doa(声源定位)中[60004]nn_dual_mic_doa_vxxxx.bin算法模型,复制到projects\CI13XX_SDK_ALG_PRO_Vx.x.x\firmware\dnn文件夹中
5. DOA算法参数配置 如下算法参数用户只需关注distance,其他参数算法内部使用,用户无需关注
const doa_config_t doa_config =
{
.distance = 40, //双mic间距(单位mm),40表示当前双mic间距为4cm
};
注意
- 双mic位置需处于同一平面相同朝向,推荐麦间距为4cm~6cm。
- 声源定位算法支持多种不同方式输出角度信息,可通过AI_DOA_OUT_TYPE宏来设置。
- 声源定位需搭配该算法的前端算法模型使用。