跳转至

离线语音足浴器设计应用案例

新用户建议先查看 ☞新手指南,了解开发的基础知识,再查看该文档。

1 概述

随着人们生活水平的提高,对产品的功能要求也越来越高,追求舒适的体验感,特别是对操控性的要求越来越高。目前足浴器产品的控制方式有以下几类:

  • 按键控制:传统控制方式,每次足浴时需要起身弯腰,操作麻烦;
  • 遥控控制:采用红外遥控或者蓝牙遥控,方便远距离控制,但遥控器容易丢,放置也麻烦。且遥控器上按键较少,当足浴器功能多的时候无法用单次按键控制全部的功能,组合按键不符合人们使用习惯;
  • 智能音箱控制:通过如天猫精灵等智能音箱直接控制,相对方便,但音箱需联网状态下才可使用,识别时有隐私安全问题,网络延时大时控制的实时性不好。

足浴器实物图

为了解决以上痛点,可以采用纯离线语音识别进行控制,在成本增加不大的情况下,为产品带来更多的亮点和竞争力。启英泰伦针对该产品领域,已开发了整套离线语音足浴器方案,下面对该方案进行介绍。


2 方案优势

启英泰伦离线语音足浴器相对传统足浴器方案,可让用户通过语音控制足浴器设备,替换传统遥控器或按钮控制的方式,该方案有以下优势:

  • 可以直接使用语音控制足浴器,自然方便,识别率可达95%以上;
  • 语音控制响应快,一般在0.2~0.8s内完成;
  • 可靠性好,芯片方案已通过双85测试,满足格力、美的等家电巨头要求;
  • 整套产品技术已成熟,具有完整的软件、硬件、结构设计方案,节省开发周期,降低开发难度;
  • 配合我司语音AI平台开发,可灵活定制唤醒词和命令词,不需要再专门收集语料训练。

语音控制足浴器


3 应用描述

语音足浴器产品的使用场景为普通家居环境,开启足浴器后环境噪音可达55dB ~ 65dB之间,我司专门针对该强度噪音进行训练,可达到较好的识别效果。该噪音环境下可以直接选用我司单麦克风语音模块,如CI-B0XGS01S或CI-B0XGS01S-H模块,以达到比较好的性价比。

特别注意,足浴器运行过程中,不同的功能,电机所产生的噪声有不小的差异,同时,为了达到最好的语音识别效果,在设计整机结构时,因注意控制噪音尽量小于65dB。


4 产品设计流程

一个基于我司芯片的标准语音产品设计流程如下图所示:

产品设计流程

该流程主要针对我司新用户开发产品使用,包含了前期购买样品Demo进行验证,硬件选型,语音对话逻辑、软硬件方案和结构设计,设计完成后的测试,以及生产测试准备和后续批量采购等步骤。如果是已经熟悉我司方案的老用户,可以直接从中间步骤开始,不用再重复进行Demo测试等工作。

下面针对新用户的开发,对上述流程中的各个步骤逐一描述。

4.1 DEMO测试

针对新用户,可以先从我司授权的经销商或直接从我司官网 ☞样品购买 处购买对应的模块或开发板套件,进行识别效果测试,相关的软硬件技术文档可以从本文档中心处获取。用户测试满意后,可以进行硬件选型。

4.2 选型指南

用户硬件选型可以直接参考 ☞硬件选型 ,如果用户想快速产品化,推荐直接使用我司已设计好的标准模块;如果现有标准模块无法满足产品的结构需求,也可以选用合适的芯片进行硬件板的设计。

4.3 方案设计

选择好合适的芯片或模块后,可根据产品的功能进行下述设计:

如用户为首次进行语音方案开发,建议到 ☞启英泰伦语音AI平台 上获取基于相关芯片的语音产品方案设计Checklist文档,进行逐一检查以确保设计效果。如有技术支持需求请联系我司技术支持人员。

