让LabVIEW会说话-文本转语音/语音合成(Text to Speech)

首先抛出我们今天要讨论的一个问题:怎么才能让LabVIEW说话?

让LabVIEW说话的意思是:给一段文本,文本中可能包含英文、中文和数字,让LabVIEW将文本转换为语音,并通过电脑的扬声器将声音播放出来。还可能会涉及到调节播放音量、调节语速、调整声音样式等。

一、文本转语音(Text to Speech)的基本概念

文本转语音,英文名为Text to Speech,简称TTS。TTS满足将文本转化成拟人化语音的需求,打通人机交互闭环。TTS广泛适用于智能客服、有声阅读、新闻播报、人机交互等业务场景,提升人机交互体验,提高语音类应用的构建效率。

二、文本转语音的成熟应用方案

TTS比较成熟的应用方案主要有以下2类。

1、借助百度、腾讯、微软等的TTS云服务

这种TTS实现比较简单,通过各大厂提供的TTS API接口或者SDK开发条件,以及授权的AppID、SecretId 和 SecretKey,实现在线调用TTS服务。这种方式的缺点是必须连接网络。

让LabVIEW会说话-文本转语音/语音合成(Text to Speech)

腾讯运TTS服务

百度云平台虽然也提供了离线语音合成SDK,但需要收费,以及只适用于Android/OS,局限性也比较明显。

让LabVIEW会说话-文本转语音/语音合成(Text to Speech)

2、微软TTS服务

可通过微软TTS服务的API接口实现离线式的TTS服务,微软的TTS编程接口叫SAPI。微软的SAPI全称为The Microsoft Speech API,是在应用程序和语音引擎之间提供一个高级别的接口,它实现了所有必需的对各种语音引擎的实时的控制和管理等低级别的细节。语音引擎通过DDI层(设备驱动接口)和SAPI进行交互,应用程序通过API层和SAPI通信。通过使用这些API,我们可以快速开发在语音识别或语音合成方面的应用程序。SAPI 应用程序编程接口(API)明显地减少了构建一个使用语音识别和文本语音转换的应用程序所需要的高层代码,使语音技术更加容易使用并且更加扩大了应用的范围。虽然SAPI不是业界标准,但是应用非常广泛。

本文介绍的LabVIEW TTS功能就是通过SAPI实现的。

三、软件环境要求

  • WIN7及以上操作系统(系统自带Microsoft Speech SDK);
  • LabVIEW软件平台。
  • 三、程序代码实现

    1、前面板

    前面板如下图所示,其中:

  • ActiveX自动化引用句柄:指向Microsoft的SpeechLib.ISpeechVoice;
  • Text:待转换为语音的文本;
  • Volume:播报语音时的音量设置,数值范围为0~100;
  • Rate:播报语音时的语速设置,数值范围为-10~10;
  • Voice Type:播报语音的样式。
  • 让LabVIEW会说话-文本转语音/语音合成(Text to Speech)

    LabVIEW实现TTS的VI前面板

    2、程序框图

    程序框图如下图所示,其中:

  • 通过“打开自动化引用”函数建立与Microsoft的SpeechLib.ISpeechVoice的联系;
  • 通过ISpeechVoice的Volume属性、Rate属性分别实现实现对语音音量和语速的调节;
  • 通过系列属性和方法节点实现对语音样式的调节;
  • 通过ISpeechVoice的Speak方法节点实现文本内容转换为语音。
  • 让LabVIEW会说话-文本转语音/语音合成(Text to Speech)

    LabVIEW实现TTS的VI程序框图

    四、总结

    借助于微软的TTS服务(SAPI接口),可以轻松实现将文本转换为语音的功能,即Text to Speech。

    来源:LabVIEW与自动化测试

    声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2021年7月7日
    下一篇 2021年7月7日

    相关推荐