TtsEventId TtsEventId TtsEventId TtsEventId Enum

Definizione

Enumera i tipi di eventi di sintesi vocale.Enumerates types of speech synthesis events.

public enum class TtsEventId
public enum TtsEventId
type TtsEventId = 
Public Enum TtsEventId
Ereditarietà

Campi

AudioLevel AudioLevel AudioLevel AudioLevel 9

Identifica gli eventi generati quando un motore di sintesi vocale completa una modifica del livello dell'audio durante la pronuncia.Identifies events generated when a speech synthesize engine completes an audio level change while speaking.

Bookmark Bookmark Bookmark Bookmark 4

Identifica gli eventi generati quando un motore di sintesi vocale rileva un segnalibro durante la pronuncia.Identifies events generated when a speech synthesize engine encounters a bookmark while speaking.

EndInputStream EndInputStream EndInputStream EndInputStream 2

Identifica gli eventi generati quando un motore di sintesi vocale rileva la fine del relativo flusso di input durante la pronuncia.Identifies events generated when a speech synthesize engine encounters the end of its input stream while speaking.

Phoneme Phoneme Phoneme Phoneme 6

Identifica gli eventi generati quando un motore di sintesi vocale completa un fonema durante la pronuncia.Identifies events generated when a speech synthesize engine completes a phoneme while speaking.

SentenceBoundary SentenceBoundary SentenceBoundary SentenceBoundary 7

Identifica gli eventi generati quando un motore di sintesi vocale completa una frase durante la pronuncia.Identifies events generated when a speech synthesize engine completes a sentence while speaking.

StartInputStream StartInputStream StartInputStream StartInputStream 1

Identifica gli eventi generati quando un motore di sintesi vocale inizia a pronunciare un flusso.Identifies events generated when a speech synthesize engine a begins speaking a stream.

Viseme Viseme Viseme Viseme 8

Identifica gli eventi generati quando un motore di sintesi vocale completa un viseme durante la pronuncia.Identifies events generated when a speech synthesize engine completes a viseme while speaking.

VoiceChange VoiceChange VoiceChange VoiceChange 3

Identifica gli eventi generati quando un motore di sintesi vocale rileva una modifica della voce durante la pronuncia.Identifies events generated when a speech synthesize engine encounters a change of Voice while speaking.

WordBoundary WordBoundary WordBoundary WordBoundary 5

Identifica gli eventi generati quando un motore di sintesi vocale completa una parola durante la pronuncia.Identifies events generated when a speech synthesize engine completes a word while speaking.

Esempi

L'esempio seguente fa parte di un'implementazione di sintesi vocale personalizzata che eredita da TtsEngineSsmle tramite l'utilizzo di TextFragment, SpeechEventInfo, FragmentState, e TtsEventIdThe example below is part of a custom speech synthesis implementation inheriting from TtsEngineSsml, and using the use of TextFragment, SpeechEventInfo, FragmentState, and TtsEventId

L'implementazione di SpeakThe implementation of Speak

  1. Riceve una matrice di TextFragment istanze e crea una nuova matrice del TextFragment istanze deve essere passato il Speak metodo su un motore di sintesi sottostante.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 il TtsEngineAction valore di enumerazione da trovato dal Action proprietà le Action restituito dal State proprietà di ogni State istanza è TtsEngineAction, l'implementazioneIf 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

    • Traduce Americanism a Britishisms nel testo da pronunciare.Translates Americanism to Britishisms in the text to be spoken.

    • Se il EventInterest proprietà di EventInterest interfacce fornite per l'implementazione supportano il tipo di evento WordBoundary, un SpeechEventInfo istanza viene usata per creare un evento all'unità viene creato un indicatore di avanzamento del sintetizzatore.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. Un motore di rendering di sintesi vocale viene quindi chiamato con modificato TextFragment matrice.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);  

}  

Commenti

Motori di sintesi vocale personalizzata definiscono i tipi di eventi inviati all'infrastruttura di sintetizzatore vocale piattaforma con la TtsEventId.Custom speech synthesis engines define the types of events submitted to the Speech platform synthesizer infrastructure with the TtsEventId.

Specifica viene eseguita impostando il EventId proprietà di SpeechEventInfo istanze passato al AddEvents membro della classe che implementa il ITtsEngineSite interfaccia passato al Speak metodo su un motore di riconoscimento vocale personalizzato implementazione di 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.

L'infrastruttura della piattaforma vocale indica il tipo di eventi attualmente gestito tramite il EventInterest proprietà di ITtsEngineSite passato all'implementazione di 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.

Il valore di EventInterest è una maschera di bit in cui i membri di TtsEventId definire la posizione del bit corrispondente al tipo di evento.The value of EventInterest is a bitmask, where the members of TtsEventId define the location of the bit corresponding to the event type. Ad esempio, WordBoundary ha un valore di cinque (5), vale a dire il bit nel valore restituito dal quinto EventInterest indica se il sito supporta il tipo di 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.

Si applica a