4.4 测试验收

产品方案设计完成形成样品后,建议对该样品进行相关的识别测试,相关测试方法和标准可参考 ☞识别效果测试。同时,还建议根据产品质量的要求进行各类硬件测试,如双85测试、静电测试、防水测试等。为了保证最终的识别效果,还建议进行硬件底噪的测试及产品装机后的整机功能测试。

4.5 生产测试

样机测试完成后,会转入后续产线批量生产阶段。我司为产品的批量生产做了完善的解决方案,用户可以参考 ☞生产测试 获取更多信息。用户如需要生产测试的相关技术支持,请联系我司技术人员。

4.6 下单采购

用户如果要采购我司产品样品,请点击 ☞样品购买 ,也可以点击 ☞样品和批量采购 获取更多信息。


5 足浴器设计方案介绍

5.1 方案特点

用户可以用我司的芯片设计语音控制板,和原产品的电控板通过串口进行通讯,也可以实现语音足浴器的产品设计。该方式开发相对简单,可以快速对接完成产品,但成本略高,适用于需快速出产品的的方案或者第一次接触语音识别的方案。

该方案的设计框图如下,语音模块与电控模块需要4根线的串口连接,语音模块进行语音识别及根据足浴器的状态进行信息播放,控制由电控模块完成。

串口通信方案

5.2 硬件设计参考

用户可以使用我司芯片设计需要要求的语音模块,但为快速开发,推荐直接使用我司的以下标准模块:

  • CI-B02GS03T:适合空间比较高,纵深长的结构,串口接口电平为3.3V;
  • CI-B02GS01S:适合空间比较矮的结构,串口接口电平为3.3V;
  • CI-B02GS01J:适合有空间放置固定语音模块的结构,原来的硬件改动较小,串口接口电平为5V。

足浴器使用的标准模块

用户直接使用我司标准语音模块时,有以下注意事项:

  • 将语音模块板的串口跟电控串口对接,注意电控的供电需要大于500mA;
  • 注意串口的电平要匹配,CI-B02GS01J支持5V电平,其他的模块支持3.3V,如果电控板使用5V电平,CI-B02GS01J可以对接直接串口,其它模块需要增加电平转换电路,如下图所示:

电平转换电路

5.3 串口通讯方式

语音模块与电控模块通过串口进行信息交互,主要有两种方式,一种为语音模块主动播放,同时将信息发电控模块;另一种为语音模块被动播放,其分别描述如下:

语音模块主动播放模式

主动播报方式

主动播放方式主要执行以下动作:

  1. 识别到词条;
  2. 主动播放反馈声音;
  3. 将此条信息串口告知电控模块;
  4. 电控模块执行动作。

该方式的优点在于控制方式简单,由语音模块单线输出信息给电控模块。但缺点在于无法根据足浴器的情况及按键情况进行语音反馈。

语音模块被动播放模式

被动播报方式

被动播放方式主要执行以下动作:

  1. 语音模块识别到词条;
  2. 将词条信息串口告知电控模块;
  3. 电控模块执行相关动作;
  4. 告知语音模块需要播放的内容;
  5. 语音模块根据电控模块反馈进行播放。

该方式的优点在于语音模块根据电控模块的状态进行播放对应内容,可以进行最合适的反馈,体验感好;同时如果电控模块通过按键或者遥控进行控制,语音模块也可以进行状态播放。缺点在于会多一次串口通信的过程。

5.4 SDK包说明和模块串口通讯协议

我司为用户提供了串口通讯方案完整的SDK包,用户可以到 ☞启英泰伦语音AI平台 上获取相关SDK开发包。

模块的串口通讯建议使用我司标准协议,具体格式请参考 ☞串口协议

以下是语音模块发给电控模块的一个命令词及协议参考:

