private void FillIOWavGroup(IOWavGroup ioWavGroup, WavGroup wavGroup) { if (wavGroup == null) { return; } var iOAliasTypes = new List <IOAliasType>(); foreach (var pair in wavGroup.AliasTypes) { var ioAliasType = new IOAliasType { Name = pair.Key.ToString(), CanTakeFromAllPositions = pair.Value.CanTakeAllPositions }; if (!ioAliasType.CanTakeFromAllPositions) { ioAliasType.Positions = pair.Value.Positions; } iOAliasTypes.Add(ioAliasType); } ioWavGroup.AliasTypes = iOAliasTypes.ToArray(); ioWavGroup.WavFiles = wavGroup.Wavs.ToArray(); ioWavGroup.Name = wavGroup.Name; ioWavGroup.SkipC = wavGroup.SkipC.ToArray(); ioWavGroup.SkipV = wavGroup.SkipV.ToArray(); ioWavGroup.SkipR = wavGroup.SkipR.ToArray(); }
public static void CreateCvcRusWavMask() { var V_lines = "a|e|o|u|y|i".Split('|'); var CV_VC_C_lines = "babab|b'ab'ab'|vavav|v'av'av'|gagag|g'ag'ag'|dadad|d'ad'ad'|zazaz|z'az'az'|kakak|k'ak'ak'|lalal|l'al'al'|mamam|m'am'am'|nanan|n'an'an'|papap|p'ap'ap'|rarar|r'ar'ar'|sasas|s'as'as'|tatat|t'at'at'|fafaf|f'af'af'|hahah|h'ah'ah'|wawaw|w'aw'aw'|jajaj|~a~a~|cacac|4'a4'a4'".Split('|'); var CV_VC_lines = "babab|bebeb|bobob|bubub|bybyb|b'ab'ab'|b'eb'eb'|b'ob'ob'|b'ub'ub'|b'ib'ib'|byb'ib|b'ibyb'|vavav|vevev|vovov|vuvuv|vyvyv|v'av'av'|v'ev'ev'|v'ov'ov'|v'uv'uv'|v'iv'iv'|vyv'iv|v'ivyv'|gagag|gegeg|gogog|gugug|gygyg|g'ag'ag'|g'eg'eg'|g'og'og'|g'ug'ug'|g'ig'ig'|gyg'ig|g'igyg'|dadad|deded|dodod|dudud|dydyd|d'ad'ad'|d'ed'ed'|d'od'od'|d'ud'ud'|d'id'id'|dyd'id|d'idyd'|zazaz|zezez|zozoz|zuzuz|zyzyz|z'az'az'|z'ez'ez'|z'oz'oz'|z'uz'uz'|z'iz'iz'|zyz'iz|z'izyz'|kakak|kekek|kokok|kukuk|kykyk|k'ak'ak'|k'ek'ek'|k'ok'ok'|k'uk'uk'|k'ik'ik'|kyk'ik|k'ikyk'|lalal|lelel|lolol|lulul|lylyl|l'al'al'|l'el'el'|l'ol'ol'|l'ul'ul'|l'il'il'|lyl'il|l'ilyl'|mamam|memem|momom|mumum|mymym|m'am'am'|m'em'em'|m'om'om'|m'um'um'|m'im'im'|mym'im|m'imym'|nanan|nenen|nonon|nunun|nynyn|n'an'an'|n'en'en'|n'on'on'|n'un'un'|n'in'in'|nyn'in|n'inyn'|papap|pepep|popop|pupup|pypyp|p'ap'ap'|p'ep'ep'|p'op'op'|p'up'up'|p'ip'ip'|pyp'ip|p'ipyp'|rarar|rerer|roror|rurur|ryryr|r'ar'ar'|r'er'er'|r'or'or'|r'ur'ur'|r'ir'ir'|ryr'ir|r'iryr'|sasas|seses|sosos|susus|sysys|s'as'as'|s'es'es'|s'os'os'|s'us'us'|s'is'is'|sys'is|s'isys'|tatat|tetet|totot|tutut|tytyt|t'at'at'|t'et'et'|t'ot'ot'|t'ut'ut'|t'it'it'|tyt'it|t'ityt'|fafaf|fefef|fofof|fufuf|fyfyf|f'af'af'|f'ef'ef'|f'of'of'|f'uf'uf'|f'if'if'|fyf'if|f'ifyf'|hahah|heheh|hohoh|huhuh|hyhyh|h'ah'ah'|h'eh'eh'|h'oh'oh'|h'uh'uh'|h'ih'ih'|hyh'ih|h'ihyh'|wawaw|wewew|wowow|wuwuw|wywyw|w'aw'aw'|w'ew'ew'|w'ow'ow'|w'uw'uw'|w'iw'iw'|wyw'iw|w'iwyw'|jajaj|jejej|jojoj|jujuj|jyjyj|~a~a~|~e~e~|~o~o~|~u~u~|~y~y~|~i~i~|cacac|cecec|cococ|cucuc|cycyc|4'a4'a4'|4'e4'e4'|4'o4'o4'|4'u4'u4'|4'i4'i4'".Split('|'); var wavMask = new WavMask(); wavMask.MaxDuplicates = 1; var CV_VCgroup = new WavGroup(); CV_VCgroup.Name = "CV-VC"; CV_VCgroup.AddAliasTypeMask(AliasType.RCV); CV_VCgroup.AddAliasTypeMask(AliasType.CV, new AliasTypeMask(positions: new int[] { 2 })); CV_VCgroup.AddAliasTypeMask(AliasType.VC, new AliasTypeMask(positions: new int[] { 1 })); CV_VCgroup.AddAliasTypeMask(AliasType.VCR); foreach (var line in CV_VC_C_lines) { CV_VCgroup.AddWav(line); } var CV_VC_Cgroup = new WavGroup(); CV_VC_Cgroup.Name = "C"; CV_VC_Cgroup.AddAliasTypeMask(AliasType.RC); CV_VC_Cgroup.AddAliasTypeMask(AliasType.CR); foreach (var line in CV_VC_lines) { CV_VC_Cgroup.AddWav(line); } var V_group = new WavGroup(); V_group.Name = "V"; V_group.AddAliasTypeMask(AliasType.RV); V_group.AddAliasTypeMask(AliasType.V, new AliasTypeMask(positions: new int[] { 2 })); V_group.AddAliasTypeMask(AliasType.VR); V_group.AddAliasTypeMask(AliasType.VC); V_group.AddAliasTypeMask(AliasType.CV); foreach (var line in V_lines) { V_group.AddWav(line); } wavMask.AddGroup(CV_VCgroup); wavMask.AddGroup(CV_VC_Cgroup); wavMask.AddGroup(V_group); WavConfigCore.Reader.WavMaskReader.Current.Write("cvc_rus.mask", wavMask); }
private WavGroup FillWavGroup(IOWavGroup ioWavGroup) { var aliasTypes = new Dictionary <AliasType, AliasTypeMask>(); foreach (IOAliasType iOAliasType in ioWavGroup.AliasTypes) { var aliasType = AliasTypeResolver.Current.GetAliasType(iOAliasType.Name); if (aliasType != AliasType.undefined) { aliasTypes[aliasType] = iOAliasType.CanTakeFromAllPositions ? new AliasTypeMask() : new AliasTypeMask(iOAliasType.Positions); } } var wavGroup = new WavGroup(ioWavGroup.Name, aliasTypes, ioWavGroup.WavFiles); wavGroup.SkipC = ioWavGroup.SkipC.ToList(); wavGroup.SkipR = ioWavGroup.SkipR.ToList(); wavGroup.SkipV = ioWavGroup.SkipV.ToList(); return(wavGroup); }