TtsEngineAction TtsEngineAction TtsEngineAction TtsEngineAction Enum

Definição

Especifica a ação de linguagem de marcação de síntese de fala (SSML) a ser executada na renderização de um determinado TextFragment.Specifies the Speech Synthesis Markup Language (SSML) action to be taken in rendering a given TextFragment.

public enum class TtsEngineAction
public enum TtsEngineAction
type TtsEngineAction = 
Public Enum TtsEngineAction
Herança
TtsEngineActionTtsEngineActionTtsEngineActionTtsEngineAction

Campos

Bookmark Bookmark Bookmark Bookmark 3

Indica que TextFragment deve ser usado como o conteúdo de um indicador.Indicates that TextFragment is to be used as the contents of a bookmark. Corresponde à marca XML <mark> na especificação SSML.It corresponds to the <mark> XML tag in the SSML specification.

ParseUnknownTag ParseUnknownTag ParseUnknownTag ParseUnknownTag 7

Indica que nenhuma ação foi determinada da entrada SSML.Indicates that no action has been determined from SSML input. Esta entrada pode ser interpretada ou ignorada a critério do mecanismo de síntese.This input that may be interpreted or ignored by at the discretion of a synthesis engine. O TextFragment associado é uma marca XML desconhecida que não faz parte do padrão SSML.The associated TextFragment is an unknown XML tag not part of the SSML standard.

Pronounce Pronounce Pronounce Pronounce 2

Solicitações de entrada TextFragment texto ser interpretado como fonemas.Requests that input TextFragment text be interpreted as phonemes. A pronúncia exata é especificada pelo membro Phoneme do objeto FragmentState retornado pela propriedade State em instâncias de TextFragment.Exact pronunciation is specified by the Phoneme member of the FragmentState object returned by the State property on TextFragment instances. Corresponde à marca XML <Phoneme> na especificação SSML.It corresponds to the <Phoneme> XML tag in the SSML specification.

Silence Silence Silence Silence 1

Indica que um TextFragment não contém texto a ser renderizado como fala.Indicates that a TextFragment contains no text to be rendered as speech. A duração do silêncio é especificada pela propriedade Duration do objeto FragmentState retornado pela propriedade State em instâncias de TextFragment.Duration of the silence is specified by the Duration property of the the FragmentState object returned by the State property on TextFragment instances. Corresponde à marca XML <Silence> na especificação SSML.It corresponds to the <Silence> XML tag in the SSML specification.

Speak Speak Speak Speak 0

Solicita que o associado TextFragment devem ser processados e falado.Requests that the associated TextFragment should be processed and spoken. Esse é o valor padrão de um TextFragment.This is the default value for a TextFragment. Corresponde à marca XML <speak> na especificação SSML.It corresponds to the <speak> XML tag in the SSML specification.

SpellOut SpellOut SpellOut SpellOut 4

Indica que os valores de texto fornecida por um TextFragment por meio de seu TextToSpeak propriedade devem ser sintetizar como caracteres individuais.Indicates that text values provided by a TextFragment through its TextToSpeak property are to be synthesize as individual characters. Essa renderização inclui a pontuação, exceto por espaços em branco e texto alfanumérico.This rendering includes punctuation, other than white space, as well as alphanumeric text. Por exemplo, o fragmento de texto associado "word!"For example, the associated text fragment "word!" deve ser sintetizado em "w o r d ponto de exclamação".should be synthesized into "w o r d exclamation point".

StartParagraph StartParagraph StartParagraph StartParagraph 6

Indica o estado do parágrafo.Indicates state of paragraph. Corresponde à marca XML <p> na especificação SSML.It corresponds to the <p> XML tag in the SSML specification.

StartSentence StartSentence StartSentence StartSentence 5

Indica o início da frase.Indicates start of sentence. Corresponde à marca XML <s> na especificação SSML.It corresponds to the <s> XML tag in the SSML specification.

Exemplos

O exemplo a seguir faz parte de uma implementação de síntese de fala personalizada TtsEngineSsmlherdada de e usando o TextFragmentuso FragmentStatede, eTtsEventIdThe following example is part of a custom speech synthesis implementation inheriting from TtsEngineSsml, and using the use of TextFragment, FragmentState, and TtsEventId

