基于频谱分析仪的语音识别及控制软件系统设计

2024-09-14 00:00:00赵元琪尹永柯王洪君房明
现代电子技术 2024年6期
关键词:语音识别

摘 "要: 随着数据处理技术的进步和人工智能领域的高速发展,用户在对仪器的实际使用中持续追求更为高效便捷的操控方式,同时也相当看重使用过程的灵活性和准确性,语音数据因其实用性和高效性而被广泛使用。因此,提出一种基于频谱分析仪的语音识别及控制软件系统。该系统支持Ubuntu 18.04及以上版本操作系统,通过语音指令实现对频谱分析仪的控制,可以实现语音唤醒、语音录入及保存、离线语音识别并转换为文字文本、可执行代码等功能。

关键词: 语音识别; 控制软件; 频谱分析仪; Ubuntu; 语音唤醒; 语音听写

中图分类号: TN911.23⁃34; TP311.5 " " " " " " " " "文献标识码: A " " " " " " " " 文章编号: 1004⁃373X(2024)06⁃0027⁃05

Design of speech recognition and control software system based on spectrum analyzer

ZHAO Yuanqi, YIN Yongke, WANG Hongjun, FANG Ming

(School of Information Science and Engineering, Shandong University, Qingdao 266237, China)

Abstract: With the advancement of data processing technology and the rapid development of artificial intelligence, user continue to pursue more efficient and convenient control methods in the actual use of instruments, while also placing great importance on the flexibility and accuracy of the use process. Speech data is widely used due to its practicality and efficiency. A speech recognition and control software system based on a spectrum analyzer is proposed. This system can support Ubuntu 18.04 and above operating systems, and control the spectrum analyzer by means of the voice commands. It can achieve functions such as voice wake up, voice input and save, offline voice recognition and conversion to text, and executable code.

Keywords: speech recognition; control software; spectrum analyzer; Ubuntu; voice wake⁃up; voice dictation

0 "引 "言

近年来,移动互联网快速普及,语音数据因其实用性和高效性在现代生活中扮演着重要角色[1]。现如今,语音识别也已经成为智能生活里重要的一部分[2⁃5]。它可以为个人语音助手、语音输入、智能音箱等应用场景提供相关的技术基础[6⁃8],成为一种新的人机交互方式[9]。但现有的诸如智能音箱、语音助手等端侧产品[10]只支持有限数量的命令词识别,根本不足以满足频谱分析仪众多功能的应用需求[11⁃12]。因此,提出新的、可以更广泛高效地适用于频谱分析仪的语音识别及控制的软件系统是亟待解决的关键问题。

基于此,本文设计开发了一套基于频谱分析仪的语音识别及控制软件,包含语音唤醒、语音录入及保存、离线语音识别并转换为文字文本、可执行代码等功能。该系统通过语音信息最终实现对频谱分析仪等仪器的控制,并满足频谱分析仪众多功能所对应的大量相关程控指令映射。基于频谱分析仪的语音识别及控制软件系统,将仪器的使用智能化,使仪器在实际使用中更加便捷和高效。

1 "相关技术研究

1.1 "基本开发技术

本文基于科大讯飞SDK[13]开发了一款基于频谱分析仪的语音识别及控制软件,可以部署在频谱分析仪等大型仪器设备上,包含语音唤醒、语音录入并保存、离线语音识别并转换成文字、SCPI程控指令等功能,支持Ubuntu 18.04及以上版本操作系统,通过自然语言音频完成对频谱分析仪及信号的操控。

1.2 "关键技术

1.2.1 "离线命令词识别

离线命令词识别是基于语法规则,将与语法一致的自然语言音频转换为文本输出的技术。语法识别的结果值域只在语法文件所列出的规则里,故有很好的匹配率。

1.2.2 "离线语音听写

语音听写是基于自然语言处理,将自然语言音频转换为文本输出的技术。语音听写技术与语法识别技术的不同在于,语音听写不需要基于某个具体的语法文件,其识别范围是整个语种内的词条。

1.2.3 "语音唤醒

语音唤醒是通过辨别输入的音频中特定的词语,返回被命中的唤醒结果,应用通过回调的结果,进行下一步的处理,如点亮屏幕或与用户进行语音交互等。

1.2.4 "BNF语法文件

科大讯飞SDK提供了基础语法文件规则,用户在使用时可以自定义需要使用的关键词和相关的语法文件,设置语音输入的语序。本文中所用到的关键词识别是基于语法规则,将与语法一致的自然语言音频转换为文本输出的技术。在第一次使用某语法进行识别时,需先编写一个语法文件,然后通过调用特定接口编译本地语法文件,以及获得语法ID,并在会话时传入语法ID以使用该语法。在之后的会话中,继续使用此语法进行识别,无需再次构建。

