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 ...
随机推荐
- iptables(一)基础概念、filter表常用语法规则
iptables简介 netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火 ...
- Flink写入Redis集群 重写flink-connector-redis包,解决Cluster无法输入密码问题
起因:使用flink的时候难免和redis打交道,相信大家都使用过flink-connector-redis来处理,但是当我想要使用RedisSink写入集群时,发现居然不支持使用密码,于是有了这篇笔 ...
- postgresql 之修改psql log信息级别
1.修改当前使用的postgresql.conf文件vim /var/lib/pgsql/10/data/postgresql.conf 2.vim 下使用\notice 找到待修改项 client_ ...
- keypress和keydown的区别
keypress不识别功能键,比如ctrl,alt,shift,上下左右.keypress返回的ascII码区分大小写.输入小写a返回97,输入大写A返回65. keydown识别.keydown返回 ...
- Jmeter(三十九) - 从入门到精通进阶篇 - Jmeter配置文件的刨根问底 - 上篇(详解教程)
------------------------------------------------------------------- 转载自:北京-宏哥 https://www.cnblogs.co ...
- spring缓存创建
/** * * <b>创建缓存</b> * <p> * 创建缓存,若已存在直接返回. * <p> * @param cacheName * @retur ...
- PHP统计在线用户数量
一段经典的php统计在线用户数量的代码,一起学习分享. <?php /** * Created by PhpStorm. * User: jifei * Date: 15/11/24 * ...
- shell脚本操作mysql通用脚本
作用:可以在写监控脚本时,将结果值保存到mysql数据库 使用方法:sh 脚本 库名称.表名称 字段=值 字段=值 字段=值 1.脚本 [root@localhost tmp]# cat writ_ ...
- maven的安装 仓库的种类和彼此的关系
maven的安装 maven 仓库的种类和彼此的关系 本地仓库 :用来存储从远程仓库或中央仓库下载的插件和 jar 包,项目使用一些插件或 jar 包, 优先从本地仓库查找 默认本地仓库位置在 ${ ...
- 解决ubuntu pycharm 中文输入法问题
参考连接:https://blog.csdn.net/frighting_ing/article/details/122725205