Class MbrolaVoice

All Implemented Interfaces:
Dumpable, UtteranceProcessor

public class MbrolaVoice extends CMUVoice
Defines an unlimited-domain diphone synthesis based voice using the MBROLA synthesis.
  • Constructor Details

    • MbrolaVoice

      public MbrolaVoice(String databaseDirectory, String database, float rate, float pitch, float range, String name, Gender gender, Age age, String description, Locale locale, String domain, String organization, CMULexicon lexicon)
      Creates an MbrolaVoice.
      Parameters:
      databaseDirectory - the directory within the MBROLA directory where the voice database of this voice is located
      database - the name of the voice database of this voice
      rate - the rate of the voice
      pitch - the pitch of the voice
      range - the range of the voice
      name - the name of the voice
      gender - the gender of the voice
      age - the age of the voice
      description - a human-readable string providing a description that can be displayed for the users.
      locale - the locale of the voice
      domain - the domain of this voice. For example,
      organization - the organization which created the voice
      lexicon - the lexicon to use
  • Method Details

    • getUnitSelector

      protected UtteranceProcessor getUnitSelector() throws IOException
      Returns the unit selector to be used by this voice. Derived voices typically override this to customize behaviors.
      Overrides:
      getUnitSelector in class CMUVoice
      Returns:
      the unit selector
      Throws:
      IOException - if an IO error occurs while getting processor
    • getMbrolaCommand

      protected String[] getMbrolaCommand()
      Returns the command line that invokes the MBROLA executable. The command will be in the form of:
       {mbrolaExecutable} -e -R {mbrolaRenameList} {mbrolaVoiceDB} 
       - -.raw 
    • getMbrolaBase

      public String getMbrolaBase()
      Returns the absolute name of the MBROLA directory.
      Returns:
      the absolute name of the MBROLA directory
    • getMbrolaBinary

      public String getMbrolaBinary()
      Returns the absolute file name of the MBROLA binary.
      Returns:
      the absolute file name of the MBROLA binary
    • getRenameList

      public String getRenameList()
      Returns the absolute file name of the MBROLA phonetic symbols rename table.
      Returns:
      the absolute file name of the rename table
    • getDatabase

      public String getDatabase()
      Returns the absolute file name of the Voice database this MbrolaVoice uses.
      Returns:
      the absolute file name of the Voice database
    • getUnitConcatenator

      protected UtteranceProcessor getUnitConcatenator() throws IOException
      Returns the unit concatenator to be used by this voice. This method constructs the command line with which the MBROLA binary will be called, and initialises the MbrolaCaller accordingly.
      Overrides:
      getUnitConcatenator in class CMUVoice
      Returns:
      the unit conatenator
      Throws:
      IOException - if an IO error occurs while getting processor
    • getAudioOutput

      protected UtteranceProcessor getAudioOutput() throws IOException
      Returns the audio output used by this voice.
      Overrides:
      getAudioOutput in class CMUVoice
      Returns:
      the audio output used by this voice
      Throws:
      IOException - if an I/O error occurs
    • getResource

      protected URL getResource(String resource)
      Get a resource for this voice. Resources for this voice are located in the package com.sun.speech.freetts.en.us.
      Overrides:
      getResource in class Voice
    • toString

      public String toString()
      Converts this object to a string
      Overrides:
      toString in class CMUVoice
      Returns:
      a string representation of this object