跳转至

自动化识别测试

正常情况下,语音识别测试时间较长,且产品开发时经常会有多次测试的情况发生,如按照传统人工测试的方式,耗时间长且效率低,会拖慢产品开发到量产的周期。因此,我司开发了一套自动化识别测试的方法,用电脑代替人工进行测试,可以有效降低人员使用,提升测试效率,加速产品测试过程。详细描述如下。

测试所需的设备及仪器

要进行自动化识别测试,需要先准备以下的设备(其中一些设备型号非强制,用户如果有同样规格功能的设备也可以更换使用):

序号 类别 设备 设备型号 设备品牌 作用 图片
01 电脑 台式机/笔记本 不限 不限 监测语音模块反馈是否准确输出测试结果 电脑
02 声音源 人工嘴 4227-A Brüel & Kjær 播放音频信号 声音源
03 噪声监测 精密噪音计(声级计) 1357 TES 测试到达麦克风的声压 噪音监测
04 噪声源 音箱/电视 监听音箱建议型号:FX8 Fluid Audio 播放噪声、模拟外部干扰音 噪声源
05 音频收集 高保真录音设备 R44 逻兰/Roland 音频的录制 音频收集
表1 语音识别测试设备


测试设备及仪器的布置

人工嘴

型号:4227-A
性能指标:

  • 额定输出声压SPL:
    • 200Hz - 2kHz ----- 110dB
    • 100Hz - 8kHz ----- 100dB
  • 失真(@94dB):
    • 200Hz - 250Hz ----- <2%
    • ’>‘250Hz ----- <1%
  • 阻抗 ----- 4Ω
  • 最大承受 ----- 10W
  • 瞬间承受功率 ----- 50W
  • 嘴径 ----- 20mm

人工嘴用于播放声音源,位置距离语音模块麦克风正前方,水平直线距离4-5米。声音源距离地面1-1.5m(模拟人声正常高度),如图1所示。

音频收集

图1 人工嘴摆放位置

噪声源(监听音箱)

型号:Fluid Audio FX8
性能指标:

  • 频率响应:35Hz - 22kHz(±3dB);
  • 交叉频率:2.4kHz;
  • 低频放大器功率:80 watts;
  • 高频放大器功率:50 watts;
  • 信号噪声:> 100dB(typical A-weighted);
  • 极性:正信号+输入时产生一个向外的低频位移;
  • 输入阻抗:20千欧(平衡式),10千欧(不平衡式);
  • 输入灵敏度:当音量控制设置为最大值(102dB的最大声压)时,输入85 毫伏的粉红噪声会产生95dBA的输出声压;
  • 电源:115V ~50/60 Hz 或230V~50/60 Hz(用户可进行切换);
  • 保护装置:射频干扰,输出电流限制,过温保护,瞬态开启/关;
  • 保护,超低音滤波器,外部电源保险丝;
  • 箱体:乙烯基层压中密度纤维板;
  • 尺寸(单个监听音箱):340毫米(高)x254毫米(宽)x270毫米(长);
  • 重量(单个监听音箱)):9.8千克。

如果没有监听音箱,也可以用电视代替。

语音模块和精密噪音计位于同一平面处(距离地面1米)。与语音模块麦克风距离大于或等于1.5米,不要超过2米,如图2所示。

精密噪音计

型号:TES 1357
性能指标:

  • 0.1dB 分辨率;
  • 测量范围30到130dB;
  • 1/1,⅓,⅙,1/12,1/24倍频程频谱分析软件(可选);
  • 准确度 ± 1.5dB (ref 94dB @1KHz);
  • 加权测量范围 30dB to 130dB;
  • C加权测量范围 35dB ~ 130dB;
  • 量测档位 30-80dB, 50-100dB, 60-110dB, 80-130dB;
  • 频率响应 31.5 Hz to 8KHz;
  • 数字显示 4 位数 LCD , 0.1dB resolution, updated every 0.5s;
  • AC / DC 信号输出 2Vrms/每档满刻度,10mV/dB。

精密噪音计与语音模块麦克风尽量靠近(两者之间距离≤5cm),但不能与语音模块麦克风接触,如图2所示。

电脑和待测模块

电脑和待测模块用USB转串口工具连接,电脑上可以接收到模块发来的串口信息。电脑、模块、精密噪音计(分贝仪)和噪音源的位置关系如图2所示。

音频收集

图2 噪声源摆放位置

布置好各类仪器设备和待测模块后,就可以使用我司提供的自动化测试工具进行测试。


自动化测试工具说明

我司自主开发了基于电脑的自动化测试工具,用户可以联系我们获得并使用。针对该工具说明如下:

自动化测试工具原理

自动化测试工具目录结构

图3 自动化测试工具原理

本工具原理如上图所示,使用同一局域网内两台可连接至网络的电脑,一台为噪音播放电脑,另一台运行自动化测试工具。噪音播放电脑里存放需要用到的噪音集并能与自动化测试电脑通过局域网络连通,自动化测试电脑上需要配置连接好USB转串口工具,用USB转串口连接待测语音模块。

