[Package Index] [Index] [Users' Guide] [SVAPI Home Page]

Class COM.novell.SVAPI.EngineProperties

public final class EngineProperties extends Properties

The EngineProperties class allows an application to obtain information about an engine. This information can be used to select an appropriate engine. An EngineProperties holds values that can be found by key. Both keys and values are strings. The predefined keys are as follows. Some keys are completely optional, while others are required by different classes of engines.

Engine

engine.name = AcmeEngine
This property holds the engine's name. The name is used as a tag to uniquely identify the engine. An engine which supports multiple properties objects should all share the same name.
engine.description = Acme Engine
This property holds the engine's description. The description is the name of the engine as a user might expect to see it. An application might retrieve this string to use in the caption of a dialog box.
engine.mode = verification | identification | classification
This property specifies whether this EngineProperties represents a verifier, an identifier or a classifier. Only one value may be specified.
engine.audio = utterance | stream
This property specifies whether the engine can operate on collected utterances and/or from an audio stream. Both utterance and stream can be specified.
engine.textmode = dependent | independent
This property specifies whether or not an engine is text-dependent. This property must be specified for verification and identification engines. Other engines may leave this blank. Both dependent and independent can be specified.
engine.identification.set = open | closed
This property specifies whether open-set and/or closed-set identification can be performed. This property must be specified for identification engines. Other engines may leave this blank. Both open and closed can be specified.
engine.enroll = engine | application
This property specifies whether the application or the engine can determine what text is to be spoken. Both engine and application can be specified. A value must be specified by all engines using models.
engine.text.verify = true | false
This property specifies whether or not the engine is capable of verifying text (i.e. verifying that the actual text spoken matches a string).
engine.datastore = engine | application
This property specifies whether an engine does its own database management, or if it uses the DataStore provided by the application. This property should be specified if an engine uses writable, persistent storage.
engine.score.best = 1.0
This property specifies the scalar score that is returned for the best possible match that could reasonably be expected. This need not be exact, but should give an application a ballpark figure. At the very least, applications should be able to use the engine.score.best and the engine.score.worst properties to determine if larger scores are better or worse than smaller scores. Engines which do not report scalar scores need not supply this value.
engine.score.worst = 0.0
This property specifies the scalar score that is returned for the worst possible match that could reasonably be expected. This need not be exact, but should give an application a ballpark figure. Engines which do not report scalar scores need not supply this value.
engine.score.type = scalar | cohort | binary
This property specifies what types of scores the engine returns. The values that can be specified correspond to the data types that can be set in the Score class. An engine should specify all the types that it actually reports.
engine.score.threshold = true | false
This property specifies if an engine is able use threshold values. An engine should specify this value if it performs verification or identification functionality.
engine.parameters = param1 | param2 | ...
This property specifies what engine parameters names it supports. This property can be left blank if an engine does not support any engine parameters. Standard parameters are:

Models

model.parameters = param1 | param2 | ...
This property specifies what model parameters names it supports. This property can be left blank if an engine does not support any model parameters.
model.multicreate = true | false
This property specifies whether or not the engine can combine multiple models into a new model.
model.cohort = true | false
This property specifies whether or not the engine supports the cohort management functions.

Audio

audio.format = ulaw | Alaw | 16bitLinear | 8bitLinear | G.711 | G.723.1 | G.729A | ADPCM | GSM
The audio format the engine expects. Only one audio format can be specified. If an engine supports multiple audio formats, it should create a distinct properties object for each audio format.
audio.freq = 11025
The sampling rate the engine expects. Only one sampling rate can be specified. If an engine supports multiple sampling rates, it should create a distinct properties object for each sampling rate.
audio.connections = desktop | device | telephone
The audio connections the engine supports. The engine can specify all the connection types it supports.
audio.channels = SpeakerPhone | CellPhone | CondensorMic | ElectretMic
The channel types that the engine supports.

Language

language.dependent = true | false
This property specifies if the engine is language dependent or not. Only one value can be specified.
language.name = English
The name of the language. Only one language can be specified. If an engine supports multiple languages, it should create a distinct properties object for each language.
language.code = en
The ISO 639 language code for the engine's language.
language.country = United States
The name of the country.
language.country.code = us
The ISO 3166 country code for the engine's country.
language.region = Southern
The name of the region.

Provider

provider.name = Acme Speech, Inc
This property specifies the name of the company providing the engine.
provider.description = address \n .... \n ....
This property specifies the address at which the provider can be reached.
provider.url = http://www.acme.com/
This property specifies the URL to the provider's home page.
provider.specific.* = Provider can create any proprietary keys under this category
The engine can specify any proprietary properties with keys having the prefix provider.specific.

Management

SVAPI.classname = AcmeEngine
This property specifies the classname of the engine's SVAPIEngine object. This property must be left blank if the engine is a native engine and must be specified otherwise.
SVAPI.location.server
This property specifies the server name where the engine can be found. This property should be left blank if the engine is installed locally.
SVAPI.location.port
This property specifies the network port for accessing the engine. This property should be left blank if the engine is installed locally and is a Java engine. This property must be specified for native engines.

Note that if an engine supports multiple audio formats, sampling frequencies, or languages, it needs to create distinct properties objects that represent the supported cross-product of these properties (see createEnginePropertiesList). For example, if an engine supports sampling frequencies of 8000 and 11025 Hertz in both 8-bit linear and 16-bit linear, and it supports English, Spanish and French, it would need to create 12 distinct properties objects.

See Also: SVAPI, createEnginePropertiesList, EnginePropertiesList


Constructor Index

EngineProperties()
Creates an empty engine properties object.


Method Index

addProperty(String, String)
Adds a property.
clone()
containsAny(Properties)
Checks to see if any property in Props is contained by this EngineProperties.
containsProperties(Properties)
Checks to see if all the properties in Props are contained by this EngineProperties.
containsProperty(String)
Checks to see if a property contains "true".
containsProperty(String, String)
Checks to see if a property contains a value.
getProperties(String)
Returns all properties identified by key.
hasProperty(String)
Checks to see if a property exists.
removeProperty(String)
Removes all properties associated with a key.
removeProperty(String, String)
Removes a property.


Constructors



EngineProperties

public EngineProperties()
Creates an empty engine properties object.


Methods



containsProperty

public boolean containsProperty(String Key, String Property)
Checks to see if a property contains a value.
Returns true if the value is found in the key. false is returned if the key is not found, or does not contain the Value.


containsProperty

public boolean containsProperty(String Key)
Checks to see if a property contains "true".
Returns true if "true" is found in the key. false is returned if the key is not found, or does not contain "true".


hasProperty

public boolean hasProperty(String Key)
Checks to see if a property exists.


containsProperties

public boolean containsProperties(Properties Props)
Checks to see if all the properties in Props are contained by this EngineProperties.


containsAny

public boolean containsAny(Properties Props)
Checks to see if any property in Props is contained by this EngineProperties.


getProperties

public String[] getProperties(String Key)
Returns all properties identified by key. null is returned if the key is not found.


addProperty

public synchronized void addProperty(String Key, String Value)
Adds a property.


removeProperty

public synchronized boolean removeProperty(String Key, String Value)
Removes a property. Returns true if the property was found.


removeProperty

public synchronized boolean removeProperty(String Key)
Removes all properties associated with a key. Returns true if the key was found.


clone

public synchronized Object clone()
Overrides: clone in class Hashtable.



[Package Index] [Index] [Users' Guide] [SVAPI Home Page]

rwille@novell.com