命令词 帧头 长度 类型 命令 序号 语音ID 保留 分数 累加和 帧尾
智能管家 A5 FC 07 00 A0 91 XX 00 00 00 01 00 00 XX XXXX FB
开机 A5 FC 07 00 A0 91 XX 00 00 00 02 00 00 XX XXXX FB
打开足浴器 A5 FC 07 00 A0 91 XX 00 00 00 03 00 00 XX XXXX FB
打开冲浪 A5 FC 07 00 A0 91 XX 00 00 00 04 00 00 XX XXXX FB
开启冲浪 A5 FC 07 00 A0 91 XX 00 00 00 05 00 00 XX XXXX FB
打开冲浪加热 A5 FC 07 00 A0 91 XX 00 00 00 06 00 00 XX XXXX FB
开启冲浪加热 A5 FC 07 00 A0 91 XX 00 00 00 07 00 00 XX XXXX FB
四十度 A5 FC 07 00 A0 91 XX 00 00 00 08 00 00 XX XXXX FB
四十一度 A5 FC 07 00 A0 91 XX 00 00 00 09 00 00 XX XXXX FB
四十二度 A5 FC 07 00 A0 91 XX 00 00 00 10 00 00 XX XXXX FB
四十三度 A5 FC 07 00 A0 91 XX 00 00 00 11 00 00 XX XXXX FB
四十四度 A5 FC 07 00 A0 91 XX 00 00 00 12 00 00 XX XXXX FB
四十五度 A5 FC 07 00 A0 91 XX 00 00 00 13 00 00 XX XXXX FB
关闭冲浪 A5 FC 07 00 A0 91 XX 00 00 00 14 00 00 XX XXXX FB
停止冲浪 A5 FC 07 00 A0 91 XX 00 00 00 15 00 00 XX XXXX FB
关闭冲浪加热 A5 FC 07 00 A0 91 XX 00 00 00 16 00 00 XX XXXX FB
停止冲浪加热 A5 FC 07 00 A0 91 XX 00 00 00 17 00 00 XX XXXX FB
打开按摩 A5 FC 07 00 A0 91 XX 00 00 00 18 00 00 XX XXXX FB
开启按摩 A5 FC 07 00 A0 91 XX 00 00 00 19 00 00 XX XXXX FB
打开电动按摩 A5 FC 07 00 A0 91 XX 00 00 00 20 00 00 XX XXXX FB
开启电动按摩 A5 FC 07 00 A0 91 XX 00 00 00 21 00 00 XX XXXX FB
关闭按摩 A5 FC 07 00 A0 91 XX 00 00 00 22 00 00 XX XXXX FB
停止按摩 A5 FC 07 00 A0 91 XX 00 00 00 23 00 00 XX XXXX FB
关闭电动按摩 A5 FC 07 00 A0 91 XX 00 00 00 24 00 00 XX XXXX FB
停止电动按摩 A5 FC 07 00 A0 91 XX 00 00 00 25 00 00 XX XXXX FB
睡眠模式 A5 FC 07 00 A0 91 XX 00 00 00 26 00 00 XX XXXX FB
健康模式 A5 FC 07 00 A0 91 XX 00 00 00 27 00 00 XX XXXX FB
舒适模式 A5 FC 07 00 A0 91 XX 00 00 00 28 00 00 XX XXXX FB
暖足模式 A5 FC 07 00 A0 91 XX 00 00 00 29 00 00 XX XXXX FB
关闭模式 A5 FC 07 00 A0 91 XX 00 00 00 30 00 00 XX XXXX FB
定十分钟 A5 FC 07 00 A0 91 XX 00 00 00 31 00 00 XX XXXX FB
定二十分钟 A5 FC 07 00 A0 91 XX 00 00 00 32 00 00 XX XXXX FB
定三十分钟 A5 FC 07 00 A0 91 XX 00 00 00 33 00 00 XX XXXX FB
定四十分钟 A5 FC 07 00 A0 91 XX 00 00 00 34 00 00 XX XXXX FB
定五十分钟 A5 FC 07 00 A0 91 XX 00 00 00 35 00 00 XX XXXX FB
定六十分钟 A5 FC 07 00 A0 91 XX 00 00 00 36 00 00 XX XXXX FB
关闭足浴器 A5 FC 07 00 A0 91 XX 00 00 00 37 00 00 XX XXXX FB
十分钟 A5 FC 07 00 A0 91 XX 00 00 00 38 00 00 XX XXXX FB
二十分钟 A5 FC 07 00 A0 91 XX 00 00 00 39 00 00 XX XXXX FB
三十分钟 A5 FC 07 00 A0 91 XX 00 00 00 40 00 00 XX XXXX FB
四十分钟 A5 FC 07 00 A0 91 XX 00 00 00 41 00 00 XX XXXX FB
五十分钟 A5 FC 07 00 A0 91 XX 00 00 00 42 00 00 XX XXXX FB
六十分钟 A5 FC 07 00 A0 91 XX 00 00 00 43 00 00 XX XXXX FB
关机 A5 FC 07 00 A0 91 XX 00 00 00 44 00 00 XX XXXX FB

