java文本转语音
- 下载jar包https://github.com/freemansoft/jacob-project/releases
解压,将jacob-1.18-xxx.dll相应放到项目使用的JAVA_HOME\bin下
- 下载jar包https://github.com/freemansoft/jacob-project/releases
- 创建项目,导入jar
java代码:
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;
public class Test {
public static ActiveXComponent sap = new ActiveXComponent("Sapi.SpVoice");
public static Dispatch sapo=sap.getObject();
public static void main(String[] args) {
String str ="测试声音是否正常";
readText(str);
}
public static void readText(String queue) {
try {
//声音大小
sap.setProperty("Volume", new Variant(100));
//语速
sap.setProperty("Rate",new Variant(-2));
//发声
Dispatch.call(sapo,"Speak",new Variant(queue));
} catch (Exception e) {
e.printStackTrace();
}finally{
if(sap==null){
sap = new ActiveXComponent("Sapi.SpVoice");
}
if(sapo==null){
sapo = sap.getObject();
}
}
}
}
如果执行朗读,默认调用系统中的TTS语音播放引擎,若本机没有语音设备
可能会抛出异常(com.jacob.com.ComFailException: Invoke of: Speak)
可观看: https://zhuanlan.zhihu.com/p/551588942
引用https://zhuanlan.zhihu.com/p/551588942
今天收到朋友求助,他用的一款直播工具语音播放弹幕内容的功能不能用了,在询问客服后得到的解释是没有安装语音引擎,遂找到本工具然。
不能正常使用的具体表现为,打开控制面板-(类别模式下)轻松使用-语音识别-文本到语音转换中,无论选择哪种语音都提示无法使用,请切换设备。
在各种网站转了一圈之后,找到了个不错的解决方案,现搬运过来以便大家参考,原视频链接:How to add more TTS Voices in Windows 7/8.1/10 - YouTube
另外,在国内也看到了一篇文章也有类似的解决方案:部分阉割版Win7无法正常使用TTS语音的解决办法_静远的博客-CSDN博客,不过出于能在官网下载尽量在官网下载的原则,还是饶了一点远路。这里仅放出来供大家参考。
解决方法如下:
1.下载 Ms-Speech Runtime Platform 并安装
链接为:Download Microsoft Speech Platform - Runtime (Version 11) from Official Microsoft Download Center
需要注意的是,这个文件其实是分为32位和64位的,不知道为什么下载名称反而都一样了。可以通过文件大小来区分:2.6MB的是x64,2.2MB的是x86,至于那个rtf文件是不需要下载的。
2.下载需要的语音库文件并安装
经过我测试,能用的是文件名为MSSpeech_TTS_zh-CN_HuiHui.msi
的语音库,大家也可以根据自己的需求选择不同的语音库。
3.调整注册表信息
安装好了之后并不能直接使用,需要在注册表中进行一下编辑,这一步稍微有点复杂,可以仔细看看。
①按下Win+R键,输入regedit
并运行,打开注册表编辑器;
②打开到计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech Server\v11.0\Voices\Tokens
路径下;
③找到刚才安装好了的语音库对应的文件夹,点击右键-导出,将文件保存在自己喜欢的位置;
④用记事本打开刚才保存好的reg格式的文件;
⑤在记事本的菜单栏点击编辑-替换
查找内容为\Speech Server\v11.0\
,替换内容为\Speech\
,随后点击全部替换即可;
⑥完成修改后,保存当前文件,双击运行。
⑦此时,再到控制面板中,选择新安装的语音库应该就可以使用啦。
java文本转语音的更多相关文章
- 【TTS】文本转语音?如何不调用第三方api来实现,使用pyttsx3
@ 目录 前言 安装pyttsx3 实现TTS接口 后言 前言 本次的实现需求有点困难,所以也就记录下来,别到时候都忘了. 首先先不说正题,有兴趣的可以看一看: 1.目标是实现一个可以传一个文本就返回 ...
- c#文本转语音以及语音阅读小实例
c#实现语音阅读以及文本转语音文件是基于c#的一个类库(SpeechSynthesizer )实现的,使用该类必须要添加引用using System.Speech.Synthesis;直接是无法添加引 ...
- 用TTS实现文本转语音
最近被toefl单词虐成狗::>_<:: 想做一个可以自动把单词转成语音的软件,这样就可以在路上戴耳机边走边听啦~ 用微软的TTS语音库可以很容易地实现.早期的TTS要想实现中英文混合朗读 ...
- 在线教学、视频会议 Webus Fox(1)文本、语音、视频聊天及电子白板基本用法
Webus Fox是基于网页的在线教学.视频会议软件,不用安装,直接使用.它提供文本.语音.视频聊天,文件共享.电子白板等功能. 1. 登录 访问 http://flash.webus.cn/#,用自 ...
- 个人开源作品,即时通讯App支持文本、语音、图片聊天
开源一个即时通讯类App,支持纯文本.语音.地理位置.图片聊天,同时还加入了好友圈功能,支持分享动态和发送图片,支持搜索附近的人,使用的百度地图定位功能:由Bmob后端云提供服务器支持,欢迎喜欢的伙伴 ...
- iOS7 文本转语音 AVSpeechSynthesizer
OS7 的这个功能确实不错.我刚试了下,用官方提供的API ,简单的几句代码就能实现文本转语音! Xcode 5.0 工程建好后首先把AVFoundation.framework 加入到工程 AVSp ...
- unity3dWeb版文本转语音
文本转语音 <script type="text/javascript"> function VioceSpeack(str) { var zhText = str; ...
- iOS 文本转语音(TTS)详解:Swift
上一篇博客讲解了iOS的speech FrameWork语音识别的功能:http://www.cnblogs.com/qian-gu-ling/p/6599670.html,对应的这篇博客就写一下文本 ...
- Python 文本转语音
文本转语音,一般会用在无障碍开发.下面介绍如何使用Python实现将文本文件转换成语音输出. 准备 使用Speech API 原理 示例代码 小总结 pyttsx方式 原理 示例代码 小总结 pytt ...
- py库:文本转为语音(pywin32、pyttsx)
http://blog.csdn.net/marksinoberg/article/details/52137547 Python 文本转语音 文本转为语音(使用Speech API) 需要安装 py ...
随机推荐
- 采集地图商家电话,导出到excel
快速的把高德地图左边的搜索列表里的商家地图,电话,导出到EXCEL里. 采集地图商家电话,可以快速提高销售人员的业绩. 如何快速地将高德地图里的商家电话资料导出EXCEL? 操作步骤: 1. 选择你要 ...
- DevExpress各大版本支持的VS版本和支持的.net版本图
如下图所示,绿色Yes代表支持,红色No代表不支持.对于有些人觉得装了dev后,vs工具箱没有,一般都是以下两大问题:1.要么你的Dev的版本不支持你当前的VS版本,没有很正常.2.要么你的项目的.n ...
- mac sourcetree required password
coding c85Ao 解决办法,用http拉取,使用命令行clone 每次push需要密码解决方法 sourcetree 不停的让输入密码,报 password required1.在终端(t ...
- Python学习笔记调式之抛出异常
随笔记录方便自己和同路人查阅. #------------------------------------------------我是可耻的分割线--------------------------- ...
- KEIL5中C/C++优化等级问题
知乎上有篇详解 https://zhuanlan.zhihu.com/p/24402180 强烈推荐 C/C++的优化等级会对程序产生 不定性的影响,至于选择哪种优化等级必须从 现有的程序分析才行 ...
- Github的.gitignore忽略文件
Git中有一个非常重要的一个文件-----.gitignore 1.当然如果已经push了怎么办?当然也有解决方法,如下: 有时候在项目开发过程中,突然心血来潮想把某些目录或文件加入忽略规则,按照上述 ...
- rust在windows上编译成liunx可执行程序
一.rust编译文件 cargo build 或 cargo build --release 发布构建 二.安装 x86_64-unknown-liunx-musl target rustup tar ...
- TCP连接connect函数返回错误
如果是 TCP 套接字,那么调用 connect 函数将激发 TCP 的三次握手过程,而且仅在连接建立成功或出错时才返回.其中出错返回可能有以下几种情况: 三次握手无法建立,客户端发出的 SYN 包没 ...
- vue.js与webpack有什么关系?
webpack是一个前端打包和构建工具.如果你之前一直是手写HTML,CSS,Javascript并且通过link标签将CSS引入你的HTML文件,以及通过Script标签的src属性引入外部的JS脚 ...
- 记一次mybatis中like 不执行sql的问题,单引号 与双引号的坑
使用环境: springboot 2.0.4 mybatis-spring:1.3.2 错误也是比较蛋疼: 不报错,但是查询出来的结果不对. 原错误sql 示意: select * from ...