TtsEventId TtsEventId TtsEventId TtsEventId Enum

Definição

Enumera os tipos de eventos de síntese de fala.Enumerates types of speech synthesis events.

public enum class TtsEventId
public enum TtsEventId
type TtsEventId = 
Public Enum TtsEventId
Herança

Campos

AudioLevel AudioLevel AudioLevel AudioLevel 9

Identifica os eventos gerados quando um mecanismo sintetizador de fala conclui uma alteração do nível de áudio durante a fala.Identifies events generated when a speech synthesize engine completes an audio level change while speaking.

Bookmark Bookmark Bookmark Bookmark 4

Identifica os eventos gerados quando um mecanismo sintetizador de fala encontra um indicador durante a fala.Identifies events generated when a speech synthesize engine encounters a bookmark while speaking.

EndInputStream EndInputStream EndInputStream EndInputStream 2

Identifica os eventos gerados quando um mecanismo sintetizador de fala encontra o final do fluxo de entrada durante a fala.Identifies events generated when a speech synthesize engine encounters the end of its input stream while speaking.

Phoneme Phoneme Phoneme Phoneme 6

Identifica os eventos gerados quando um mecanismo sintetizador de fala conclui um fonema durante a fala.Identifies events generated when a speech synthesize engine completes a phoneme while speaking.

SentenceBoundary SentenceBoundary SentenceBoundary SentenceBoundary 7

Identifica os eventos gerados quando um mecanismo sintetizador de fala conclui uma frase durante a fala.Identifies events generated when a speech synthesize engine completes a sentence while speaking.

StartInputStream StartInputStream StartInputStream StartInputStream 1

Identifica os eventos gerados quando um mecanismo sintetizador de fala começa a falar um fluxo.Identifies events generated when a speech synthesize engine a begins speaking a stream.

Viseme Viseme Viseme Viseme 8

Identifica os eventos gerados quando um mecanismo sintetizador de fala conclui um visema durante a fala.Identifies events generated when a speech synthesize engine completes a viseme while speaking.

VoiceChange VoiceChange VoiceChange VoiceChange 3

Identifica os eventos gerados quando um mecanismo sintetizador de fala encontra uma alteração de voz durante a fala.Identifies events generated when a speech synthesize engine encounters a change of Voice while speaking.

WordBoundary WordBoundary WordBoundary WordBoundary 5

Identifica os eventos gerados quando um mecanismo sintetizador de fala conclui uma palavra durante a fala.Identifies events generated when a speech synthesize engine completes a word while speaking.

Exemplos

O exemplo a seguir é parte de uma implementação de síntese de fala personalizado herdando TtsEngineSsmle usando o uso de 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

A implementação de SpeakThe implementation of Speak

  1. Recebe uma matriz de TextFragment instâncias e cria uma nova matriz de TextFragment instâncias a serem passados 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 encontrados do Action propriedade no Action retornado pelo State propriedade de cada State instância é TtsEngineAction, a implementaçãoIf 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

    • Converte Americanism para Britishisms no texto a ser falado.Translates Americanism to Britishisms in the text to be spoken.

    • Se o EventInterest propriedade em de EventInterest fornecidos para a implementação de interfaces de suporte do tipo de evento WordBoundary, um SpeechEventInfo instância é usada para criar um evento para a unidade de um medidor de progresso de sintetizador é criado.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. Um mecanismo de processamento de fala é então chamado com a modificação 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);  

}  

Comentários

Mecanismos de síntese de fala personalizado definem os tipos de eventos enviados para a infraestrutura da plataforma sintetizador de fala com o TtsEventId.Custom speech synthesis engines define the types of events submitted to the Speech platform synthesizer infrastructure with the TtsEventId.

Especificação é executada, definindo o EventId propriedade de SpeechEventInfo as instâncias passadas para o AddEvents membro da classe que implementa o ITtsEngineSite interface é passada para o Speak método em um mecanismo de fala personalizado implementação 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.

A infraestrutura da plataforma de fala indica o tipo de eventos que trata-se no momento por meio de EventInterest propriedade no ITtsEngineSite passada para a implementação de fala.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.

O valor de EventInterest é um bitmask, onde os membros de TtsEventId definem o local do bit correspondente ao 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 exemplo, WordBoundary tem um valor de cinco (5), que significa que o quinto bit no valor retornado por EventInterest indica se o site é compatível com o 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.

Aplica-se a