> 文章列表 > 4个步骤实现Java版的TTS(文字转语音)

4个步骤实现Java版的TTS(文字转语音)

4个步骤实现Java版的TTS(文字转语音)

TTS是Text To Speech的缩写,即“从文本到语音”,让机器能够说话。


微软自带TTS(Text To Speech) 语音引擎,可以将文本转换成语音播报。
现在通过Java程序(jacob包),利用Windows自带的TTS实现语言的播报。

详细步骤如下:

  • 下载jacob jar包和dll文件
  • 将dll放置到相应的文件目录中
  • 将 jar包加入到工程中
  • 执行测试代码

第一步:下载jacob jar包和dll文件。
从github的 jacob页面连接 下载 jacob-1.20.zip,并解压。
解压后得到如下三个关键文件:
4个步骤实现Java版的TTS(文字转语音)
第二步:将 dll 放置到相应的文件目录中
将 文件jacob-1.20-x64.dll、jacob-1.20-x86.dll 拷贝到 C:\\Windows\\System32 目录下。

第三步:将 jar包 加入到工程中。

第四步:执行测试代码。
代码如下:

package com.lakala.zf.bs.iot.virtual.tts;import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;public class TTSmain {public static void main(String[] args) {//调用windowsApi 的 com组件,Sapi.spVoice是 windows com组件名称ActiveXComponent activeXComponent = new ActiveXComponent("Sapi.SpVoice");//从com组件中获得调度目标Dispatch dis = activeXComponent.getObject();try {//设置语言组件属性activeXComponent.setProperty("Volume", new Variant(100));activeXComponent.setProperty("Rate", new Variant(-1));Dispatch.call(dis, "Speak", new Variant("今天天气不错,风和日丽的。"));}catch(Exception e){e.printStackTrace();}finally {dis.safeRelease();activeXComponent.safeRelease();}}}

以上就是本文全部内容,感谢耐心阅读。