/// <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; } }
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); }
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); }
public GlobalVowelVertex(VowelHeight height, VowelBackness backness, bool round) { _height = height; _backness = backness; _round = round; }
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; }
public VowelBacknessVertex(VowelBackness backness) { _backness = backness; }
public VowelBacknessVertex(VowelBackness backness) { _backness = backness; }
public GlobalVowelVertex(VowelHeight height, VowelBackness backness, bool round) { _height = height; _backness = backness; _round = round; }