以下是一个电控模块发给语音模块的通讯协议参考:

对应播报音 帧头 长度 类型 命令 序号 控制 播放类型 播放序号 保留 累加和 帧尾
智能管家 A5 FC 07 00 A1 92 XX 80 92 00 00 00 01 0 XXXX FB
开机 A5 FC 07 00 A1 92 XX 80 92 00 00 00 02 0 XXXX FB
打开足浴器 A5 FC 07 00 A1 92 XX 80 92 00 00 00 03 0 XXXX FB
打开冲浪 A5 FC 07 00 A1 92 XX 80 92 00 00 00 04 0 XXXX FB
开启冲浪 A5 FC 07 00 A1 92 XX 80 92 00 00 00 05 0 XXXX FB
打开冲浪加热 A5 FC 07 00 A1 92 XX 80 92 00 00 00 06 0 XXXX FB
开启冲浪加热 A5 FC 07 00 A1 92 XX 80 92 00 00 00 07 0 XXXX FB
四十度 A5 FC 07 00 A1 92 XX 80 92 00 00 00 08 0 XXXX FB
四十一度 A5 FC 07 00 A1 92 XX 80 92 00 00 00 09 0 XXXX FB
四十二度 A5 FC 07 00 A1 92 XX 80 92 00 00 00 0A 0 XXXX FB
四十三度 A5 FC 07 00 A1 92 XX 80 92 00 00 00 0B 0 XXXX FB
四十四度 A5 FC 07 00 A1 92 XX 80 92 00 00 00 0C 0 XXXX FB
四十五度 A5 FC 07 00 A1 92 XX 80 92 00 00 00 0D 0 XXXX FB
关闭冲浪 A5 FC 07 00 A1 92 XX 80 92 00 00 00 0E 0 XXXX FB
停止冲浪 A5 FC 07 00 A1 92 XX 80 92 00 00 00 0F 0 XXXX FB
关闭冲浪加热 A5 FC 07 00 A1 92 XX 80 92 00 00 00 10 0 XXXX FB
停止冲浪加热 A5 FC 07 00 A1 92 XX 80 92 00 00 00 11 0 XXXX FB
打开按摩 A5 FC 07 00 A1 92 XX 80 92 00 00 00 12 0 XXXX FB
开启按摩 A5 FC 07 00 A1 92 XX 80 92 00 00 00 13 0 XXXX FB
打开电动按摩 A5 FC 07 00 A1 92 XX 80 92 00 00 00 14 0 XXXX FB
开启电动按摩 A5 FC 07 00 A1 92 XX 80 92 00 00 00 15 0 XXXX FB
关闭按摩 A5 FC 07 00 A1 92 XX 80 92 00 00 00 16 0 XXXX FB
停止按摩 A5 FC 07 00 A1 92 XX 80 92 00 00 00 17 0 XXXX FB
关闭电动按摩 A5 FC 07 00 A1 92 XX 80 92 00 00 00 18 0 XXXX FB
停止电动按摩 A5 FC 07 00 A1 92 XX 80 92 00 00 00 19 0 XXXX FB
睡眠模式 A5 FC 07 00 A1 92 XX 80 92 00 00 00 1A 0 XXXX FB
健康模式 A5 FC 07 00 A1 92 XX 80 92 00 00 00 1B 0 XXXX FB
舒适模式 A5 FC 07 00 A1 92 XX 80 92 00 00 00 1C 0 XXXX FB
暖足模式 A5 FC 07 00 A1 92 XX 80 92 00 00 00 1D 0 XXXX FB
关闭模式 A5 FC 07 00 A1 92 XX 80 92 00 00 00 1E 0 XXXX FB
定十分钟 A5 FC 07 00 A1 92 XX 80 92 00 00 00 1F 0 XXXX FB
定二十分钟 A5 FC 07 00 A1 92 XX 80 92 00 00 00 20 0 XXXX FB
定三十分钟 A5 FC 07 00 A1 92 XX 80 92 00 00 00 21 0 XXXX FB
定四十分钟 A5 FC 07 00 A1 92 XX 80 92 00 00 00 22 0 XXXX FB
定五十分钟 A5 FC 07 00 A1 92 XX 80 92 00 00 00 23 0 XXXX FB
定六十分钟 A5 FC 07 00 A1 92 XX 80 92 00 00 00 24 0 XXXX FB
关闭足浴器 A5 FC 07 00 A1 92 XX 80 92 00 00 00 25 0 XXXX FB
十分钟 A5 FC 07 00 A1 92 XX 80 92 00 00 00 26 0 XXXX FB
二十分钟 A5 FC 07 00 A1 92 XX 80 92 00 00 00 27 0 XXXX FB
三十分钟 A5 FC 07 00 A1 92 XX 80 92 00 00 00 28 0 XXXX FB
四十分钟 A5 FC 07 00 A1 92 XX 80 92 00 00 00 29 0 XXXX FB
五十分钟 A5 FC 07 00 A1 92 XX 80 92 00 00 00 2A 0 XXXX FB
六十分钟 A5 FC 07 00 A1 92 XX 80 92 00 00 00 2B 0 XXXX FB
关机 A5 FC 07 00 A1 92 XX 80 92 00 00 00 2C 0 XXXX FB