1.3 "创新技术

1.3.1 "离线场景下的功能实现

在现实环境当中,许多地区都缺乏基础的移动通信技术。因此,为满足在特殊应用场景下对操作指令进行语音识别的操作需求,使系统能够适应海上、高原、偏远地区等无法稳定联网的应用场景,系统可以直接部署在频谱分析仪上,并在本地构建离线的语法文件和数据库,使系统在语音识别关键词过程中,可以不必连接到云端数据库进行数据的上传下载和调取,而直接从本地设备的数据库中进行查询和调取来完成相关的语音指令,实现响应。

离线系统不需要频繁地请求响应端口的连接,因此大幅度地提高了系统的响应速度和语音识别效率,加快了语音识别和语音指令的执行进程。

1.3.2 "针对特殊变量的BNF语法文件处理方法

在离线状态下,只能识别到语法文件中已经定义过的文字指令,但无法识别得到类似“25.5”的数字变量和形如“MHz”“ms”的单位变量。针对该问题,本文提出一种针对含数字变量和单位变量的指令识别的BNF语法文件编写方法和识别内容的处理算法。

在编写BNF语法文件时声明槽lt;numbergt;、槽lt;numberunitgt;和槽lt;unitgt;,分别用来存储形如“零”“一”“二”“两”“三”“四”“五”“六”“七”“八”“九”的数字变量,形如“十”“百”“千”“万”的数字单位和形如“赫兹”“K赫兹”“兆赫兹”“G赫兹”“微秒”“毫秒”“秒”等常用单位。该特定算法包括数字识别、汉字与阿拉伯数字转换算法、单位识别转换算法等,解决了实际使用中可能遇到的带特殊数字变量和特殊单位变量类指令的动态识别问题,扩大了离线命令词识别的可识别命令词范围。

1.3.3 "锁定语音唤醒及语音识别状态的技术

根据实际使用需求和使用逻辑,系统需要先进行语音唤醒,唤醒成功后再进入语音识别,因此本文提出使用双线程。为防止线程冲突,软件设置两个标志位,分别用于标注是否可被唤醒和是否被唤醒。当软件系统处于不同功能状态时,需要服从对应状态的执行流程。首先等待语音唤醒,语音唤醒成功后将启动软件系统的使用,3 s内如无语音输入,则重新等待语音唤醒。当处于历史记录或历史指令编辑状态时,可继续进行语音识别,但如3 s内没有语音输入,则退出语音识别状态,且不再监听语音唤醒关键词,即不可被唤醒,直到重新返回到主界面,才开始重新监听唤醒关键词。当处于执行对可执行代码的编辑操作时,既不进行语音唤醒的监听,也不进行语音识别。

1.3.4 "命令词功能分级方法

由于频谱分析仪等仪器具有数量庞大、种类繁复的机器指令,因此在编写BNF语法文件时,会涉及到当所要识别的关键词数量庞大时,语音识别模型存储和识别受限的问题。因此,本文将数量庞大的命令词按照功能层级,有序分类至多个不同的BNF语法文件中。在功能切换时,利用专属算法,按照切换到的测量功能编译与之对应的BNF语法文件,并生成语法ID;同时会根据通常使用的频次建立优先级,将重复的指令存储在优先级较高的BNF语法文件当中,避免造成存储冗余。

这种专属算法极大程度地缓解了当所要识别的命令词数量过于庞大时,语音识别模型存储和识别受限的问题,使系统轻量化,大幅度地提高了响应速度。

1.3.5 "语音指令映射技术

频谱分析仪功能繁多,在不同测量功能下可能存在同一语音指令对应不同的SCPI程控指令。为了解决这一问题,本文将频谱分析仪的文字指令与SCPI程控指令映射关系按照功能层级,分别存入与BNF语法文件对应的相关数据表当中,然后将上述数据表统一存入同一数据库。

为了在执行测量功能指令时,系统能够对与之对应的数据库进行增删改查,在功能切换时,本文利用专属算法将数据库增删改查的对象切换到与测量功能对应的数据表,与按照频谱分析仪功能层级分类得到的多个BNF语法文件一一对应,使得在扩充文字指令与SCPI程控指令映射关系时条理结构更加清晰。

1.3.6 "可执行代码

语音识别后的文字指令和调用的程控指令都存在一定的局限性,并不能直接适用于其他的语言开发。考虑到用户需求和系统的实用性,本文提出了可执行代码的功能,可以根据用户的实际使用需要,将历史语音识别指令转换成C#、C++、Python等语言下可直接使用的代码,供用户后续编写其他语言的代码或在其他语言环境下进行软件开发。指定生成的可执行代码文件,经用户选择确认保存后以文件生成时间为命名,保存在指定文件路径下。

