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,并解压。
解压后得到如下三个关键文件:
第二步:将 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();
}
}
}
以上就是本文全部内容,感谢耐心阅读。