跳转至

批量处理工具使用说明

1. 概述

本文档为我司标准语音模块批量处理工具使用说明,批量处理工具是SDK固件生成工具之一,其作用是声学模型、语言模型和播放音频等分别生成可执行的二进制Bin文件。本文档将对工具的内容及使用做详细地介绍,旨在帮助开发人员快速实现语音开发。


2. 文件说明

我司提供的每一个标准的SDK都会有一个firmware的文件夹,里面分别放置的是语言模型asr、声学模型dnn、命令词表user_file和播报音频voice,批量处理工具的作用就是将上述文件夹中的内容分别打包生成可执行的二进制bin文件,为串口升级工具提供分区bin文件,以生成最终固件。这里以标准SDK中的sample_1103离线识别工程为例进行说明,firmware文件夹如下图所示,其路径为:CI110X_SDK\sample\internal\sample_1103\firmware。其中合成分区bin文件.bat就是调用批量工具的脚本文件。

firmware文件夹

2.1. asr目录

  • [1]asr_zn_SE150_CI1103_wake.dat:唤醒词语言模型,由 ☞启英泰伦语音AI平台 生成,如需替换请参照章节5;

  • [0]asr_zn_SE150_CI1103.dat:命令词语言模型,由 ☞启英泰伦语音AI平台 生成,如需替换请参照章节5。

asr目录

2.2. dnn目录

dnn目录

2.3. user_file目录

  • [60000]{智能管家}cmd_info.xls:开发者自定义的命令词列表,由 ☞启英泰伦语音AI平台 生成,如需替换请参照章节5;

  • cmd_info.bat:将命令词列表生成bin文件的脚本。

user_file目录

打开[60000]{智能管家}cmd_info.xls表格后,可看到下列两个工作sheet表:

(1)工作表<0>group1

  • DNN ID :0,对应dnn目录声学模型的前缀编号,[0]GE-CH-S-V00150.fefixbin3676;

  • ASR ID:0,对应asr目录命令词语言模型前缀编号,[0]asr_zn_SE150_CI1103.dat;

  • VOICE GROUP ID:0,对应voice目录下目录前缀编号,[0]voice_zhinengguanjia_chn;

工作表

(2)工作表<1>group2

  • DNN ID:0,对应dnn目录声学模型的前缀编号,[0]GE-CH-S-V00150.fefixbin3676;

  • ASR ID:1,对应asr目录,命令词语言模型的前缀编号,[1]asr_zn_SE150_CI1103_wake.dat;

  • VOICE GROUP ID:0,对应voice目录下目录的前缀编号,[0]voice_zhinengguanjia_chn。

工作表

注意

2.4. voice目录

  • [0]voice_zhinengguanjia_chn:里面存放的是 ☞启英泰伦语音AI平台 生成的原始播报音频。如需替换请参照章节5。

注意

  • 直接存放原始音频在该目录下,不必用其他工具转换,客户如需使用特定格式的音频,可参照步骤3.1;
  • 原始音频目前只支持16K采样率,16bit,单声道的WAV格式的音频。

voice目录


3. 工具说明

批量处理工具如下图所示,其路径为:CI110X_SDK\tools。

批量处理工具

  • asr_merge.exe:将语言模型中的命令词模型[0]asr_zn_SE150_CI1103.dat和唤醒词模型[1]asr_zn_SE150_CI1103_wake.dat生成一个asr.bin文件;

  • cmd_info.exe:将命令列表[60000]{智能管家}cmd_info.xls生成[60000]{智能管家}cmd_info.xls.bin文件;

  • dnn_merge.exe:将声学模型[0]GE-CH-S-V00150.fefixbin3676生成dnn.bin文件;

  • ffmpeg.exe:用于处理音频的编解码器;

  • file_merge.exe:将user_file文件夹中多个文件合成一个user_file.bin文件;

  • group_merge.exe:通用合成工具,将多个以[数字]开头的文件合成一个bin文件;

  • wav_to_adpcm.exe:将播报音频源文件采用pcm或adpcm的方式编解码,生成voice.bin文件;

  • wav_to_mp3_flac.exe:将播报音频源文件采用mp3或flac的方式编解码,生成voice.bin文件。