2 "系统设计

2.1 "系统概述

本文设计开发了一套基于频谱分析仪的语音识别及控制软件系统,其流程如图1所示。

首先唤醒关键词语音唤醒系统,唤醒成功后,用户实时输入的语音指令将被保存为文件流,系统将对语音文件进行语音输入信息识别和处理,转换为文字指令,从BNF语法文件中调取关键词,在数据库中匹配映射到对应的SCPI程控指令并下发至频谱分析仪,进而操控频谱分析仪完成语音指令并执行对应的操作;再对频谱分析仪的反馈内容进行解析,将文字指令、程控指令和最终的查询结果返回到可视化界面,实现通过语音完成对信号频谱分析仪的完整操控流程。当3 s内没有检测到语音信息输入,则退出语音识别,重新进入监听唤醒关键词的状态当中,此外,如果当前的界面为展开历史记录后的界面,则可以继续进行语音识别;但如果3 s后没有语音输入,同样将退出语音识别,且不再监听唤醒关键词,直到再次检测到语音唤醒关键词,只有当前展示的界面不是展开历史记录的界面,才重新开始进行语音识别。

2.2 "系统界面设计

为了软件系统本身的美观性和可视化,本文设计了半透明状态的展示界面,且始终保持页面置于屏幕的最上层,便于用户使用。

为了节省能耗,系统设置了语音唤醒功能,用户通过说出指定的唤醒关键词来唤醒系统。在用户进行语音唤醒之前,系统将一直处于休眠但监听的状态;在用户进行唤醒之后,将弹出界面,并进入语音识别和相关控制的功能当中。

在语音识别界面下面会跟随语音输入状态栏,当有语音输入时,语音输入状态栏会有一定程度的波动;反之,如果当前处于没有语音输入的状态,则语音输入状态栏没有波形的波动。

频谱分析仪完成相关命令并生成反馈后,系统将对反馈内容进行解析,再将文字指令、程控指令和查询结果返回到界面。指令下达给频谱分析仪之后,如果任务完成,将返回已完成的字样和当前的相关状态;如果指令未被识别或未完成,将返回如“未听清,请再说一遍”等提示信息。每条语音指令后面会跟随一个状态,如果发送成功,则显示绿色的对号样式。系统语音识别界面如图2所示。

当语音识别和控制任务结束后,可以通过长按当前界面对历史记录进行自主选择和编辑,如转为C#、C++、Python语言对应的可执行代码等功能。系统历史记录编辑界面如图3所示。

2.3 "系统构建

2.3.1 "系统语音识别功能实现

语音唤醒成功后,系统将语音指令形成语音文件,并储存在本地,在接收到新文件后会对旧文件进行覆盖。之后将得到的文字指令进行识别分割,分别得到指令的文字部分、数字变量部分和单位变量部分。再用文字部分到数据库中当前测量功能所对应数据表中进行匹配,得到该条文字指令所对应的SCPI程控指令。然后将得到的程控指令与前面的数字变量部分、单位变量部分按照规定格式进行拼接,最终得到频谱分析仪能够识别的程控指令。系统通过对频谱分析仪的反馈内容进行解析,将文字指令、程控指令和最终的查询结果显示在界面上,完成控制结果可视化,实现通过语音完成对频谱分析仪的完整操控流程,并等待下一轮的语音信息输入。系统可识别代码界面如图4所示。

2.3.2 "数据库构建

在将程控指令下发到频谱分析仪的同时,语音识别后的历史记录信息将上传至数据库当中,并按照时间顺序保存指令识别内容及SCPI程控指令记录。系统界面中将展示最近3条记录,以提供用户查询历史记录功能。

同时,为了满足“识别记录存储”功能并支持后期增删查改的要求,系统基于MySQL构建了数据库,用于数据读取和存储。以指定格式的Json串发送开始时间及结束时间,数据库即可返回该时间段语音识别的历史记录,方便用户按时间条件查询识别历史记录,来复现过往在频谱分析仪上的实验操作。

2.4 "系统模式

2.4.1 "操作系统及通信技术支持

基于频谱分析仪的语音识别及控制软件系统支持 Ubuntu 18.04及以上版本的操作系统,通过端口号进行数据库连接,基于TCP协议的Socket通信进行数据传送。

2.4.2 nbsp;模式及功能支持

