Java Speech API

Java Speech API

The Java Speech API specifies a cross-platform interface to support command and control recognizers, dictation systems and speech synthesizers. Although JSAPI defines an interface only there are several implementations created third parties, for example FreeTTS.

The Java Speech API allows you to incorporate speech technology into user interfaces for your applets and applications based on Java technology. It also specifies a cross-platform interface to support command and control recognizers, dictation systems, and speech synthesizers.

Core technologies

Two core speech technologies are supported through the Java Speech API: "speech synthesis" and "speech recognition".

Speech synthesis

Speech synthesis provides the reverse process of producing synthetic speech from text generated by an application, an applet, or a user. It is often referred to as text-to-speech technology.

The major steps in producing speech from text are as follows:

* Structure analysis: Processes the input text to determine where paragraphs, sentences, and other structures start and end. For most languages, punctuation and formatting data are used in this stage.
* Text pre-processing: Analyzes the input text for special constructs of the language. In English, special treatment is required for abbreviations, acronyms, dates, times, numbers, currency amounts, e-mail addresses, and many other forms. Other languages need special processing for these forms, and most languages have other specialized requirements. The result of these first two steps is a spoken form of the written text. Here are examples of the differences between written and spoken text:

St. Mathews hospital is on Main St. -> “Saint Mathews hospital is on Main street” Add $20 to account 55374. -> “Add twenty dollars to account five five, three seven four.”

The remaining steps convert the spoken text to speech:
* Text-to-phoneme conversion: Converts each word to phonemes. A phoneme is a basic unit of sound in a language.
* Prosody analysis: Processes the sentence structure, words, and phonemes to determine the appropriate prosody for the sentence.
* Waveform production: Uses the phonemes and prosody information to produce the audio waveform for each sentence. Speech synthesizers can make errors in any of the processing steps described above. Human ears are well-tuned to detecting these errors, but careful work by developers can minimize errors and improve the speech output quality. The Java Speech API and the Java Speech API Markup Language (JSML) provide many ways for you to improve the output quality of a speech synthesizer.

Speech recognition

Speech recognition provides computers with the ability to listen to spoken language and determine what has been said. In other words, it processes audio input containing speech by converting it to text.

The major steps of a typical speech recognizer are as follows:

* Grammar design: Defines the words that may be spoken by a user and the patterns in which they may be spoken.
* Signal processing: Analyzes the spectrum (i.e., the frequency) characteristics of the incoming audio.
* Phoneme recognition: Compares the spectrum patterns to the patterns of the phonemes of the language being recognized.
* Word recognition: Compares the sequence of likely phonemes against the words and patterns of words specified by the active grammars.
* Result generation: Provides the application with information about the words the recognizer has detected in the incoming audio. A "grammar" is an object in the Java Speech API that indicates what words a user is expected to say and in what patterns those words may occur. Grammars are important to speech recognizers because they constrain the recognition process. These constraints make recognition faster and more accurate because the recognizer does not have to check for bizarre sentences.

The Java Speech API supports two basic grammar types: rule grammars and dictation grammars. These types differ in various ways, including how applications set up the grammars; the types of sentences they allow; how results are provided; the amount of computational resources required; and how they are used in application design.

The Java Speech API’s classes and interfaces

The different classes and interfaces that form the Java Speech API are grouped into the following three packages:

* javax.speech: Contains classes and interfaces for a generic speech engine.
* javax.speech.synthesis: Contains classes and interfaces for speech synthesis.
* javax.speech.recognition: Contains classes and interfaces for speech recognition. The Central class is like a factory class that all Java Speech API applications use. It provides static methods to enable the access of speech synthesis and speech recognition engines. The Engine interface encapsulates the generic operations that a Java Speech API-compliant speech engine should provide for speech applications.

