TtsEventId TtsEventId TtsEventId TtsEventId Enum

Definition

Listet Typen von Sprachesyntheseereignissen auf.Enumerates types of speech synthesis events.

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

Felder

AudioLevel AudioLevel AudioLevel AudioLevel 9

Identifiziert die Ereignisse, die generiert werden, wenn eine Sprachsynthetisier-Engine eine Audioebenenänderung beendet.Identifies events generated when a speech synthesize engine completes an audio level change while speaking.

Bookmark Bookmark Bookmark Bookmark 4

Identifiziert Ereignisse, die generierten werden, wenn eine Sprachsynthetisier-Engine während des Sprechens auf ein Lesezeichen trifft.Identifies events generated when a speech synthesize engine encounters a bookmark while speaking.

EndInputStream EndInputStream EndInputStream EndInputStream 2

Identifiziert die Ereignisse, die generiert werden, wenn eine Sprachsynthetisier-Engine während des Sprechens auf das Ende seines Eingabestreams trifft.Identifies events generated when a speech synthesize engine encounters the end of its input stream while speaking.

Phoneme Phoneme Phoneme Phoneme 6

Identifiziert Ereignisse, die generierten werden, wenn eine Sprachsynthetisier-Engine während des Sprechens ein Phonem beendet.Identifies events generated when a speech synthesize engine completes a phoneme while speaking.

SentenceBoundary SentenceBoundary SentenceBoundary SentenceBoundary 7

Identifiziert Ereignisse, die generierten werden, wenn eine Sprachsynthetisier-Engine während des Sprechens einen Satz beendet.Identifies events generated when a speech synthesize engine completes a sentence while speaking.

StartInputStream StartInputStream StartInputStream StartInputStream 1

Identifiziert die Ereignisse, die generiert werden, wenn eine Sprachsynthetisier-Engine einen Stream zu sprechen beginnt.Identifies events generated when a speech synthesize engine a begins speaking a stream.

Viseme Viseme Viseme Viseme 8

Identifiziert Ereignisse, die generierten werden, wenn eine Sprachsynthetisier-Engine während des Sprechens ein Mundbild beendet.Identifies events generated when a speech synthesize engine completes a viseme while speaking.

VoiceChange VoiceChange VoiceChange VoiceChange 3

Identifiziert Ereignisse, die generierten werden, wenn eine Sprachsynthetisier-Engine während des Sprechens auf ein Stimmänderung trifft.Identifies events generated when a speech synthesize engine encounters a change of Voice while speaking.

WordBoundary WordBoundary WordBoundary WordBoundary 5

Identifiziert Ereignisse, die generierten werden, wenn eine Sprachsynthetisier-Engine während des Sprechens ein Wort beendet.Identifies events generated when a speech synthesize engine completes a word while speaking.

Beispiele

Im folgenden Beispiel ist Teil der eine benutzerdefinierte Spracherkennung Sprachsynthese-Implementierung, die Vererbung von TtsEngineSsml, und verwenden die Verwendung von TextFragment, SpeechEventInfo, FragmentState, und TtsEventIdThe example below is part of a custom speech synthesis implementation inheriting from TtsEngineSsml, and using the use of TextFragment, SpeechEventInfo, FragmentState, and TtsEventId

Die Implementierung von SpeakThe implementation of Speak

  1. Empfängt ein Array von TextFragment Instanzen und erstellt ein neues Array von TextFragment Instanzen übergeben werden soll die Speak Methode für eine zugrunde liegende Sprachsynthese-Engine.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. Wenn die TtsEngineAction Enumerationswert von gefunden wird, aus der Action Eigenschaft für die Action zurückgegebenes der State Eigenschaft der einzelnen State Instanz ist TtsEngineAction, die ImplementierungIf 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

    • Übersetzt Americanism zu Britishisms in der zu sprechende Text.Translates Americanism to Britishisms in the text to be spoken.

    • Wenn die EventInterest Eigenschaft für die EventInterest Schnittstellen bereitgestellt, um die Implementierung unterstützen Ereignistyp WordBoundary eine SpeechEventInfo Instanz wird verwendet, um ein Ereignis, das Laufwerk zu erstellen, wird eine Statusanzeige Synthesizer erstellt.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. Eine Rendering-Engine von Speech wird dann aufgerufen, mit dem geänderten TextFragment Array.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);  

}  

Hinweise

Benutzerdefinierte sprachesynthese-Engines definieren die Typen von Ereignissen, die an die Spracherkennung Synthesizer Plattforminfrastruktur mit übermittelt die TtsEventId.Custom speech synthesis engines define the types of events submitted to the Speech platform synthesizer infrastructure with the TtsEventId.

Spezifikation wird ausgeführt, indem die EventId Eigenschaft SpeechEventInfo Instanzen, die an die AddEvents Member der Klasse implementiert die ITtsEngineSite Schnittstelle zu übergeben, um die Speak Methode für einer benutzerdefinierte spracherkennungs-Engine Implementierung von 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.

Plattforminfrastruktur Sprache gibt an, die Art der Ereignisse, die derzeit über behandelt wird die EventInterest Eigenschaft für die ITtsEngineSite für die Implementierung der Speak übergeben.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.

Der Wert des EventInterest ist eine Bitmaske, in dem die Elemente der TtsEventId definieren die Position des Bits, die das Ereignis des Typs entspricht.The value of EventInterest is a bitmask, where the members of TtsEventId define the location of the bit corresponding to the event type. WordBoundary hat beispielsweise einen Wert von fünf (5), d. h. das fünfte Bit in den Rückgabewert von EventInterest gibt an, ob der Standort den Ereignistyp unterstützt.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.

Gilt für: