private AudioInputStream synthesizeVariant(AudioFileFormat aft,Element domElement) throws SynthesisException {
  int numberOfBackChannels=unitFileReader.getNumberOfUnits();
  int backchannelNumber=0;
  if (domElement.hasAttribute("variant")) {
    backchannelNumber=Integer.parseInt(domElement.getAttribute("variant"));
  }
  if (backchannelNumber >= numberOfBackChannels) {
    throw new IllegalArgumentException("This voice has " + numberOfBackChannels + " backchannels only. so it doesn't support unit number "+ backchannelNumber);
  }
  return synthesizeSelectedVocalization(backchannelNumber,aft,domElement);
}

private AudioInputStream synthesizeVariant ( AudioFileFormat aft , Element domElement ) throws SynthesisException { int numberOfBackChannels = unitFileReader . getNumberOfUnits ( ) ; int backchannelNumber = 0 ; if ( domElement . hasAttribute ( "variant" ) ) { backchannelNumber = Integer . parseInt ( domElement . getAttribute ( "variant" ) ) ; } if ( backchannelNumber >= numberOfBackChannels ) { throw new IllegalArgumentException ( "This voice has " + numberOfBackChannels + " backchannels only. so it doesn't support unit number " + backchannelNumber ) ; } return synthesizeSelectedVocalization ( backchannelNumber , aft , domElement ) ; }
synthesize a " variant " vocalization
