Exemplo n.º 1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Phone"/> struct.
        /// </summary>
        /// <param name="type">the phone type (consonant or vowel)</param>
        /// <param name="phonation">the phonation (voice intensity)</param>
        /// <param name="place">the place of articulation for consonants.</param>
        /// <param name="manner">the manner of articulation for consonants.</param>
        /// <param name="height">the vowel height.</param>
        /// <param name="backness">the horizontal vowel position.</param>
        /// <param name="roundedness">the vowel roundedness.</param>
        /// <param name="isRhotic">a value indicating whether the phone is rhotic.</param>
        /// <param name="isSyllabic">a value indicating whether the phone is syllabic.</param>
        public Phone(
            PhoneType type,
            Phonation phonation,
            PlaceOfArticulation place,
            MannerOfArticulation manner,
            VowelHeight height,
            VowelBackness backness,
            VowelRoundedness roundedness,
            bool isRhotic,
            bool isSyllabic)
        {
            this.Type       = type;
            this.Phonation  = phonation;
            this.IsSyllabic = isSyllabic;

            if (type == PhoneType.Vowel)
            {
                this.Height      = height;
                this.Backness    = backness;
                this.Roundedness = roundedness;
                this.IsRhotic    = isRhotic;
                this.Place       = null;
                this.Manner      = null;
            }
            else
            {
                this.Height      = null;
                this.Backness    = null;
                this.Roundedness = null;
                this.IsRhotic    = null;
                this.Place       = place;
                this.Manner      = manner;
            }
        }
Exemplo n.º 2
0
        public static Lingon MakeVowel(VowelHeight height, VowelBackness backness, params VowelFeature[] vowelFeatures)
        {
            var lingon = new Lingon("V", height, backness, Feature.Vowel);

            lingon.Features.AddRange(vowelFeatures);
            return(lingon);
        }
Exemplo n.º 3
0
        private static bool GetVowelInfo(Segment vowel, out VowelHeight height, out VowelBackness backness, out bool round)
        {
            FeatureStruct fs = vowel.FeatureStruct;

            if (vowel.IsComplex)
            {
                fs = vowel.FeatureStruct.GetValue <FeatureStruct>(CogFeatureSystem.First);
            }

            var heightSymbol   = (FeatureSymbol)fs.GetValue <SymbolicFeatureValue>("height");
            var backnessSymbol = (FeatureSymbol)fs.GetValue <SymbolicFeatureValue>("backness");
            var roundSymbol    = (FeatureSymbol)fs.GetValue <SymbolicFeatureValue>("round");

            height   = VowelHeightLookup[heightSymbol.ID];
            backness = VowelBacknessLookup[backnessSymbol.ID];

            round = roundSymbol.ID == "round+";

            return(true);
        }
Exemplo n.º 4
0
 public GlobalVowelVertex(VowelHeight height, VowelBackness backness, bool round)
 {
     _height = height;
     _backness = backness;
     _round = round;
 }
Exemplo n.º 5
0
        private static bool GetVowelInfo(Segment vowel, out VowelHeight height, out VowelBackness backness, out bool round)
        {
            FeatureStruct fs = vowel.FeatureStruct;
            if (vowel.IsComplex)
                fs = vowel.FeatureStruct.GetValue<FeatureStruct>(CogFeatureSystem.First);

            var heightSymbol = (FeatureSymbol) fs.GetValue<SymbolicFeatureValue>("height");
            var backnessSymbol = (FeatureSymbol) fs.GetValue<SymbolicFeatureValue>("backness");
            var roundSymbol = (FeatureSymbol) fs.GetValue<SymbolicFeatureValue>("round");

            height = VowelHeightLookup[heightSymbol.ID];
            backness = VowelBacknessLookup[backnessSymbol.ID];

            round = roundSymbol.ID == "round+";

            return true;
        }
Exemplo n.º 6
0
 public VowelBacknessVertex(VowelBackness backness)
 {
     _backness = backness;
 }
Exemplo n.º 7
0
 public VowelBacknessVertex(VowelBackness backness)
 {
     _backness = backness;
 }
Exemplo n.º 8
0
 public GlobalVowelVertex(VowelHeight height, VowelBackness backness, bool round)
 {
     _height   = height;
     _backness = backness;
     _round    = round;
 }