inpro.incremental.unit
Class PhraseBasedInstallmentIU

java.lang.Object
  extended by inpro.incremental.unit.IU
      extended by inpro.incremental.unit.InstallmentIU
          extended by inpro.incremental.unit.SysInstallmentIU
              extended by inpro.incremental.unit.PhraseBasedInstallmentIU
All Implemented Interfaces:
java.lang.Comparable<IU>

public class PhraseBasedInstallmentIU
extends SysInstallmentIU

an synthesizable InstallmentIU that uses phrases to structure its output. phrases can be added even when the utterance is already being produced (currently, phrases cannot be "revoked" from the installment as that wasn't necessary in our tasks yet)

Author:
timo

Nested Class Summary
 
Nested classes/interfaces inherited from class inpro.incremental.unit.IU
IU.IUUpdateListener, IU.Progress
 
Field Summary
 
Fields inherited from class inpro.incremental.unit.SysInstallmentIU
logger
 
Fields inherited from class inpro.incremental.unit.InstallmentIU
systemProduced, tts
 
Fields inherited from class inpro.incremental.unit.IU
creationTime, FIRST_IU, groundedIn, grounds, nextSameLevelLinks, previousSameLevelLink, updateListeners
 
Constructor Summary
PhraseBasedInstallmentIU(PhraseIU phrase)
          create a phrase from
 
Method Summary
private  void appendContinuation(PhraseIU phrase)
          append a continuation to the ongoing installment // this works as follows: // * we have linguistic preprocessing generate a full IU structure for both the base words and the continuation // * we then identify the words which are the continuation part of the full structure: // * we append the continuation part to the last utterance of the IU // * we then move backwards in the lists of segments and copy over synthesis information to the old segments // we call this last step "back-substitution"
 void appendPhrase(PhraseIU phrase)
          append words for this phrase at the end of the installment
private  void backsubstituteHTSModels(SysSegmentIU newSeg, SysSegmentIU oldSeg)
          recursively walk backwards on the segment layer, replacing older segments with newer segments.
 void stopAfterOngoingWord()
          breaks the segment links between words so that crawling synthesis stops after the currently ongoing word
 
Methods inherited from class inpro.incremental.unit.SysInstallmentIU
getAudio, getFinalWord, getFullPStream, getInitialWord, getSegments, getWords, scaleDeepCopyAndStartAtZero, toLabelLines, toMarkedUpString, toMaryXML, toMbrola, toPayLoad
 
Methods inherited from class inpro.incremental.unit.InstallmentIU
systemProduced, userProduced
 
Methods inherited from class inpro.incremental.unit.IU
addNextSameLevelLink, addUpdateListener, commit, compareTo, connectSLL, deepToString, duration, endTime, equals, getAge, getAmongNextSameLevelLinks, getCreationTime, getID, getNextSameLevelLink, getNextSameLevelLinks, getOngoingGroundedIU, getProgress, getSameLevelLink, ground, groundedIn, groundIn, groundIn, grounds, hashCode, isCommitted, isCompleted, isOngoing, isRevoked, isUpcoming, notifyListeners, payloadEquals, removeAllNextSameLevelLinks, removeGrin, removeGrin, reorderNextSameLevelLink, revoke, setAsTopNextSameLevelLink, setSameLevelLink, startTime, toLabelLine, toString, toTEDviewXML, updateOnGrinUpdates
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PhraseBasedInstallmentIU

public PhraseBasedInstallmentIU(PhraseIU phrase)
create a phrase from

Method Detail

appendPhrase

public void appendPhrase(PhraseIU phrase)
append words for this phrase at the end of the installment


appendContinuation

private void appendContinuation(PhraseIU phrase)
append a continuation to the ongoing installment
        // this works as follows: 
        // * we have linguistic preprocessing generate a full IU structure for both the base words and the continuation
        // * we then identify the words which are the continuation part of the full structure: 
        // * we append the continuation part to the last utterance of the IU
        // * we then move backwards in the lists of segments and copy over synthesis information to the old segments
        // we call this last step "back-substitution"
         


backsubstituteHTSModels

private void backsubstituteHTSModels(SysSegmentIU newSeg,
                                     SysSegmentIU oldSeg)
recursively walk backwards on the segment layer, replacing older segments with newer segments. Segments that have been generated more recently are potentially of better quality and should be used to replace old segments (which have been generated with other or less context) wherever possible (i.e., if their synthesis hasn't started yet).


stopAfterOngoingWord

public void stopAfterOngoingWord()
breaks the segment links between words so that crawling synthesis stops after the currently ongoing word