java语音实现技术TTS资料

要做语音,查了一些资料。

Java Speech API :http://java.sun.com/products/java-media/speech/

Java Speech API 允许开发人员将语音技术整合到 Java applet 和应用程序的用户界面中。这种 API 规定一个跨平台的接口来支持命令—控制识别器、听写系统和语音合成器。
这个综合 API 被分成几个规范:

Java Speech API 规范(Java Speech API Specification,JSAPI)
Java Speech API 程序员指南
Java Speech API 语法格式规范(Java Speech API Grammar Format Specification,JSGF)
Java Speech API 标记语言规范(Java Speech API Markup Language Specification,JSML)
这个 API 没有 Sun 公司的参考实现,但是有许多第三方实现,包括 Speech for Java(可以从 IBM alphaWorks 获得),它使用 ViaVoice 来支持语音命令识别、听写和文本到语音的合成。

java.sun.com官方资料:

Question Index

Where can I get the Java Speech API (JSAPI)?
The Java Speech API (JSAPI) is not part of the JDK and Sun does not ship an implementation of JSAPI. Instead, we work with third party speech companies to encourage the availability of multiple implementations.

Question Index

What is the Java Speech API (JSAPI)?
The Java Speech API allows Java applications to incorporate speech technology into their user interfaces. It defines a cross-platform API to support command and control recognizers, dictation systems and speech synthesizers.

Question Index

When will the JSAPI specification be available?
The Java Speech 1.0 API specification was released on October 26, 1998, and is available at http://java.sun.com/products/java-media/speech/

Question Index

What does the Java Speech API specification include?
The Java Speech API specification includes the Javadoc-style API documentation for the approximately 70 classes and interfaces in the API. The specification also includes a detailed Programmer's Guide which explains both introductory and advanced speech application programming with JSAPI. Two companion specifications are available: JSML and JSGF.

The specification is not yet provided with the .class files needed to compile applications with JSAPI.

Question Index

What are JSML and JSGF?
The Java Speech API Markup Language (JSML) and the Java Speech API Grammar Format (JSGF) are companion specifications to the Java Speech API. JSML (currently in beta) defines a standard text format for marking up text for input to a speech synthesizer. JSGF version 1.0 defines a standard text format for providing a grammar to a speech recognizer. Both specifications are available at http://java.sun.com/products/java-media/speech/

Question Index

How was the JSAPI specification developed?
Sun Microsystems, Inc. worked in partnership with leading speech technology companies to define the initial specification of the Java Speech API, JSML and JSGF. Sun is grateful for the contributions of:

Apple Computer, Inc.
AT&T
Dragon Systems, Inc.
IBM Corporation
Novell, Inc.
Philips Speech Processing
Texas Instruments Incorporated
The JSAPI specification and JSGF and JSML specifications were developed as open specifications with input from a public review process.
Question Index

How does JSAPI relate to other Java APIs?
The Java Speech API is part of a family of APIs that work together as a suite to provide customers with enhanced graphics and extended communications capabilities. These APIs include the

Java 2D API
Java 3D API
Java Advanced Imaging API
Java Media Framework API
Java Sound API
Java Telephony API
Question Index

What JSAPI implementations are now available?
The Java Speech API is a freely available specification and therefore anyone is welcome to develop an implementation. The following implementations are known to exist.

Note: Sun Microsystems, Inc. makes no representations or warranties about the suitability of the software listed here, either express or implied, including but not limited to the implied warranties of mechantability, fitness for a particular purpose, or non-infringement. The implementations listed here have not been tested with regard to compliance to the JSAPI specification, nor does their appearance on this page imply any form of endorsement of compliance on the part of Sun.

FreeTTS on

