Interface Engine

All Superinterfaces:
ExtensionObject

public interface Engine extends ExtensionObject
The interface for text-to-speech engines. This class behaves like a factory for speech channels, which are used for synthesizing human voice. Various engines are created by loaded extensions and registered by LUWRAIN core. Any particular synthesizer is address by the name of the corresponding engine.

As it is mentioned previously, this interface mostly takes care of creating the engine channels for speech synthesizing. Normally LUWRAIN may request any number of speech channels of any particular engine and all of them must work completely independently.

Whenever creation of a new channel is requested, LUWRAIN provides a map of channel parameters. The purpose of these parameters is engine-dependent, LUWRAIN does not impose any exact meaning. Typically the entire list of speech channel parameters is specified by a user through the control panel or through the command line arguments. The engine itself is addressed by its name, which is the same as the name of ExtensionObject.

In addition the Engine interface provides an set of engine features helping the core to understand what this engine can do. LUWRAIN does not expect that all engines support all features, it's absolutely normal to have some engines with partial functionality.

  • Method Details

    • getFeatures

      Set<Engine.Features> getFeatures()
      Provides the set of features what this engine cat do.
      Returns:
      The set of features, must be never null.
    • newChannel

      Channel newChannel(Map<String,String> params)
      Creates new channel of this engine with the requested parameters.
      Parameters:
      params - The map of settings values for the newly created channel (default voice, language, etc)
      Returns:
      The newly created channel, must be never null (use the exception for errors indication)