使用工具时需要先配置好音频文件、固件和测试参数,运行自动化测试工具后,该工具读取配置文件,按照配置的项目顺序逐步确认串口信息和测试音频是否正常。工具会根据测试参数,执行是否自动升级固件,同时根据配置的测试参数发送指令到噪音播放电脑播放噪音,启动测试过程。自动测试结束后会自动统计识别结果生成文档,最后邮件自动发送识别结果到指定邮箱。

工具的目录结构

该工具是一个基于Windows的文件包,主目录下包含7个文件夹和一个可执行文件。文件夹如下所示:

  • /audio_files:测试播报音频存放目录
  • /param_save:参数保存目录
  • /playnoise:播报噪音工具
  • /preproccess_audio:音频预处理工具目录
  • /result:中间结果及最终结果存放目录
  • /result_merge_tool:其他汇总工具
  • /test_fw:测试固件存放目录

自动化测试工具目录结构

图4 自动化测试工具目录结构

可执行文件为工具执行程序,双击开始运行。

工具界面

自动化测试工具目录结构

图5 自动化测试工具界面

本工具界面如上图所示,有以下一些功能,分别描述如下:

  • 命令词播放间隔文本框:用于填写测试音频播放间隔时间,可根据情况手动设置;
  • 唤醒词播放间隔文本框:勾选离在线勾选框后可用,用于填写唤醒词音频播放间隔时间,可根据情况手动设置;
  • 邮件勾选框:用于确定是否开启测试完成自动发送结果邮件功能,勾选为开启;
  • 离在线勾选框:用于开启一唤醒一识别模式;
  • 自动升级勾选框:用于确定是否开启自动升级测试固件功能,勾选为开启;
  • 结果保存路径文本框:填写自动化测试完成后的详细测试结果存放目录,用户可自主选择结果有效的保存路径;
  • 音频预处理按钮:用于在准备的测试音频库里,筛选自动化测试时用于测试的音频放入测试播报音频存放目录;
  • 参数配置按钮:用于手动设定测试参数,包括测试串口、波特率等信息;
  • 结果处理工具按钮:用于开启测试结果的统计工具等功能;
  • 音频文件路径按钮:用于设置测试播报音频存放目录;
  • 仅播报按钮:用于选择只播报audio_files目录下的测试音频;
  • 开始测试按钮:用于开启自动化测试。

测试播报音频选取及存放

测试音频选取

我司录制的测试音频放在测试电脑的指定路径下面,需要进行测试时,准备好需要测试的命令词文件,可通过预处理音频工具将音频筛选出来。具体操作如下。

打开工具点击工具界面上的“音频预处理”,弹出如下下面

音频预处理工具界面

图6 音频预处理工具界面

本工具界面如上图所示,有以下一些功能,分别描述如下:

  • 音频源路径:用于填写录制的测试音频放在测试电脑的指定路径,可根据情况手动设置;
  • 音频目标路径:用于填写预处理音频工具处理完毕后筛选出的音频存放的路径,可根据情况手动设置;
  • 命令词文件路径:用于需要测试的命令词文件指定路径,可根据情况手动设置;
  • 单个命令词数单选框:用于选择命令词数;
  • 人中选:用于确认筛选标准,按照测试人筛选音频;
  • 词中选:用于确认筛选标准,按照测试命令词筛选音频。
  1. 获取音频文件

选择对应的文件路径及单个命令词需要的音频数量,根据实际需求,选择点击“人中选”或“词中选”,等待几分钟,就可以在音频目标路径D:\test下面获取对应的测试音频。
命令词文件格式及编码格式命令词文件为文本格式,如下:

命令词文件为文本格式

图7 命令词文件为文本格式

注:文件编码格式为utf-8无BOM格式。

  1. 音频预处理

音频标准化大部分情况,录制的各测试音频音量大小不一致,故进行测试之前须对音频进行标准化处理,标准化前后的音频如下所示。

音频预处理

图8 音频预处理

去音频前后静音为了加快测试,减少不必要的时间浪费,测试播报前,也要对单个音频前后的静音进行处理,处理前后的音频如下所示。

音频前后的静音处理

图9 音频前后的静音处理

测试音频存放要求

用户可以将准备好的音频存放到测试播报音频存放目录 audio_files 下,测试播报音频存放到此目录下有两种方式:

  1. 同一音频内容不同说话人的音频放一个音频目录下;

自动化测试工具音频按内容存放

图10 自动化测试工具音频按内容存放
  1. 同一说话人不同音频内容放一个音频目录下。

自动化测试工具音频按人存放

图11 自动化测试工具音频按人存放

测试音频格式要求

音频文件格式为*.wav格式。音频文件命名方式如下:

[0001]小薇小薇.wav
[0002]加热两分钟.wav
[0187]ALL-OPEN.wav
[0188]HELLO-JENNY.wav

