基于html5的通用webim组件的前端设计与实现-基于模型的设计及其嵌入式实现
摘要:针对现有煤矿监控系统软件不支持语音引导、交互反馈等功能,设计了一个前端支持Form和Web的语音合成组件。 该软件以组件形式运行,可以很好地解决上述问题。 问题,具有较高的实用性和可重用性。
关键词:语音合成; 语音合成; 音频流播放
CLC编号:TP391.42
1 简介
1.1 简介
语音合成,也称为文本转语音(TTS),是指将输入的文本或存储在计算机中的文件模拟人声生成语音的技术。 语音合成的发展比语音识别要早得多,但在应用层面,大部分还是在电脑屏幕上阅读文章、语音引导、交互反馈或辅助指令。
1.2 相关技术介绍
语音合成技术示意图如图1所示:
图1
语音合成主要是分析一段文字。 经过句子分析、节奏生成、单元合成等一系列操作基于html5的通用webim组件的前端设计与实现,将文本转化为音素组合形式,再重新组织生成波形。 最后形成我们能听到的声音。
目前语音合成产品很多,但所有的语音合成技术都大同小异。 总的来说,语音引擎可以分为4个模块:
(1) 句子分析。 分析句子的语法和语义后,专门设计语言特征参数,让计算机知道文本中哪些单词是句子,哪些是句子,发什么音,怎么发,发音时停顿在什么地方,暂停多长时间等。
(2) 节奏发生器。 将语言特征参数送入韵律发生器,生成句子每个音节对应的韵律信息,包括基频轨迹、音量、音长等。
(3)合成单元发生器。 合成单元由语音语料库中的单音节音素语音波形样本输出。 这里就是我们通常理解的语音库,一个引擎往往可以提供多个语音库。
(4)语音合成器。 根据要发出的声音从声音数据库中选择合适的声学参数,然后根据韵律模型中得到的韵律参数,通过语音合成算法生成语音。
1.3 SAPI技术
TTS 系统使用合成语音将文本字符串和文件合成为声音音频流,而这项工作是由各种语音引擎完成的。 语音引擎的开发是困难的。 一般使用现有引擎开发TTS系统。 微软提供的SAPI(全称The Microsoft Speech API)提供了应用程序和语音引擎之间的高层接口。 它实现了实时控制和管理各种语音引擎所需的所有低级细节。
语音引擎通过DDI层(设备驱动接口)与SAPI进行交互,应用程序通过API层与SAPI进行通信。 通过使用这些API,我们可以快速开发语音识别或语音合成方面的应用程序。 SAPI 应用程序编程接口 (API) 显着减少了构建使用语音识别和文本到语音的应用程序所需的高级代码,使语音技术更易于使用并扩展了应用程序的范围。
SAPI本身什么也做不了,只是提供了应用软件和语音引擎之间的一系列接口,隔离了应用软件和语音引擎之间的联系,使得语音引擎的更换不会影响原来的应用。 跑步。
2 系统设计及框图
2.1 系统组成
语音合成播放组件包括语音合成处理服务和语音播放控件ActiveX控件。
2.2 产品原理
图 2
语音合成服务器是用于安装语音合成处理服务的主机。 所有客户端发出的语音合成请求都会在这里处理,这就涉及到一个多路并发的问题。
语音合成处理服务收到语音合成请求后,调用语音引擎生成相应的语音波文件或语音流(Steam),然后将这些指定的输出对象返回给客户端请求对象(ActiveX对象)。 服务器与服务器之间的传输方式是通过最基本的SOCKET技术,使用TCP协议传输协议。
客户端的ActiveX控件通过SOCKET向服务器发送语音合成请求后,等待服务器的输出响应。 获取后根据WAV语音编码规则进行解码,调用本地播放接口(Windows API)播放语音。 至此,整个语音合成播放功能就完成了。
对于不同的客户端运行环境,客户端的ActiveX控件有不同的加载方式。
(1) 形式客户。 有两个选项可用:
1) 在客户端安装相应的环境和语音引擎,这样就可以直接在客户端进行语音合成,而不需要直接从服务端获取合成数据。 优点是速度快、稳定、易于编程。 缺点是客户端安装对软件要求比较高基于html5的通用webim组件的前端设计与实现,不太现实。
2)调用ActiveX控件对象进行网络语音合成。 优点是代码统一,易于维护。 缺点是编程复杂。
(2) 网络客户端。 该类型可以在客户浏览的语音合成网页中通过JavaScript脚本添加对控件的引用,通过脚本调用控件提供的各种接口,从而实现相应的功能。
3 结论
系统开发完成后,笔者将该系统应用到实际矿井压力监测系统中。 该软件运行良好,可以在任何IE浏览器上正常合成报警文本信息。
语音合成播放组件的实现提高了系统的友好性,让用户获得更好的体验,为以后的语音合成和语音识别提供参考。
参考:
[1](美国)Haijersberger,(美国)Weltmasser,(美国)Gold。 韩江,王秀惠,译. C#程序设计语言详解(第二版),2007。
[2] 李育才,左有东,郑秀清. 基于Speech SDK的语音控制应用的设计与实现[J]. 计算机应用,2004(06).
作者简介: 丁瑞奇(1981-),男,江苏常州人,硕士研究生,主要从事煤矿监控软件的设计与开发。
作者单位:天地(常州)自动化有限公司,江苏常州213000
基金项目:基于GIS的图形显示组件(项目编号:14SY001-02)。