多语言语音识别翻译系统

2021-01-28 01:08梁伟鄯殷浩天倪志平
黑龙江科学 2021年2期
关键词:界面设计音频百度

莫 沛,梁伟鄯,殷浩天,倪志平

(柳州工学院 电气与计算机工程系,广西 柳州 545000)

语音识别近年来在国内发展迅速,市场上具有语音识别功能的产品也越来越受消费者欢迎。语音识别解放了人的双手,便捷了人们的生活,智慧了生活[1]。设计了一种有限语音识别系统,具有文本翻译、语音翻译和视频文字提取等功能,一定程度上打破了不同地域不同语言沟通困难的堡垒,解决使用者与外国友人的沟通障碍[2-3],方便学习外国文化艺术和科技,具有很高的实用价值和广阔的市场前景。

1 系统方案设计

开发环境的选择:研究选择使用以Python作为开发语言、PyCharm软件作开发平台。相比于C语言,Python是一门代表简单主义思想的语言,它的运行速度非常快,支持面向对象的编程,同时具有开源的本质,因此具有丰富的库,可以帮助处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作,这些库功能强大,拿来即用,大大丰富了系统的功能并缩短了开发周期。

软件开发平台使用的是JetBrains公司开发的PyCharm软件。PyCharm带有一整套可以帮助用户提高效率的工具,如调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制。该软件除了拥有一般IDE具有的功能,还具有函数及关键字的自动补全等人性化功能,这使得项目能更快很流畅地完成,在函数功能和使用方法忘记的时候还能点击查看,代码的区块化让代码思路更加清晰,代码编写错误的地方还会直接报红。

录音方案的设计:选择了使用PyAudio库和Speech Recognition库来进行录音。PyAudio库提供了Python语言版本,能够进行录音、播放、生成wav文件等功能,同时PyAudio库是一个可跨多平台的音频 I/O 库,能够在Linux、微软Windows和苹果Mac OS X/MACOS等系统上使用。SpeechRecognition库是Google设计的一款专注语音识别的功能库,依赖于PyAudio资源库。SpeechRecognition的易用性很高,灵活性高,因为不需要构建访问麦克风和从头开始处理音频文件的脚本,只需几秒钟即可自动完成音频输入、检索并运行。研究使用了listen()函数来获取麦克风数据,并且当检测到没有人说话时则自动停止,做好后使用open()函数,将其保存为.pcm格式的音频文件,供后面功能使用。

语音识别方案的设计:语音识别使用的是百度短语音识别API,能够进行普通话和英语的识别,并且可以根据语音的内容理解和停顿智能匹配合适的标点符号,识别准确且快速,但只能识别60 s内的音频,为了能够连续长时间识别,每次识别后的数据会暂时保存在本地中进行合成。

文本翻译方案的设计:考虑到了翻译对准确性的要求,本系统采用了两种翻译方案,一种是使用Requests库爬取有道翻译的结果,另一种是使用百度通用翻译API接口来实现功能。第一种方案通过Requests库的方式来进行翻译结果的爬取,实现了中英互译的翻译功能,Requests库是用Python编写的,基于urllib,采用Apache2 Licensed开源协议的HTTP库,Requests库经常被用来进行HTTP测试。通过使用Requests库的get()函数来获取请求,再经过json解析获取翻译结果。第二种方案使用百度通用翻译API,通过HTTP接口来进行多语种互译功能,输入需要翻译的文本,并设置好源语种和目标语种,就能得到相对应的翻译结果。该翻译功能能够在27种语种中互译,满足大部分生活需求,并且准确率高,响应速度快。

语音合成方案的设计:选择了百度在线语音合成API方案,该语音合成功能可以将上面翻译后的文字信息转化为声音信息,可以在程序里设置语速、音调、音量、发音人等,并使用open()函数保存.mp3格式音频文件在本地,为下面的功能提供资源。

视频中声音提取方案的设计:在提取视频中声音时,首先将视频转换为音频格式,然后再使用上面的语音识别功能进行文字提取,最后再将文字信息保存在.txt文件里。第一步的视频转换音频格式使用的是ffmpeg库,ffmpeg库领先的多媒体框架,它包括这样的几个库:libavcodec,libavutil,libavformat,libavfilter,libavdevice,libswscale and libswresample,具有音频解码和编码、视频的复用和多路处理、噪音处理等功能,本研究中使用ffmpeg库的input()函数,将.mp4文件转换为.wav音频文件。第二步再进行语音识别,最后使用os库的write()函数写入.txt文件里,随后就可以查看音频提取结果。

2 系统界面设计

软件界面的设计使用的是Python的图形开发界面的Tkinter库,Tkinter库的兼容性强,能够在大多数的Unix平台、Windows和Macintosh系统中良好地运行。Tkinter库里提供了各种控件,如按钮、画布、多选框、列表、文本等控件,在方便开发的同时,也为使用者提供了良好的使用体验。

文本翻译界面设计:文本的翻译功能设定之初考虑到了语言表达方式的博大精深,因此设有了百度和有道两种翻译引擎翻译结果,用户可以根据自己的喜好选择表达方式,如图1所示。其中有道翻译只能中英互译,百度可以选择翻译成多国语言,准确度可靠,如图2所示。

图1 两种翻译结果对比Fig.1 Comparison of translation results of two types

图2 中文翻译为日语Fig.2 Translation from Chinese to Japanese

语音翻译界面设计:语音翻译支持中英文互译,满足人们的日常需求,选择好源语言,按照提示进行录音,录音完成后就可以进行翻译后语音的播放,并在显示框显示翻译后的文本信息,方便用户使用。例如:用户使用麦克风输入“柳州螺蛳粉是广西著名的小吃。”,则会播放为“Liuzhou snail powder is a famous snack in Guangxi.”的英文语音并显示在文本框里。

视频音频提取界面设计:视频音频提取功能支持提取MP4格式的视频,设置好原语言,选择需要翻译的MP4视频,点击转换,很快就能在文件夹下的test.txt文件里查看提取结果。

3 结语

设计的语音识别翻译系统主要有以下特点:第一,文本翻译、语音识别和语音合成等功能使用了百度AI云平台提供的人工智能服务,不需要庞大的本地资源库,只要以HTTPS的方式向平台请求服务,就可以得到AI分析结果,提高了响应速度,同时也拥有了可靠的准确性,大大缩小了软件的体积。第二,语言识别软件运行速度快、兼容性强、稳定性好,因为使用的是Python语言进行开发。Python拥有丰富且成熟的库,功能强大,有利于以后的功能升级。第三,翻译功能,可以反馈有道翻译、百度翻译两种翻译引擎的翻译结果,让使用者择优选择,降低了机器翻译带来的准确性不高的问题。同时该系统的翻译功能强大,支持包括粤语、文言文等28种类型的互相翻译。第四,将文本翻译、语音识别翻译、视频音频提取等功能集为一体,实现一软件多用途,打破了不同语言沟通障碍的堡垒,更加方便了交流,满足人们的日常需求。第五,打破了传统的文字输入方式,使用语音输入更加快捷、准确、方便。

猜你喜欢
界面设计音频百度
中医养生APP界面设计
“共享员工”平台界面设计
中国传统元素在界面设计中的应用
面向智能手机的UI界面设计
Robust adaptive UKF based on SVR for inertial based integrated navigation
必须了解的音频基础知识 家庭影院入门攻略:音频认证与推荐标准篇
基于Daubechies(dbN)的飞行器音频特征提取
百度年度热搜榜
不懂就百度
音频分析仪中低失真音频信号的发生方法