Description: Open source speech synthesizer written entirely in the Java programming language.
Requirements: JDK 1.4. Read about more requirements on the FreeTTS web site.
IBM's "Speech for Java"
Description: Implementation based on IBM's ViaVoice product, which supports continuous dictation, command and control and speech synthesis. It supports all the European language versions of ViaVoice -- US & UK English, French, German, Italian and Spanish -- plus Japanese.
Requirements: JDK 1.1.7 or later or JDK 1.2 on Windows 95 with 32MB, or Windows NT with 48MB. Both platforms also require an installation ViaVoice 98.
IBM's "Speech for Java" on Linux
Description: Beta version of "Speech for Java" on Linux. Currently only supports speech recognition.
Requirements: RedHat Linux 6.0 with 32MB, and Blackdown JDK 1.1.7 with native thread support.
The Cloud Garden
Description: Implementation for use with any recognition/TTS speech engine compliant with Microsoft's SAPI5 (with SAPI4 support for TTS engines only). An additional package allows redirection of audio data to/from Files, Lines and remote clients (using the javax.sound.sampled package). Some examples demonstrate its use in applets in Netscape and IE browsers.
Requirements: JDK 1.1 or better, Windows 98, Me, 2000 or NT, and any SAPI 5.1, 5.0 or 4.0 compliant speech engine (some of which can be downloaded from Microsoft's web site).
Lernout & Hauspie's TTS for Java Speech API

Description: Implementations based upon ASR1600 and TTS3000 engines, which support command and control and speech synthesis. Supports 10 different voices and associated whispering voices for the English language. Provides control for pitch, pitch range, speaking rate, and volume.
Requirements: Sun Solaris OS version 2.4 or later, JDK 1.1.5. Sun Swing package (free download) for graphical Type-n-Talk demo.
More information: Contact Edmund Kwan, Director of Sales, Western Region Speech and Language Technologies and Solutions (ekwan@lhs.com)
Conversa Web 3.0

Description: Conversa Web is a voice-enabled Web browser that provides a range of facilities for voice-navigation of the web by speech recognition and text-to-speech. The developers of Conversa Web chose to write a JSAPI implementation for the speech support.
Requirements: Windows 95/98 or NT 4.0 running on Intel Pentium 166 MHz processor or faster (or equivalent). Minimum of 32 MB RAM (64 MB recommended). Multimedia system: sound card and speakers. Microsoft Internet Explorer 4.0 or higher.
Festival

Description: Festival is a general multi-lingual speech synthesis system developed by the Centre for Speech Technology Research at the University of Edinburgh. It offers a full text to speech system with various APIs, as well an environment for development and research of speech synthesis techniques. It is written in C++ with a Scheme-based command interpreter for general control and provides a binding to the Java Speech API. Supports the English (British and American), Spanish and Welsh languages.
Requirements: Festival runs on Suns (SunOS and Solaris), FreeBSD, Linux, SGIs, HPs and DEC Alphas and is portable to other Unix machines. Preliminary support is available for Windows 95 and NT. For details and requirements see the Festival download page.
Elan Speech Cube

Description: Elan Speech Cube is a Multilingual, multichannel, cross-operating system text-to-speech software component for client-server architecture. Speech Cube is available with 2 TTS technologies (Elan Tempo : diphone concatenation and Elan Sayso : unit selection), covering 11 languages. Speech Cube native Java client supports JSAPI/JSML.
Requirements: JDK 1.3 or later on Windows NT/2000/XP, Linux or Solaris 2.7/2.8, Speech Cube V4.2 and higher.
About Elan Speech: Elan Speech is an established worldwide provider of text-to-speech technology (TTS). Elan TTS transforms any IT generated text into speech and reads it out loud.
Question Index

How do I use JSAPI in an applet?
It is possible to use JSAPI in an applet. In order to do this, users will need the Java Plug-in (see http://java.sun.com/products/plugin). The reason for this is that JSAPI implementations require access to the AWT EventQueue, and the built-in JDK support in the browsers we've worked with denies any applet access to the AWT EventQueue. The Java Plug-in doesn't have this restriction, and users can configure the Java Plug-in to grant or deny applet access to the AWT Queue.

If you are using JRE 1.1:
Have your users follow these steps if your applet is based upon JDK 1.1:

Obtain a JDK 1.1.7 or better Java Runtime Environment (JRE). The reason for this is we have had problems with applet security being denied with JDK 1.1.6. Please note that the user needs the JRE and not the JDK. The JRE is freely available for download from the following URL:
http://java.sun.com/products/jdk/1.1

Before running the browser, have the user modify their CLASSPATH environment variable to include the supporting classes for JSAPI. For example, if the user has IBM's Speech for Java, have the user include the ibmjs.jar file in CLASSPATH.
Make sure any shared libraries for the JSAPI support are in the user's PATH. For example, if the user has IBM's Speech For Java, have the user include the ibmjs lib directory in their PATH (e.g., c:\ibmjs\lib).
Have the user copy the speech.properties to their home directory. A user can determine their home directory by enabling the console for the Java Plug-in. When the user accesses a page that uses the Java Plug-in, the Java Plug-in console will tell the user what it thinks the user's home directory is.
Use javakey to add your identity to their signature database (i.e., identitydb.obj). This will tell the Java Plug-in to trust applets signed by you. Information on javakey and signing can be found at the following URLS:
http://java.sun.com/security/signExample
http://java.sun.com/products/plugin/1.1.1/signed.html

Copy the identitydb.obj that was created or updated in previous step to the user's home directory (the same place where the user copied speech.properties).
Then perform these steps on your applet:

Use javakey to both create a signature database for your system and to sign your applet's jar file. This will allow the applet to participate in the security model.
Create an HTML page that uses your applet in the Plug-in. See http://java.sun.com/products/plugin/1.1.1/docs for more information on how to do this.
If the user experiences a "checkread" exception while attempting to run your applet, it's most likely due to a mismatch between the user's identitydb.obj file and the signature on your applet's jar file. A way to remedy this is to recreate your identitydb.obj and re-sign your jar file.
If you are using JRE 1.2:
The Java 2 platform's security model allows signing as done with JDK 1.1, but it also permits finer grained access control. The following are just some examples, and we recommend you read the Java Security Architecture Specification at the following URL before deciding what to do:

http://java.sun.com/products/jdk/1.2/docs/guide/security/spec/security-spec.doc.html

For a quick start, have your users do the following if your applet uses the Java 2 (i.e., JDK 1.2) platform:

Obtain the JDK 1.2 Plug-in.
Before running the browser, have the user modify their CLASSPATH environment variable to include the supporting classes for JSAPI. For example, if the user has IBM's Speech for Java, have the user include the ibmjs.jar file in CLASSPATH.
Make sure any shared libraries for the JSAPI support are in the user's PATH. For example, if the user has IBM's Speech For Java, have the user include the ibmjs lib directory in their PATH (e.g., c:\ibmjs\lib).
Have the user copy the speech.properties to their home directory. A user can determine their home directory by enabling the console for the Java Plug-in. When the user accesses a page that uses the Java Plug-in, the Java Plug-in console will tell the user what it thinks the user's home directory is.
Have the user modify their java.policy file in the Java Plug-in's security directory appropriately. There are many ways to do this. The following are just a few possibilities:
Grant all applets the AllPermission property. This is extremely dangerous and is only provided as an example. To do this, have the user modify their java.policy file to contain only the following lines:
grant {
permission java.security.AllPermission;
}

Grant permissions to a particular URL (e.g., the URL containing your applet). To do this, have the user add the following lines to their java.policy file:
grant codeBase "http://your.url.here" {
permission java.security.AllPermission;
}

The information in this FAQ is not meant to be a complete tutorial on the JDK 1.1 and JDK 1.2 architecture. Instead, it is meant to be hopefully enough to get you started with running JSAPI applets in a browser. We suggest you visit the following URLs to obtain more information on the Java Security models:

Java Security Home Page:
http://java.sun.com/security

Tutorial on JDK 1.1 Security:
http://java.sun.com/docs/books/tutorial/security1.1

Tutorial on JDK 1.2 Security:
http://java.sun.com/docs/books/tutorial/security1.2

Question Index

Why does Netscape Navigator or Internet Explorer throw a security exception when I use JSAPI in an applet?
JSAPI implementations require access to the AWT EventQueue. The built-in Java platform support in the browsers we've worked with denies an applet access to the AWT EventQueue. As a result, JSAPI implementations will be denied access to the AWT EventQueue. In addition, we are not aware of a way to configure the built-in Java platform support in these environments to allow access to the AWT EventQueue.

The Java Plug-in (see http://java.sun.com/products/plugin), however, can be configured to allow an applet the necessary permissions it needs to use an implementation of JSAPI. As a result, we currently recommend using the Java Plug-in for applets that use JSAPI.

Question Index

I'm concerned about JSAPI applets "bugging" my office. What are the plans for JSAPI and security on JDK 1.2?
The JSAPI 1.0 specification includes the SpeechPermission class that currently only supports one SpeechPermission: javax.speech. When that permission is granted, an application or applet has access to all the capabilities provided by installed speech recognizers and synthesizers. Without that permission, an application or applet has no access to speech capabilities.

As speech technology matures it is anticipated that a finer-grained permission model will be introduced to provide access by applications and applets to some, but not all, speech capabilities.

Before granting speech permission, developers and users should consider the potential impact of the grant.

Question Index

Does JSAPI allow me to control the audio input source of a recognizer or redirect the audio output of a speech synthesizer?
This support is currently not in JSAPI. We plan to use the Java Sound API to help provide this support in the future. We purposely left room for expansion in the javax.speech.AudioManager interface and will further investigate this support after the Java Sound API is finalized.

Question Index

试用了一些产品,发现对于中文不行呀,那位介绍一下呀?

时间: 2024-09-20 06:19:44

java语音实现技术TTS资料的相关文章

iOS自带文本转语音技术(TTS)的实现即语音播报的实践_IOS

文本转语音技术, 也叫TTS, 是Text To Speech的缩写. iOS如果想做有声书等功能的时候, 会用到这门技术. 一,使用iOS自带TTS需要注意的几点: 1.iOS7之后才有该功能 2.需要 AVFoundation 库 3.AVSpeechSynthesizer: 语音合成器, 可以假想成一个可以说话的人, 是最主要的接口 4.AVSpeechSynthesisVoice: 可以假想成人的声音 5.AVSpeechUtterance: 可以假想成要说的一段话 二,代码示例, 播放

C#语音朗读文本 — TTS的实现

原文:C#语音朗读文本 - TTS的实现 TTS, Text To Speech的缩写,是使用语音朗读文本的技术.目前,在国内应用较多的是排队叫号系统 Windows 平台的TTS,通常使用的是微软自带的 Speech API. Windows XP 自带的是 Speech API 5.1,默认是只支持英文的.如果要朗读中文,需要安装LangPack,里面支持简体中文,不过,是个男生的发音. 从Vista开始,默认自带的 Microsoft Speech API 5.3,效果好了很多,可惜不支持

语音唤醒技术:small-footprint keyword spotting

本文将介绍Interspeech 2017上关于语音唤醒技术的几篇文章. 相应分享视频链接:https://yq.aliyun.com/webinar/play/336 首先,什么是语音唤醒? 上面的四幅图表现设备从休眠到唤醒的过程:首先,设备需要被开启,自动加载好资源,这时它处于休眠状态.当用户说出特定的唤醒词时,设备就会被唤醒,切换到工作状态等待用户接下来的指令.这一过程中用户不需要用手接触,直接可以用语音进行操作,同时利用语音唤醒的机制,设备不用实时地处于工作的状态,从而节省能耗. 语音唤

Tomcat与Java Web开发技术详解连载之一

web|详解 本章介绍如何在Tomcat上创建和发布Web应用.这里首先讲解Tomcat的目录结构以及Web应用的目录结构,接着介绍如何将HTML.Servlet.JSP和Tag Library部署到Web应用中,然后介绍把整个Web应用打包并发布的方法,最后介绍如何在Tomcat上配置虚拟主机. 本章侧重于讨论Web应用的结构和发布方法,所以没有对本章的Servlet和JSP的例子进行详细解释,关于Servlet和JSP的技术可以分别参考其它章节的内容. 2.1 Tomcat的目录结构 在To

Tomcat与Java Web开发技术详解连载之二

web|详解 2.2.4 部署HTML文件 在helloapp目录下加入index.htm文件,这个文件仅仅用来显示一串带链接的字符"Welcome to HelloApp", 它链接到login.jsp文件.以下是index.htm文件的代码: <html><head><title>helloapp</title></head><body ><p><font size="7"

Tomcat与Java Web开发技术详解连载之三

web|详解 2.2.8 创建并发布WAR文件 Tomcat既可以运行采用开放式目录结构的Web应用,也可以运行WAR文件.在本书配套光盘的sourcecode/chapter2/helloapp目录下提供了所有源文件,只要把整个helloapp目录拷贝到/webapps目录下,即可运行开放式目录结构的helloapp应用.在Web应用的开发阶段,为了便于调试,通常采用开放式的目录结构来发布Web应用,这样可以方便地更新或替换文件.如果开发完毕,进入产品发布阶段,应该将整个Web应用打包为WAR

JSP中使用Java的JDBC技术实现对数据库的各种操作

在JSP 中可以使用Java 的JDBC 技术,实现对数据库中表记录的查询.修改和删除等操作.JDBC 技术在JSP 开发中占有很重要的地位. JDBC(Java DataBase Connectivity)是Java 数据库连接API.简单地说, JDBC 能完成三件事: (1) 与一个数据库建立连接, (2) 向数据库发送SQL 语句, (3) 处理数据库返回的结果. JDBC 和数据库建立连接的一种常见方式是建立起一个JDBC─ODBC 桥接器.由于ODBC 驱动程序被广泛的使用,建立这种

在AIX Version 5.3中使用Java和PHP技术进行开发,第5部分

第 5 部分: 安装和集成 PHP Java Bridge 简介:在 AIX 中可以开发使用 Java 和 PHP 技术的应用程序.本系列文章共有六个部 分,本文是其中的第 5 部分,将介绍如何在 Tomcat 应用服务器中安装.设置和集成 PHP Java Bridge ,从而使得您能够开发 PHP Web 接口. 关于本系列 PHP是一种非常优秀的Web开发语言,而在业务应用程序开发方面,Java技 术十分流行.因此,为了在AIX Version 5.3 操作系统上充分利用它们的优势,专门开

在AIX Version 5.3中使用Java和PHP技术进行开发,第3部分

第 3 部分: 将 Java 业务应用程序与 DB2Version 9 进行集成 简介:在 AIX 中可以开发使用 Java 和 PHP 技术的应用程序.在获得使用 PHP 作为 基于 Web 的接口平台的好处的同时,您可以使用 Java 编程语言编写核心逻辑(或者重新部署现有的基 于 Java 的应用程序).在本文(系列文章的第 3 部分)中,介绍了如何将第 2 部分中创建的核心应用 程序连接到 DB2 数据库,以便对问卷调查的问题和回答进行存储. 关于本系列 PHP 是一种非常优秀的Web开