A implementação deSpeakThe implementation of Speak

  1. Recebe uma matriz de TextFragment instâncias e cria uma nova matriz de TextFragment instâncias a ser passada para o Speak método em um mecanismo de síntese subjacente.Receives an array of TextFragment instances and creates a new array of TextFragment instances to be passed to the Speak method on an underlying synthesis engine.

  2. Se o TtsEngineAction valor de enumeração encontrado Action na propriedade State no FragmentState retornado pela propriedade de cada TextFragment instância for Speak, a implementaçãoIf the TtsEngineAction enumeration value by found from the Action property on the FragmentState returned by the State property of each TextFragment instance is Speak, the implementation

    • Traduz o American Britishisms no texto a ser falado.Translates Americanism to Britishisms in the text to be spoken.

    • Se a EventInterest propriedade EventInterest nas interfaces fornecidas à implementação oferecer suporte ao tipo TtsEventId de evento, um evento para direcionar um medidor de progresso do sintetizador será criado.If the EventInterest property on the EventInterest interfaces provided to the implementation support the TtsEventId event type, an event to drive a synthesizer progress meter is created.

  3. Um mecanismo de renderização de fala é chamado com a TextFragment matriz modificada.A speech rendering engine is then called with the modified TextFragment array.

private const int WordBoundaryFlag = 1 << (int)TtsEventId.WordBoundary;  
private readonly char[] spaces = new char[] { ' ', '\t', '\r', '\n' };  
internal struct UsVsUk  
{  
  internal string UK;  
  internal string US;  
}  

override public void Speak (TextFragment [] frags, IntPtr wfx, ITtsEngineSite site)  
{  
  TextFragment [] newFrags=new TextFragment[frags.Length];  

  for (int i=0;i<frags.Length;i++){  
    newFrags[i].State=frags[i].State;  
    //truncate  
    newFrags[i].TextToSpeak = frags[i].TextToSpeak.Substring(frags[i].TextOffset,  
                               frags[i].TextLength);  
    newFrags[i].TextLength = newFrags[i].TextToSpeak.Length;  
    newFrags[i].TextOffset = 0;  
    if (newFrags[i].State.Action == TtsEngineAction.Speak) {  
      //Us to UK conversion  
      foreach (UsVsUk term in TransList) {  
      newFrags[i].TextToSpeak.Replace(term.US, term.UK);  
      }  
      //Generate progress meter events if supported  
      if ((site.EventInterest & WordBoundaryFlag) != 0) {  
      string[] subs = newFrags[i].TextToSpeak.Split(spaces);  

      foreach (string s in subs) {  
        int offset = newFrags[i].TextOffset;  
        SpeechEventInfo spEvent = new SpeechEventInfo((Int16)TtsEventId.WordBoundary,   
                (Int16)EventParameterType.Undefined,   
                 s.Length, new IntPtr(offset));  
        offset += s.Length;  
        if (s.Trim().Length > 0) {  
          SpeechEventInfo[] events = new SpeechEventInfo[1];  
          events[0] = spEvent;  
          site.AddEvents(events, 1);  
        }  
      }  
      }  
    }  
  }  

  _baseSynthesize.Speak(newFrags, wfx, site);  

}  

Comentários

TtsEngineActionrepresenta solicitações para manutenção de TextFragmentum.TtsEngineAction represents requests for servicing a TextFragment. As ações correspondem de forma mais próxima aos elementos na especificação SSML e são implementadas no texto retornado TextToSpeak pela propriedade em TextFragmentum.The actions correspond closely to elements in the SSML specification and are implemented on the text returned by the TextToSpeak property on a TextFragment.

O TtsEngineAction valor associado a um TextFragment é retornado pela State propriedade.The TtsEngineAction value associated with a TextFragment is returned by the State property.

O processamento do TtsEngineAction valor retornado State pela propriedade é tratado por uma fala sintetiza a Speak implementação do método em uma classe derivada de TtsEngineSsml.Processing of the TtsEngineAction value returned by the State property is handled by a speech synthesizes implementation of the Speak method on a class derived from TtsEngineSsml.

Aplica-se a