Speech applications can primarily use methods to perform actions such as retrieving the properties and state of the speech engine and allocating and deallocating resources for a speech engine. In addition, the Engine interface exposes mechanisms to pause and resume the audio stream generated or processed by the speech engine. The Engine interface is subclassed by the Synthesizer and Recognizer interfaces, which define additional speech synthesis and speech recognition functionality. The Synthesizer interface encapsulates the operations that a Java Speech API-compliant speech synthesis engine should provide for speech applications.

The Java Speech API is based on the event-handling model of AWT components. Events generated by the speech engine can be identified and handled as required. There are two ways to handle speech engine events: through the EngineListener interface or through the EngineAdapter class.

You can get more information about any classes and interfaces in the Java Speech API JavaDocs.

References

* [http://java.sun.com/products/java-media/speech/forDevelopers/jsapi-guide/index.html Java Speech API Programmer's Guide] by Sun
* [http://java.sun.com/products/java-media/speech/forDevelopers/jsapi-doc/index.html JavaDocs]
* [http://blogs.techrepublic.com.com/programming-and-development/?p=514 Java Speech API introduction] by Peter Mikhalenko


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Java Speech API — Die Java Speech API (JSAPI) spezifiziert eine plattformunabhängige Java Programmierschnittstelle für den Zugriff auf verschiedene Sprachtechnologien. Damit wird der Zugriff auf Sprachsteuerungs , Spracherkennungs und Sprachausgabeausgabesysteme… …   Deutsch Wikipedia

  • Java Speech Markup Language — Java Speech API Markup Language (JSML) is an XML based markup language for annotating text input to speech synthesizers. JSML is used with in the Java Speech API. JSML is an XML application and conforms to the requirements of well formed XML… …   Wikipedia

  • Java-Plattform — Die Java Plattform (englisch Java Platform) definiert die Ablaufumgebung (Java Virtual Machine) und Programmierschnittstellen (Java Application Programming Interface) innerhalb der Java Technologie. Der Kern der Java Plattform ist die Java… …   Deutsch Wikipedia

  • Java (Plattform) — Die Java Plattform (englisch Java Platform) definiert die Ablaufumgebung (Java Virtual Machine) und Programmierschnittstellen (Java Application Programming Interface) innerhalb der Java Technologie. Der Kern der Java Plattform ist die Java… …   Deutsch Wikipedia

  • Java Platform, Standard Edition 6 — Die Java Plattform (englisch Java Platform) definiert die Ablaufumgebung (Java Virtual Machine) und Programmierschnittstellen (Java Application Programming Interface) innerhalb der Java Technologie. Der Kern der Java Plattform ist die Java… …   Deutsch Wikipedia

  • Java Plattform — Die Java Plattform (englisch Java Platform) definiert die Ablaufumgebung (Java Virtual Machine) und Programmierschnittstellen (Java Application Programming Interface) innerhalb der Java Technologie. Der Kern der Java Plattform ist die Java… …   Deutsch Wikipedia

  • Speech Synthesis Markup Language — (SSML) (Язык Разметки Синтеза Речи) представляет собой основанный на XML язык разметки для приложений синтеза речи[1]. Он был рекомендован рабочей группой W3C[2]. SSML часто встраивается в сценарии VoiceXML для интерактивных систем телефонии[3].… …   Википедия

  • Java Sound — Die Java Sound API stellt Methoden zur Beeinflussung und Kontrolle der Ein und Ausgabe sowohl von Audio als auch von MIDI Daten. Im Vergleich zum Java Media Framework (JMF), das ebenfalls Aufnahme und Wiedergabe von Audio ermöglicht, ist es… …   Deutsch Wikipedia

  • Speech synthesis — Stephen Hawking is one of the most famous people using speech synthesis to communicate Speech synthesis is the artificial production of human speech. A computer system used for this purpose is called a speech synthesizer, and can be implemented… …   Wikipedia

  • Список Java API — Есть три типа Java API: официальный основной Java API, содержащийся в JDK или JRE, в одном из вариантов Java. Три варианта платформы Java: Java ME (Micro edition), Java SE (Standard edition) и Java EE (Enterprise edition). дополнительные… …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”