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

原文链接: http://blog.csdn.net/yincheng01/article/details/3514836

转载于:https://my.oschina.net/junwong/blog/48010

使用java技术实现IBM VIAVOICE 语音朗读技术相关推荐

  1. 基于Google的嵌入式系统android开发语音技术(语音搜索,语音朗读文章,语音控制)

    android是Google推出的嵌入式操作系统,有着广泛的根基与基础.最近一个中关村的一个CEO朋友送了一个摩托罗拉android手机,想玩玩语音技术过把瘾.如何用android开发语音技术应用呢, ...

  2. 微软语音 AI 技术与微软听听文档小程序实践 | AI ProCon 2019

    演讲者 | 赵晟.张鹏 整理 | 伍杏玲 出品 | CSDN(ID:CSDNnews) [CSDN 编者按]9 月 7 日,在CSDN主办的「AI ProCon 2019」上,微软(亚洲)互联网工程院 ...

  3. 微软语音AI技术与微软听听文档小程序实践 | AI ProCon 2019

    演讲嘉宾 | 赵晟.张鹏 整理 | 伍杏玲 来源 | CSDN(ID:CSDNnews) [导语]9 月 7 日,在CSDN主办的「AI ProCon 2019」上,微软(亚洲)互联网工程院人工智能语 ...

  4. 方正畅听 文字识别自动语音朗读软件

    方正畅听是一款基于科大讯飞语音合成技术开发的免费文字识别自动语音朗读软件,它可以帮您把任何文本文字转换成语音朗读,看书变成听书,支持朗读RTF.TXT.DOC.PDF.HTML等类型的文本,本次发布的 ...

  5. 语音朗读中多音字问题

    语音朗读技术日益普及但多音字问题始终没有得到解决,虽然采用词组可以减少一些多音字识别的困难,但不能从根本上解决问题.在朗读中出现将字音读错实在使人不爽.所以大家都来集思广益,想出切实可行的解决方法,让 ...

  6. 说话就能轻松操控,科大讯飞语音唤醒技术带来便利体验!

    如果,紧箍咒失灵了,孙悟空还会听唐僧的话吗? 如果,专注驾驶途中,一声呼唤便可响应需求是否很方便? 如果,手机落在卧室的某个角落,轻轻唤醒便能找到是否心情舒畅? 现实生活中的这一切,都可以通过语音唤醒 ...

  7. mysql朗读,Android技术分享-文字转语音并朗读

    Android技术分享-文字转语音并朗读 最近在做一个项目,其中有一个功能是需要将文本转换成语音并播放出来.下面我将我的做法分享一下. 非常令人开心的是,Android系统目前已经集成了TTS,提供了 ...

  8. 关于 java 实现 语音朗读

    最近有个java项目要实现 一个 java语音朗读的功能,百度了半天 没有现成的 .也是一头雾水.没具体思路.....大体上总结了下网上的资料  1.java 实现起来 比c或者vb 能麻烦点,或者是 ...

  9. 使用java实现语音朗读

    jacob jar包及API下载:https://download.csdn.net/download/hjinping/10391308 1.64位操作系统的将jacob-1.17-M2-x64.d ...

最新文章

  1. C++ Opengl 绘制图像字符源码
  2. Java:JDBC(Mysql)
  3. OOP的核心思想是什么?请简述你对OOP的理解
  4. 计算机综合布线毕业论文设计方案,网络综合布线毕业论文设计.doc
  5. Python小程序(3)--BMR(基础代谢率)计算器
  6. python中保留字pass_Python包含的保留字
  7. 导出手机QQ聊天记录到电脑
  8. 输入框限制规则 只能输入数字 只能输入字母数字 等等
  9. epoch mysql_PostgreSQL: epoch 新纪元时间的使用
  10. android 获取以太网的动态IP地址,子网掩码,DNS地址,网关地址
  11. 两台无线路由桥接教程
  12. 7.1 RAID(独立冗余磁盘阵列)
  13. Vim的几个高级玩法
  14. distinct去重用法(简单明了)
  15. vue中写svg组件svg图片加载不出来
  16. 数据隐藏技术揭秘笔记
  17. 2021年10月11月总结12月计划
  18. 2022.05 ESP32 空中升级 OTA
  19. 用微软工具做一个纯净的系统启动盘(图文教程)
  20. 数据库管理-第四十四期 数据库的物理隔离(20221118)

热门文章

  1. (个人)订阅号注册公众平台步骤
  2. 基于SVPWM的三相全桥逆变器,输出电压幅值和频率可调,输出电压THD<3%
  3. Movidius Compute Stick
  4. python数据分析之云雨图(箱型图+分布图+散点图)
  5. 我为啥从大公司离开,去一家创业公司?
  6. 万事开头难与千里之行始于足下
  7. Linux性能测试工具 stress,stress-ng,sysbench,fio以及检测dstat
  8. 度量衡计算工具_在线度衡量转换器
  9. 抄书——最优化的理论与方法(4)——数学基础(秩一校正)
  10. 迈克尔逊干涉计算光强matlab,基于MATLAB方法的非单色光迈克尔逊干涉研究_李芳菊.pdf...