TtsEventId TtsEventId TtsEventId TtsEventId Enum

Definición

Enumera los tipos de eventos de la síntesis de voz.Enumerates types of speech synthesis events.

public enum class TtsEventId
public enum TtsEventId
type TtsEventId = 
Public Enum TtsEventId
Herencia

Campos

AudioLevel AudioLevel AudioLevel AudioLevel 9

Identifica los eventos generados cuando un motor de síntesis de voz completa un cambio de nivel de sonido mientras habla.Identifies events generated when a speech synthesize engine completes an audio level change while speaking.

Bookmark Bookmark Bookmark Bookmark 4

Identifica los eventos generados cuando un motor de síntesis de voz encuentra un marcador mientras habla.Identifies events generated when a speech synthesize engine encounters a bookmark while speaking.

EndInputStream EndInputStream EndInputStream EndInputStream 2

Identifica los eventos generados cuando un motor de síntesis de voz encuentra el final de su flujo de entrada mientras habla.Identifies events generated when a speech synthesize engine encounters the end of its input stream while speaking.

Phoneme Phoneme Phoneme Phoneme 6

Identifica los eventos generados cuando un motor de síntesis de voz completa un fonema mientras habla.Identifies events generated when a speech synthesize engine completes a phoneme while speaking.

SentenceBoundary SentenceBoundary SentenceBoundary SentenceBoundary 7

Identifica los eventos generados cuando un motor de síntesis de voz completa una frase mientras habla.Identifies events generated when a speech synthesize engine completes a sentence while speaking.

StartInputStream StartInputStream StartInputStream StartInputStream 1

Identifica los eventos generados cuando un motor de síntesis de voz comienza a pronunciar un flujo.Identifies events generated when a speech synthesize engine a begins speaking a stream.

Viseme Viseme Viseme Viseme 8

Identifica los eventos generados cuando un motor de síntesis de voz completa un visema mientras habla.Identifies events generated when a speech synthesize engine completes a viseme while speaking.

VoiceChange VoiceChange VoiceChange VoiceChange 3

Identifica los eventos generados cuando un motor de síntesis de voz encuentra un cambio de voz mientras habla.Identifies events generated when a speech synthesize engine encounters a change of Voice while speaking.

WordBoundary WordBoundary WordBoundary WordBoundary 5

Identifica los eventos generados cuando un motor de síntesis de voz completa una palabra mientras habla.Identifies events generated when a speech synthesize engine completes a word while speaking.

Ejemplos

El ejemplo siguiente es parte de una implementación de síntesis de voz personalizado hereda de TtsEngineSsmly el uso de la utilización de TextFragment, SpeechEventInfo, FragmentState, y TtsEventIdThe example below is part of a custom speech synthesis implementation inheriting from TtsEngineSsml, and using the use of TextFragment, SpeechEventInfo, FragmentState, and TtsEventId

La implementación de SpeakThe implementation of Speak

  1. Recibe una matriz de TextFragment instancias y crea una nueva matriz de TextFragment instancias que se pasarán a la Speak método en un motor de síntesis subyacente.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. Si el TtsEngineAction por se encuentra el valor de enumeración de la Action propiedad en el Action devuelto por la State propiedad de cada uno State instancia es TtsEngineAction, la implementaciónIf the TtsEngineAction enumeration value by found from the Action property on the Action returned by the State property of each State instance is TtsEngineAction, the implementation

    • Americanism a Britishisms se traduce en el texto que se hablará.Translates Americanism to Britishisms in the text to be spoken.

    • Si el EventInterest propiedad en el EventInterest interfaces proporcionadas para la implementación admiten el tipo de evento WordBoundary, un SpeechEventInfo instancia se utiliza para crear un evento a la unidad que se crea un indicador de progreso de sintetizador.If the EventInterest property on the EventInterest interfaces provided to the implementation support the WordBoundary event type, a SpeechEventInfo instance is used to create an event to drive a synthesizer progress meter is created.

  3. A continuación, se llama a un motor de representación de voz con modificado TextFragment matriz.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);  

}  

Comentarios

Los motores de síntesis de voz personalizados definen los tipos de eventos enviados a la infraestructura de sintetizador de voz plataforma con la TtsEventId.Custom speech synthesis engines define the types of events submitted to the Speech platform synthesizer infrastructure with the TtsEventId.

Especificación se realiza estableciendo la EventId propiedad de SpeechEventInfo instancias pasan a la AddEvents miembro de la clase que implementa el ITtsEngineSite interfaz se pasa a la Speak método en un motor de voz personalizado implementación de TtsEngineSsml.Specification is performed by setting the EventId property of SpeechEventInfo instances passed to the AddEvents member of the class implementing the ITtsEngineSite interface passed to the Speak method on a custom speech engine's implementation of TtsEngineSsml.

La infraestructura de la plataforma de voz indica el tipo de eventos está controlando actualmente a través de la EventInterest propiedad en el ITtsEngineSite pasa a la implementación speak.The Speech platform infrastructure indicates the type of events it is currently handling through the EventInterest property on the ITtsEngineSite passed to the speak implementation.

El valor de EventInterest es una máscara de bits, donde los miembros de TtsEventId definen la ubicación del bit que corresponde al tipo de evento.The value of EventInterest is a bitmask, where the members of TtsEventId define the location of the bit corresponding to the event type. Por ejemplo, WordBoundary tiene un valor de cinco (5), lo que significa que el bit en el valor devuelto por quinto EventInterest indica si el sitio admite el tipo de evento.For example, WordBoundary has a value of five (5), meaning the fifth bit in the value returned by EventInterest indicates if the site supports the event type.

Se aplica a