注意:

  1. ASR语言模型中文建议选择SE159,其他语种请使用对应语种的模型。如果足浴器本身噪音大于60dB,建议打开降噪功能。
  2. 串口设置:
    • 波特率:9600
    • 停止位:1
    • 数据位:8
    • 奇偶校验:无
  3. 代码中通过判断 “命令+语音ID”获取是什么指令和功能。
  4. 发送的串口信息建议要检查完整性,可以用以下的checksum参考代码来实现。
#define VMUP_MSG_DATA_MAX_SIZE (20)//可根据实际数据大小调整

#pragma pack(1)
typedef struct
{
    uint16_t header;
    uint16_t data_length;
    uint8_t msg_type;
    uint8_t msg_cmd;
    uint8_t msg_seq;
    uint8_t msg_data[VMUP_MSG_DATA_MAX_SIZE];
    /*uint16_t chksum; send add auto*/
    /*uint8_t tail; send add auto*/
}sys_msg_com_data_t;
#pragma pack()

unsigned short Uart_Checksum(sys_msg_com_data_t * msg)
{
    unsigned char i;
    unsigned short t16_lenth;
    unsigned short t16_check = 0;
    uint8_t* rxbuf = uint8_t*&msg->msg_type

    t16_lenth = msg->data_length + 3;//cmd_type,cmd,sequence 加上data数据的长度 
    if(t16_lenth > VMUP_MSG_DATA_MAX_SIZE + 3)//data length error
    {
        return 0xffff;
    } 
    for(i=4;i<t16_lenth;i++)
    {
        t16_check +=  rxbuf[i];
    }
    return t16_check
}

