/// <summary> /// Convert TtsWordTone to label (single letter, [c|R|r|F|f]). /// </summary> /// <param name="wordTone">WordTone to convert.</param> /// <returns>Label of the TtsWordTone.</returns> public static string WordToneToLabel(TtsWordTone wordTone) { Debug.Assert(Enum.GetNames(typeof(TtsWordTone)).Length == WordToneLabels.Length); return WordToneLabels[(int)wordTone].ToString(); }
/// <summary> /// Convert WordTone to string used in script file. /// </summary> /// <param name="wordTone">TtsWordTone.</param> /// <returns> /// String representation of WordTone. /// </returns> public static string WordToneToString(TtsWordTone wordTone) { string name = string.Empty; switch (wordTone) { case TtsWordTone.MinorRise: name = @"r"; break; case TtsWordTone.FullRise: name = @"R"; break; case TtsWordTone.FullFall: name = @"F"; break; case TtsWordTone.MinorFall: name = @"f"; break; } return name; }
/// <summary> /// Reset Prosody tags and set them to default value, /// Including emphasis, break level and word tone. /// </summary> public void ClearTag() { _breakTag = null; _emphasisTag = null; _wordToneTag = null; _break = ScriptWord.DefaultBreak; _breakAsk = ScriptWord.UndefinedBreakAsk; _breakProb = ScriptWord.DefaultProbability; _emphasis = ScriptWord.DefaultEmphasis; _wordTone = ScriptWord.DefaultWordTone; }
/// <summary> /// Parse all of unit feature from string array, start from offset. /// </summary> /// <param name="values">String array of fields.</param> /// <param name="offset">Start offset of array to take data.</param> public void Parse(string[] values, int offset) { if (values == null) { throw new ArgumentNullException("values"); } if (offset < 0 || offset >= values.Length) { throw new ArgumentOutOfRangeException("offset"); } System.Diagnostics.Debug.Assert(values.Length > (int)TtsFeature.TtsWordTone); this.PosInSyllable = (PosInSyllable)int.Parse(values[(int)TtsFeature.PosInSyllable + offset], CultureInfo.InvariantCulture); this.PosInWord = (PosInWord)int.Parse(values[(int)TtsFeature.PosInWord + offset], CultureInfo.InvariantCulture); this.PosInSentence = (PosInSentence)int.Parse(values[(int)TtsFeature.PosInSentence + offset], CultureInfo.InvariantCulture); this.LeftContextPhone = int.Parse(values[(int)TtsFeature.LeftContextPhone + offset], CultureInfo.InvariantCulture); this.RightContextPhone = int.Parse(values[(int)TtsFeature.RightContextPhone + offset], CultureInfo.InvariantCulture); this.LeftContextTone = int.Parse(values[(int)TtsFeature.LeftContextTone + offset], CultureInfo.InvariantCulture); this.RightContextTone = int.Parse(values[(int)TtsFeature.RightContextTone + offset], CultureInfo.InvariantCulture); this.TtsStress = (TtsStress)int.Parse(values[(int)TtsFeature.TtsStress + offset], CultureInfo.InvariantCulture); this.TtsEmphasis = (TtsEmphasis)int.Parse(values[(int)TtsFeature.TtsEmphasis + offset], CultureInfo.InvariantCulture); this.TtsWordTone = (TtsWordTone)int.Parse(values[(int)TtsFeature.TtsWordTone + offset], CultureInfo.InstalledUICulture); }