Exemplo n.º 1
0
        /// <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();
        }
Exemplo n.º 2
0
        /// <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;
        }
Exemplo n.º 3
0
        /// <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;
        }
Exemplo n.º 4
0
        /// <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);
        }