6 产品结构相关注意事项

6.1 麦克风结构设计

足浴器产品在设计结构时,针对麦克风应当注意以下事项:

  • 麦克风布局尽量远离足浴器的电机、出口管等噪声源;
  • 麦克风放在足浴器的顶部位置避免遮挡,保证拾音最大范围;
  • 分贝仪测试电机工作+按摩震动工作时下,麦克风处的稳态噪声需小于65dB;
  • 麦克风连线较长可选择带屏蔽的线;
  • 麦克风线扎捆远离电机或电控线。

下图为例,讲述麦克风结构开孔及位置的建议方式,固定麦克风的结构件也需要考虑麦克风线方便引出导线和避免干扰。

足浴器结构

6.2 喇叭结构设计

足浴器产品在设计结构时,针对喇叭应当注意以下事项:

  • 考虑到音质,喇叭功率不能太小,建议选用1W以上喇叭,带音腔的喇叭效果会更好一点,同时注意硬件板上的功放驱动能力要匹配喇叭型号;
  • 喇叭放置位置以美观及结构布局方便为主,但注意尽量避免和麦克风放在同一位置;
  • 不带音腔喇叭可以在结构上做一个音腔密封后能增大音量输出。

下图是一个喇叭规格及开孔的建议。

喇叭结构

6.3 其它注意事项

  • 建议选择-32dB±3dB,信噪比大于70dB以上,性价比高的全向模拟麦克风;
  • 若电机按摩旋转震动比较大,选择较厚的麦克风胶套减缓震动,可减小对识别效果的影响;
  • 该类产品易接触水或积累灰尘,需要选择防水防尘的麦克风;
  • 特别注意禁止直接点热溶胶用于固定麦克风头;
  • 将麦克风完全插入固定孔内部,避免歪斜,拾音孔中心孔对准麦克风的中心;
  • 足浴器内部接线多容易扯松,插头配插座带卡扣会更牢固;
  • 选择符合环保RoHS要求的RTV硅胶,推荐常用的硅胶有703/704/737等,或其它有机材料、单组分室温固化硅胶等;
  • 多数硅橡胶灌胶厚度小于3mm以内实温完全固化时间为8 ~ 12小时,灌胶厚度 > 3mm以上完全固化时间更长,可分层多次浇灌,确保完全固化稳定密封;
  • 生产工艺可把固定麦克风工序提前,另外特别注意麦克风接线在重力拉扯下,未完全固化前容易导致麦克风扯歪,也需注意将麦克风插线固定好。

选型及注意


7 相关参考资料列表

编号 参考资料描述 获取方式
1 标准离线SDK
CI110X_SDK_ASR_Offline
请到 ☞启英泰伦语音AI平台 上获取
2 SDK Demo:
串口通讯方案SDK
请到 ☞启英泰伦语音AI平台 上获取
3 测试固件 到 ☞启英泰伦语音AI平台 上获取
4 我司芯片和模块的选型指南 请点击 ☞硬件选型指南 查看
5 我司芯片硬件设计方法参考 请点击 ☞硬件设计参考 查看
6 麦克风和喇叭器件选型 请点击 ☞外围器件兼容列表 查看
7 产品结构设计 请点击 ☞产品结构设计 查看
8 软件开发方法和标准SDK说明 请点击 ☞软件开发 查看各部分内容
9 产品识别性能测试方法 请点击 ☞识别效果测试 查看
10 生产测试的方法 请点击 ☞生产测试 查看

用户如遇到使用问题,请到启英泰伦语音AI平台上提交技术工单,或直接联系我司技术人员获取协助。