0.概述
语音合成,是将人类语音用人工的方式所产生。若是将电脑系统用在语音合成上,则称为语音合成器,而语音合成器可以用软/硬件所实现。文字转语音(text-to-speech,TTS)系统则是将一般语言的文字转换为语音。
java speech api(jsapi)提供了2种技术的规范:语音识别(声音到文字)、语音合成(文字到声音)。
freetts是一个jsapi的实现,但只实现了语音合成功能。
freetts有一些内建语音,比如"kevin16"。
如果需要语音识别功能,可以考虑
Sphinx-4
1.下载安装freetts
去官网下载即可,本文写作时最新版是1.2.2,不过是2009更新的,最近都好久没有更新了。
去下载freetts-1.2.2-bin.zip即可。下载下来lib目录下有许多jar包,都是需要的,把他们加入classpath就能用了。还有一个jsapi.jar需要双击jsapi.exe来获得。
需要jar包如下
cmudict04.jar
cmulex.jar
cmutimelex.jar
cmu_time_awb.jar
cmu_us_kal.jar
en_us.jar
freetts-jsapi10.jar
freetts.jar
jsapi.jar
mbrola.jar
关于speech.properties的安装,我试了但是不行,老报错。不过没关系,我们可以绕过这个问题,直接改用freetts-jsapi10.jar里面的api就可以。
FreeTTSEngineCentral central = new FreeTTSEngineCentral();
EngineList list = central.createEngineList(desc);
详情参考附件里的程序代码。
freetts目前貌似只支持朗读英语,不支持朗读中文。如果要朗读中文的话,貌似可以考虑
Ekho(余音)。
使用freetts朗读一段英语很简单,在初始化完Synthesizer以后,调用下面这个API即可:
Synthesizer.speakPlainText(String, SpeakableListener)
2.报时程序
执行JSAPIClock,可以用英语报出当前时间,效果如图
类图如下
3.伪人机对话
从
http://fivedots.coe.psu.ac.th/~ad/jg/ch105/index.html下载来的,他的网站上还可下载pdf文件,里面详细介绍了类的设计。
执行ProfBob,你输入一句话或者单词,教授会用英语应答你,效果如图
类图如下
4.附件可以下载我整理好的可运行的2个示例程序。
测试通过环境
win7 32bit
jdk 1.7.0_60 32bit
- 大小: 33.3 KB
- 大小: 58.4 KB
- 大小: 4.1 KB
- 大小: 10 KB
分享到:
相关推荐
gismo程序示例:边长为 8 16 32 的长方体的xml文件
微信小程序-功能示例:二维码生成器.zip 小程序模板代码,可以直接从源码里粘贴复制过来,虽然这样做不利于自己独立编写代码。
在这个“微信小程序各种示例代码”压缩包中,包含了10个精心设计的小程序示例,对于初学者来说是极其宝贵的资源,可以帮助他们快速理解和掌握微信小程序的开发技巧。 首先,我们要了解微信小程序的基本结构。每个小...
* 程序示例:ARM汇编语言程序示例,如使用伪操作和伪指令来控制汇编器的行为。 三、ARM汇编程序设计基础知识 * ARM汇编语言语句格式:了解ARM汇编语言程序的语句格式是非常重要的。 * 伪操作和伪指令的使用:掌握...
1. **Text Analysis**:FreeTTS 首先对输入文本进行分析,识别出词汇和语法结构,为后续的语音生成做准备。 2. **Voice Synthesis**:利用 Flite 引擎,将文本转化为一系列音频信号,这个过程涉及到发音规则、韵律和...
Freetts主要由美国航空航天局(NASA)开发,其目标是提供一种跨平台的语音合成解决方案,适用于各种应用程序,包括教育、辅助技术和娱乐等。 基于Freetts的Java朗读字符串,首先需要理解Freetts的基本工作原理。...
"微信小程序Demo:小程序教育类模板(课程预约)"是专为教育机构或个人教师设计的一个示例项目,它展示了如何利用微信小程序开发工具来创建一个功能完善的课程预约系统。 该模板的核心功能可能包括以下几个方面: ...
"小程序官方示例完整版" 是微信团队为了帮助开发者更好地理解和学习小程序开发而提供的一个全面的示例集合。这个压缩包文件“demo”包含了各种小程序功能和组件的实例代码,是初学者入门和经验丰富的开发者深入研究...
Python设计模式与应用程序结构:源码示例与最佳实践
通过这个示例程序,开发者可以学习如何使用MFC和C++来与FTDI2232H芯片进行通信,理解如何配置USB设备,以及如何处理USB设备的数据传输。这对于想要开发涉及USB通信或者需要使用FTDI2232H芯片的项目来说,是非常有...
本篇文章将详细探讨“信捷印刷机PLC示例程序xcp文件”的相关知识点,旨在帮助新手及有一定经验的开发人员更好地理解和应用此类文件。 首先,我们需要了解什么是xcp文件。XCP,全称为eXtended Control Program,是...
Ajax无刷新分页示例源码 程序介绍: 程序使用jquery方法提交请求,处理后将数据库绑定到页面中。 Ajax无刷新分页示例源码 程序介绍: 程序使用jquery方法提交请求,处理后将数据库绑定到页面中。 Ajax无...
本篇将深入探讨基于F280049C的示例程序,帮助理解其工作原理和应用。 一、F280049C DSP特性 F280049C是TI C28x系列的一员,它具备以下关键特性: 1. 高速浮点运算能力:内核频率高达75MHz,提供高效的浮点计算性能...
本示例源代码是针对程序化交易自动下单券商接口的一个实例,旨在帮助开发者理解如何与证券公司API进行交互,实现自动下单功能。 首先,从提供的文件名来看,我们可以推断这是一个基于C++语言开发的项目。项目中包含...
这个文件可能是STM32F407 FIFO队列示例程序的完整工程,包含了代码、配置文件和其他必要的资源。开发者可以下载这个模板,直接用于自己的项目中,或作为学习STM32F407 FIFO队列实现的参考。 通过理解上述内容,...
标题"包含modbus从机和主机的示例程序"指出这是一个包含Modbus协议下从机和主机实现的代码示例集合。Modbus是一种广泛应用的通信协议,用于工业电子设备之间进行数据交换,特别是PLC(可编程逻辑控制器)和其他智能...
网络编程实例 该项目包含在服务器端使用Java的Web应用程序的代码示例。技术清单这些示例涉及的主要技术是: Spring:Java框架。 这些示例基于Spring Boot,Spring MVC,Spring Data,Spring Security和Spring Test。...
1. **形式上类似于指令**:伪指令在程序中的位置、格式和标准指令相似,但并不直接命令CPU执行任何操作。 2. **功能上独立于标准指令**:伪指令的功能不能用标准指令替代,它们是为编译器提供的命令,用于指导编译...
该压缩包文件“《ONVIF协议网络摄像机(IPC)客户端程序开发》专栏的示例代码_2018-01-27.rar”是针对ONVIF协议网络摄像机(IPC)客户端程序开发的示例代码集合。ONVIF(Open Network Video Interface Forum)是一个...