TextFragment TextFragment TextFragment TextFragment Class

Definición

Contiene información de atributos de texto y de voz para su uso en un motor de síntesis de voz.Contains text and speech attribute information for consumption by a speech synthesizer engine.

public ref class TextFragment
public class TextFragment
type TextFragment = class
Public Class TextFragment
Herencia
TextFragmentTextFragmentTextFragmentTextFragment

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 TtsEventId.The 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.

    Se usa especial cuidado para respetar el TextOffset, TextLength en el original TextFragment al crear el TextToSpeak en el nuevo TextFragment instancias.Particular care is used to respect the TextOffset, TextLength on the original TextFragment when creating the TextToSpeak on the new TextFragment instances.

  2. Si el TtsEngineAction por se encuentra el valor de enumeración de la Action propiedad en el FragmentState devuelto por la State propiedad de cada uno TextFragment instancia es Speak, la implementaciónIf 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

    • 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 ITtsEngineSite interfaces proporcionadas con el soporte técnico de implementación el WordBoundary tipo de evento, 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 ITtsEngineSite 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

La infraestructura de la plataforma de voz desempaqueta la estructura XML en función de la entrada SSML y construcciones TextFragment objetos.The Speech platform infrastructure unpacks the XML based structure of the SSML input and constructs TextFragment objects.

Contenido de voz está disponible a través de la TextLength, TextOffset, y TextToSpeak las propiedades de un TextFragment instancia.Speech content is available through the TextLength, TextOffset, and TextToSpeak properties of a TextFragment instance.

Voz atributo información, tales como énfasis, el cabeceo y la velocidad, se obtienen de la FragmentState objeto devuelto por la TextFragment State propiedad.Speech attribute information, such as emphasis, pitch, and rate, are obtained from the FragmentState object returned by the TextFragmentState property.

Constructores

TextFragment() TextFragment() TextFragment() TextFragment()

Crea una nueva instancia de TextFragment.Constructs a new instance of TextFragment.

Propiedades

State State State State

Obtiene o establece la información de atributos de voz para TextFragment.Gets or sets speech attribute information for a TextFragment.

TextLength TextLength TextLength TextLength

Obtiene o establece la longitud del texto de voz en el fragmento.Gets or sets the length of the speech text in the fragment.

TextOffset TextOffset TextOffset TextOffset

Obtiene o establece la ubicación de inicio del texto en el fragmento.Gets or sets the starting location of the text in the fragment.

TextToSpeak TextToSpeak TextToSpeak TextToSpeak

Obtiene o establece el texto de voz del fragmento.Sets or gets the speech text of the fragment.

Métodos

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Se aplica a