注:[0001]代表序号可自行排序,“小薇小薇”为命令词\唤醒词(必须与预期输出结果一样,因为内部是通过字符串匹配来判定识别正确与否)。


自动化识别测试操作步骤

在上述仪器和设备均已准备好,确认两台电脑网络畅通且自动化测试电脑内已有自动化测试工具后,可以开始测试,其步骤如下:

固件制作

固件制作时,在user_config.h中配置如下宏:

#define DEBUG_PRINTF_FUNC_EN (0)

模块板串口2的发送结果须是如下形式:send result:小薇小薇0.343994。

注:为了避免硬件差异导致的测试不一致问题,建议测试时,每个固件使用两个模块板。

硬件连接及供电

硬件连接及供电

图12 硬件连接及供电

自动化测试电脑

用于连接测试模块,运行自动化测试工具,显示测试结果。

噪音播放电脑

用于连接自动化测试电脑,播放测试噪音环境。

接收识别结果串口

用于测试电脑接收测试模块识别结果,测试电脑端接收串口RX连接测试模块的TX2。

固件升级串口

用于测试模块升级固件,测试电脑端固件升级串口RX连接测试模块的TX1,TX连接测试模块的RX1。

发送播报噪音指令方式

用于自动播放测试噪音环境,在自动进行噪音环境测试时,可以通过测试电脑向噪音播报电脑发送指令来播报指定噪声,发送播报指令有串口与soket(网络)方式,可在配置文件中不同配置来区分。

供电

用于测试模块板5V供电,,如果使用HUB对多块测试板进行供电,则HUB需要用稳定直流电供电,否则会因供电不足或不稳导致识别结果较差。

填写配置文件

参数配置文件和保存目录

自动化测试工具可以用参数配置文件scheme.xls来设置参数,节省手动配置的时间,该文件存放在参数保存目录 param_save 下,具体配置方式如图6所示:

自动化测试工具配置文件

图13 自动化测试工具配置文件
  • 测试轮次:用于多轮测试(必须在最后一轮之后留空一轮,如图13第4轮所示);
  • 音频文件目录名:用于填写音频文件名称与 audio_files 目录下的音频文件名对应;
  • 升级/测试串口:用于填写测试模块连接串口号;
  • 波特率:用于填写串行波特率;
  • 测试对象名称:用于填写测试对象名称,可根据情况手动设置;
  • 升级使能串口:用于填写测试模块升级使能串口号;
  • 固件名称:用于填写固件名称(与atest_fw目录下的固件名称对应);
  • 噪声:用于填写噪音音频名称(与播报噪音电脑中播报噪音工具playnoise\by_socket\noise文件夹下噪音音频名称对应);
  • 邮件发送人:用于填写邮件号,所填写邮箱将在测试完成后收到测试结果,可根据情况手动设置或不填写。

注:最大测试固件数量是通过配置文件中的第一列中“第1轮”和“第2轮”所在的行号来确定的,故此列此两个merge的区域不能为空。

播报噪音电脑IP配置

  1. 如果使用串口发送播报噪音指令,将目录param_save目录下的play_noise_type.txt按下图14进行配置。

串口-噪音播报配置文件

图14 串口-噪音播报配置文件
  1. 如果使用socket发送播报噪音指令,则两台电脑必须在一个局域网内。然后将目录param_save目录下的play_noise_type.txt按下图15进行配置。

socket-噪音播报配置文件

图15 socket-噪音播报配置文件

准备音频和测试固件

准备好的音频存放到audio_files目录下,要求与配置文件对应,如下图16所示。

测试固件存放在目录test_fw目录下面,要求与配置文件对应,如下图16所示。

scheme.xls文件配置

图16 scheme.xls文件配置

测试软件设置和相关准备

双击打开工作目录下的可执行文件,根据自己需要选择保存路径,路径不能为. 。音频播报间隔时间默认2S,可根据情况手动设置。将噪音播放工具(目录playnoise)拷贝到噪音播放电脑上,并先于测试软件正常运行前启动。

开始测试

准备好后,点击“开始测试”按钮即可。如勾选邮件勾选框,则每测完一个项目,系统会通过邮件自动将结果发送到相关人员的邮箱中。


测试结果

测试完成后的测试结果会存放在主目录的 result 目录下,如图17所示。

识别结果目录

图17 识别结果目录

以测试六个项目、按五人次播报为例,测试结果summary.xls文件为五个测试人声播报完成后的每个项目的平均识别率,如图18所示。

识别率汇总

图18 识别率汇总

各项目的识别详细情况以CI1102_1为例,如图19所示。

识别详细情况

图19 识别详细情况

*.txt为每个人每个命令词的详细识别情况,如图20所示。测试工具测试过程中自动或强制退出时,该文件仍保留。

每个命令词的详细识别情况

图20 每个命令词的详细识别情况

*.xls为每个人每个命令词的详细识别情况及最终的平均识别率,是有在某一个人的测试音播报完成后才能生成,如图21所示。

每个人详细识别情况

图21 每个人详细识别情况