4. 使用说明

  • 批量处理工具的使用只需双击合成分区bin文件.bat脚本即可,该脚本会自动调用章节3中介绍的工具,并生成对应的bin文件,双击该脚本之后提示框内容如下:

使用说明

  • 如果最终播报音频需要使用adpcm格式,直接点击enter即可。如果需要使用pcm、flac、mp3其中一种格式的音频,对应输入编号再点击enter;

  • 等转码运行结束后,提示框消失即为打包成功,成功之后,会在SDK\internal\sample_11xx\firmware\asr、dnn、user_file、voice各自目录下自动生成固件打包所需的asr.bin、dnn.bin、user_file.bin和voice.bin文件。

注意

sample_1102和sample_1103两个工程下,合成分区bin文件.bat有些许不同,sample_1102工程下的只支持前3种播报音音频格式,不支持mp3格式。sample_1122支持多种格式。


5. 替换文件说明

  • 如果想自定义喜欢的命令词,首先得学会制作命令词、播报音。关于 ☞启英泰伦语音AI平台 的使用说明,请参考文档 ☞《命令词和固件制作指南》 页面,或参考语音AI平台上的示例。制作完成后,替换asr,dnn,voice,user_file3个目录下的文件;

  • 假设已经做好了命令词、播报音。语音AI平台会生成:一个语言模型压缩包,一个声学模型压缩包,一个播报音压缩包。

5.1. 替换asr目录下文件

(1)解压语言模型压缩包,得到下列三个文件夹;

替换asr目录下文件

(2)将目录 GfstWake 下的.dat文件放到asr目录,替换原来的唤醒词语言模型[1]asr_zn_SE150_CI1103_wake.dat;

(3)将目录 GfstCmd 下的.dat文件放到asr目录,替换原来的命令词语言模型[0]asr_zn_SE150_CI1103.dat。

注意

平台生成的唤醒词、命令词语言模型除前缀编号、大小不同外,名称一样,可修改除前缀编号以外的名称区分。且不允许同时存在两个以上前缀编号相同的文件,如需保留原有的文件,把原有文件编号删除即可。同时这里的前缀号需要与章节2.3中命令词列表中的前缀编号对应。

5.2. 替换user_file\cmd_info目录下文件

用语言模型压缩包,CmdWordStructure 目录下[60000]{cmd_info}.xls文件,替换原来的[60000]{智能管家}cmd_info.xls。前缀编号必须为[60000]开头才有效。

注意

不允许同时存在两个以上前缀编号相同的文件,如需保留原有的文件,把原有文件编号删除即可。

5.3. 替换dnn目录下文件

解压声学模型压缩包,得到一个后缀名为.fefixbin3676的文件,在文件名前添加前缀编号[0],替换原来的[0]GE-CH-S-V00150.fefixbin3676。

注意

不允许同时存在两个以上前缀编号相同的文件,如需保留原有的文件,把原有文件编号删除即可。

5.4. 替换voice目录下文件

(1)解压播报音压缩包后,得到下列文件,里面的音频默认带有前缀编号;

替换voice目录下文件

(2)在voice目录下新建一个任意英文名的文件夹x,将解压文件TTS_wav里的.wav文件拷贝到文件夹x,修改文件夹前缀编号为[0],删除原来[0]voice_zhinengguanjia_chn文件夹的前缀编号[0];

(3)或者直接将TTS_wav里的文件,拷贝到[0]voice_zhinengguanjia_chn替换原来的音频。

5.5. 检查对应关系

(1)打开[60000]{cmd_info}.xls,检查各模型名的标号是否对应,命令词与播报音的内容是否对应,检查修改即可;

(2)检查完成后,关闭表格,可直接按照章节4,生成分区bin文件。