语音识别作为最自然的交互方式,越来越多的被用户所接受,但是语音方案与传统的逻辑开发不同,需要多方配合才能打造好的产品。本文档主要介绍启英泰伦的语音识别方案的方案设计和项目开发,适用于新接触语音的成品需求方,IDH方案商及方案开发者。
如果您新接触语音方案,建议先查看 ☞新手指南,如果您已经初步了解,可以参考开发案例进行具体的软件开发,本文档主要描述一个实际的产品的标准开发流程。如果针对某一具体产品,可以参考具体的领域产品方案。
方案开发中,一般可以按下面的流程进行开发:
我司也提供对应的软硬件检查checklist,供您在设计阶段进行check结构、原理图,pcb和软件部分。该checklist请到 ☞启英泰伦语音AI平台 中下载。
我司也可以提供语音识别自动化测试方案和模块的自动化烧录测试方案,具体信息请参考 ☞产品测试。
以下将对具体的流程进行描述:
您可以购买demo后 ☞样品购买 ,参考demo的资料,进行初步体验测试。在实际的应用场景,测试安静和噪音情况下的识别率,唤醒率和误唤醒,了解语音识别的实际体验情况,详细的测试标准参考 ☞识别效果测试,测试中请特别注意:
测试及体验完demo后,可以根据产品的类型考虑是否增加语音,主要考虑如下:
经过初步的demo评测和体验测试,如产品需求最终考虑增加语音,接下来考虑选择具体的语音方案。
启英泰伦提供离线单麦克风,离线双麦克风,离线语音+蓝牙播放,离线语音+IOT,离在线识别等多种识别方案,芯片本身也支持二次开发,可以使用串口对接各种模块,部分产品的开发也可以参考 ☞产品方案开发概述。
下面以标准的离线单麦克风产品方案为例进行描述:
离线单麦克风方案,对结构要求低,方案成熟稳定,方案简单易用,识别效果好,适用范围广。当前广泛用在家电、照明、红外插座、中控、风扇、智能马桶、油烟机、浴霸、取暖桌等领域,并且均已量产并在市面销售。
具体的方案选型请参考 ☞硬件选型指南 中的芯片选型和模块选型说明,我们优先建议适用 ☞CI-B02GS04S(主芯片CI1102) (贴片模组)和 ☞CI-B02GS06J(主芯片CI1102) (带座子模组)。
根据产品的需求明确产品用何种方案,举例如下:
如果您想实现快速开发,推荐采用语音模块与电控的串口通信方案,这样语音模块可以只开发语音部分,和成熟的电控采用串口进行通信,可以减少开发和调试的时间。该方案可以将语音模块和电控各自使用电脑串口工具模拟对接开发,待开发测试完成后,再进行实际模组的对接。
该方案通讯流程:
优点:
如果您想采用一体板方案或其他的通讯方式如IIC,也可以自行开发,如有问题请与我司技术支持联系。
3.2.1 命令词和唤醒词:¶
期望用户对设备说出,可以被设备识别的操作指令即为命令词。命令词中,被用于唤醒设备,相当于设备“名字”的词,定义为唤醒词。
关于两种词的设计方法,请查看:☞语音UI设计参考
3.2.2 播放反馈音¶
当用户说了命令词后,设备需要播报对应词条的反馈音,关于该播报反馈音的设计,有如下建议:
3.2.3 说明书描述¶
产品的说明书建议包含以下内容:
3.2.4 其他建议事项¶
麦克风和喇叭的结构设计直接影响产品的识别效果,需要特别注意。麦克风要防噪音进入,喇叭需要注意出音孔的设计,防止声音播听感不好,详情请参考 ☞产品结构设计,如果您是第一次做语音产品,强烈建议与我司技术支持人员详细沟通。
您在设计产品时请尽量选用我司推荐的关键物料,相关信息如下:
硬件设计有以下要点:
特别强调:语音识别产品比传统的产品来说,修改固件的可能性更高,强烈建议预留升级接口。
更多信息也可以查看 ☞硬件设计参考。
如果您是初次使用启英方案,可以参考 ☞软件开发 进行软件开发的学习,也可以登录 ☞启英泰伦语音AI平台 播放语音开发介绍视频观看。
一些软件开发的基本介绍如下:
sdk包 | 版本名称 | 下载地址 |
---|---|---|
CI10X纯离线SDK | CI110X_SDK_ASR_Offline_V1.3.5 | ☞启英泰伦语音AI平台 |
CI110X算法SDK | CI110x_SDK_ALG_Application_V1.4.6 | ☞启英泰伦语音AI平台 |
CI110X红外插座SDK | CI110X_IR_SDK_ASR_Offline_V1.3.5 | ☞启英泰伦语音AI平台 |
CI110X离在线SDK | CI110X_Combine_Cloud_V1.7.0 | ☞启英泰伦语音AI平台 |
CI112X纯离线SDK | CI112X_SDK_V1.1.3 | ☞启英泰伦语音AI平台 |
CI112X红外插座SDK | CI112X_IR_SDK_V1.1.3 | ☞启英泰伦语音AI平台 |
注:上述SDK后面的版本号可能会升级,请以平台下载的SDK版本号为准。
软件开发时,请尽量将您的代码写在\sample\internal\sample_xxx中,这样当SDK更新时,您基本不需要改动代码;
主要函数说明,用户的代码:sample\internal\sample_1102\src\user_msg_deal.c
//根据语义ID进行处理
uint32_t deal_asr_msg_by_semantic_id(sys_msg_asr_data_t *asr_msg, cmd_handle_t cmd_handle, uint32_t semantic_id)
//根据命令词ID进行处理
uint32_t deal_asr_msg_by_cmd_id(sys_msg_asr_data_t *asr_msg, cmd_handle_t cmd_handle, uint16_t cmd_id)
//应用消息处理
uint32_t deal_userdef_msg(sys_msg_t *msg)
{
uint32_t ret = 1;
switch(msg->msg_type)
{
/* 按键消息 */
case SYS_MSG_TYPE_KEY:
{
sys_msg_key_data_t *key_rev_data;
key_rev_data = &msg->msg_data.key_data;
userapp_deal_key_msg(key_rev_data);
break;
}
#if MSG_COM_USE_UART_EN
/* CI串口协议消息 */
case SYS_MSG_TYPE_COM:
{
sys_msg_com_data_t *com_rev_data;
com_rev_data = &msg->msg_data.com_data;
userapp_deal_com_msg(com_rev_data);
break;
}
#endif
/* CI IIC 协议消息 */
#if MSG_USE_I2C_EN
case SYS_MSG_TYPE_I2C:
{
sys_msg_i2c_data_t *i2c_rev_data;
i2c_rev_data = &msg->msg_data.i2c_data;
userapp_deal_i2c_msg(i2c_rev_data);
break;
}
#endif
default:
break;
}
return ret;
}
语音识别效果受环境噪声、设备摆放、环境是否有混响、测试人员发音是否清晰准确等因素影响,进行整机样品测试时需要明确各方面的影响因素。特别注意下:
如果测试发现识别效果不好,请参考 ☞启英泰伦语音AI平台https://platform.chipintelli.com/ 中的 在线支持->问题定位功能 进行解决,如果仍然无法解决,请采集板子的底噪信息发给我司分析,我司会针对的进行优化。采集底噪会用到录音板,具体的使用说明可参考 ☞录音板使用说明。
通过前面的开发及优化,产品达到量产状态后,如您是由我司或我司方案商开发的固件,为确保生产固件的正确性,避免在生产中或者生产后发现固件存在问题而导致需要返工,我司建议您执行以下的固件确认制定流程。
综上,请您在有订单需求时,尽量计划好时间提前进行固件确认。如果麦克风和喇叭有定制修改,也请务必提前同步,以保障订单的按时交货。
我司提供完整的产品生产自动化测试方案,具体可参考 ☞自动化识别测试。
对于使用我司标准模块的客户:
对于使用我司芯片,进行模块研发的客户:
我司自研的自动化测试工装,如果采用一拖24的拼版,则每天可以生产加测试约1万台左右;如需采购请联系我司相关负责人,联系电话15107119906,联系邮箱:[email protected]。
建议您多留意我司的最新信息以及多和我司进行互动沟通,以保障您产品的开发进程和效果。关于公司的最新信息,您可以登录 ☞启英泰伦官网 或微信公众号“启英泰伦(微信号:Chipintelli)”了解。
关于更多的开发资料和信息请登录 ☞启英泰伦语音AI平台 获取。
如果您在使用中有任何问题,也欢迎通过以下方式和我司联系。 联系电话:028-61375925 联系邮箱:[email protected]