本文所开发的软件系统支持频谱分析模式、IQ分析模式和相位噪声分析模式,以及扫频分析、信道功率、占用带宽、邻道功率、功率统计、突发功率、谐波失真、三阶交调、杂散发射、频谱发射模板、IQ分析、相位噪声分析等10余种功能所包含的程控指令的语音识别及控制。

3 "系统部署应用

基于频谱分析仪的语音识别及控制软件开发系统,目前已经部署在频谱分析仪等大型仪器上进行使用,系统整体性能稳定、传输实时性强,从语音命令下达到频谱分析仪执行命令并返回结果,整个过程延时不超过3 s。

针对各项功能下的离线语法文件中已经定义过的关键词,语音识别的准确率较高。该系统的应用极大程度上提高了仪器的实用性和操控的灵活性,实现了仪器的智能化。用户在使用时,不必再近距离的手动操作,也不必通过按钮控制频谱分析仪,而可以通过语音来实现频谱分析仪的各项功能,完成语音相关的指令。

此外,用户此前的语音命令历史记录也按照时间顺序保存在数据库中,用户可以通过时间条件查询识别历史记录,复现过往在频谱分析仪上的操作。基于频谱分析仪的语音识别及控制软件开发系统的应用,使频谱分析仪等大型仪器的使用更加便捷化、高效化、智能化,也提高了频谱分析仪控制的灵活性和准确性,满足了用户在对仪器的实际使用中持续追求更为高效便捷的操控方式的要求。

4 "结 "语

基于频谱分析仪的语音识别及控制软件系统是一套通过语音指令来对频谱分析仪进行操控的系统,这套系统旨在提供给使用者在对频谱分析仪的实际操控中更为便捷和高效的体验感,使仪器的使用更加智能化。

目前系统已经投入使用,但在实际需求中,可能也有在其他操作系统环境下的使用需求,所以已经在尝试构建Windows操作系统环境下的软件系统开发。随着后续频谱分析仪的升级,将会新增大量频谱分析仪所需的操作指令,因此,在语法文件的构建上,仍有继续扩充和优化的必要。此外,目前的可执行代码仅支持C#、C++、Python等语音的编译,之后可以继续开发支持如Matlab、Java等其他语言类型的可执行代码的编译。

注:本文通讯作者为房明。

参考文献

[1] 范永超,韩佳南.基于人工智能的语音识别系统设计与研究[J].数字通信世界,2022(5):55⁃57.

[2] 邹智敏,刘伟.基于语音识别的智能家电控制APP的实现[J].电子技术与软件工程,2021(5):59⁃61.

[3] 陈希祥,黄伍,李德英.基于语音识别的智能家居控制系统设计[J].自动化与仪表,2021,36(7):91⁃95.

[4] 高英英,张伟.智能语音识别功能控制的家居系统[J].单片机与嵌入式系统应用,2022,22(9):88⁃91.

[5] SONG Xueya, SUN Shengchao. Voice recognition control system based on cloud computing and IoT sensors [EB/OL]. [2023⁃01⁃14]. https://www.hindawi.com/journals/wcmc/2022/4489452/.

[6] O'SHAUGHNESSY Douglas. Review of analysis methods for speech applications [C]// Speech Communication. [S.l.: s.n.]: 2023: 151.

[7] 李青云.语音识别算法及其在嵌入式系统中的应用[J].电子技术与软件工程,2021(17):81⁃82.

[8] NEDJAH N, BONILLA A D, MOURELLE L D M. Automatic speech recognition of Portuguese phonemes using neural networks ensemble [J]. Expert systems with applications, 2023, 229: 120378.

[9] 屈瑾.基于语音识别的智能交互系统设计[J].自动化与仪器仪表,2023(1):221⁃225.

[10] 张琴喻.语音助手用户智能感的研究[D].杭州:浙江大学,2022.

[11] 郝祥和.基于嵌入式便携频谱仪的设计与研制[D].成都:电子科技大学,2020.

[12] 王俊丽.频谱仪嵌入式操作系统移植及通信模块的设计[D].成都:电子科技大学,2012.

[13] 韩婷婷.科大讯飞智能语音产品发展战略研究[D].贵阳:贵州大学,2021.

猜你喜欢
语音识别
空管陆空通话英语发音模板设计与应用
通话中的语音识别技术
面向移动终端的语音签到系统
浅析智能语音技术及其应用
智富时代(2015年9期)2016-01-14 06:26:40
语音识别的SVM模型选择分析
农业物联网平台手机秘书功能分析与实现
物联网技术(2015年9期)2015-09-22 09:34:29
基于LD3320的非特定人识别声控灯系统设计
航天三维可视化系统中语音控制技术的研究与应用
基于语音识别的万能遥控器的设计
基于语音技术的商务英语移动学习平台设计与实现