Lang=ml, change aspirated voiced consonants. Lang=ko, define temporary replacements for undefined consonant phonemes. Lang=bn, fix numbers. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@334 d46cf337-b52f-0410-862d-fd96e6ae7743master
| // This file is UTF8 encoded | // This file is UTF8 encoded | ||||
| // Numbers | // Numbers | ||||
| devanagari numbers are changed to latin characters before translation | |||||
| // Bengali numbers are changed to latin characters before translation | |||||
| _0 S'unjO | _0 S'unjO | ||||
| _1 '&k | _1 '&k | ||||
| _2 duj | _2 duj | ||||
| _8 'at.# | _8 'at.# | ||||
| _9 n'Oj | _9 n'Oj | ||||
| _2a d'u // with hundreds etc. | |||||
| _6a tS#'a | |||||
| _9a n'O | |||||
| _10 d'OS | _10 d'OS | ||||
| _11 '&garo | _11 '&garo | ||||
| _12 b'arO | _12 b'arO | ||||
| _13 t'erO | _13 t'erO | ||||
| _14 tS'owddO | |||||
| _14 tS'oddO | |||||
| _15 p'OnerO | _15 p'OnerO | ||||
| _16 S'olO | _16 S'olO | ||||
| _17 S'OterO | _17 S'OterO | ||||
| _19 'uniS | _19 'uniS | ||||
| _20 k'uri // or b'iS ?? | _20 k'uri // or b'iS ?? | ||||
| _21 'ekuS | |||||
| _21 ek'uS | |||||
| _22 b'ajS | _22 b'ajS | ||||
| _23 t'ejS | _23 t'ejS | ||||
| _24 tS'ObbiS | _24 tS'ObbiS | ||||
| _25 p'O~tSiS | _25 p'O~tSiS | ||||
| _26 tSh'ObbiS | |||||
| _27 S'ataS | |||||
| _26 tSh'abbiS | |||||
| _27 Sat'aS | |||||
| _28 'at.#aS | _28 'at.#aS | ||||
| _29 'untriS | |||||
| _30 t'iriS | |||||
| _31 'ektriS | |||||
| _32 b'OtriS | |||||
| _33 t'etriS | |||||
| _34 tSowtriS | |||||
| _35 pO~jtriS | |||||
| _36 tS#'OtriS | |||||
| _37 S'a~itriS | |||||
| _38 'at.riS | |||||
| _39 'unOtSOlliS | |||||
| _40 tS'OlliS | |||||
| _41 'ektSOlliS | |||||
| _42 b'ialliS | |||||
| _43 t'etalliS | |||||
| _44 tS'oalliS | |||||
| _45 p'O~jtalliS | |||||
| _46 tS'etSOlliS | |||||
| _47 S'atSOllis | |||||
| _48 'atSOlliS | |||||
| _49 'unOpO~tSaS | |||||
| // numbers above 50 need to be corrected | |||||
| _50 p'O~tSaS | |||||
| _5X p'O~tSaS | |||||
| _59 'unOsat. | |||||
| _60 s'at. | |||||
| _6X s'at. | |||||
| _69 'unOS'OttOr | |||||
| _70 S'OttOr | |||||
| _7X S'OttOr | |||||
| _79 'unOaSi | |||||
| _29 unOtr'iS | |||||
| _30 tr'iS | |||||
| _31 ekOtr'iS | |||||
| _32 bOtr'iS | |||||
| _33 tetr'iS | |||||
| _34 tSowtr'iS | |||||
| _35 pO~jtr'iS | |||||
| _36 tS#'Otr'iS | |||||
| _37 Sa~itr'iS | |||||
| _38 at.tr'iS | |||||
| _39 'unOtSOll'iS | |||||
| _40 tSOll'iS | |||||
| _41 ektSOll'iS | |||||
| _42 biall'iS | |||||
| _43 tetall'iS | |||||
| _44 tSoall'iS | |||||
| _45 pO~jtall'iS | |||||
| _46 tSetSOll'iS | |||||
| _47 SatSOll'is | |||||
| _48 atSOll'iS | |||||
| _49 unOpO~tSaS | |||||
| _50 pO~tS'aS | |||||
| _51 &kann'o | |||||
| _52 bajann'o | |||||
| _53 tepann'o | |||||
| _54 tSujann'o | |||||
| _55 pontSann'o | |||||
| _56 tS#apann'o | |||||
| _57 Satann'o | |||||
| _58 at.ann'o | |||||
| _59 unOS'at. | |||||
| _80 'aSi | |||||
| _8X 'aSi | |||||
| _89 'unOnObbOj | |||||
| _90 n'ObbOj | |||||
| _9X n'ObbOj | |||||
| _60 s'at. | |||||
| _61 ekSOt.t.'i | |||||
| _62 baSOt.t.'i | |||||
| _63 teSOt.t.'i | |||||
| _64 tSowSOt.t.'i | |||||
| _65 pojSOt.t.'i | |||||
| _66 SeSOt.t.'i | |||||
| _67 SatSOt.t.'i | |||||
| _68 at.SOt.t.'i | |||||
| _6X sat.t.'i | |||||
| _69 unOSOtt'ur | |||||
| _70 SOtt'Or | |||||
| _71 ekatt'Or | |||||
| _72 bahatt'Or | |||||
| _73 tehatt'Or | |||||
| _74 tSuhatt'Or | |||||
| _75 pOtSatt'Or | |||||
| _76 tS#ijatt'Or | |||||
| _77 Satatt'Or | |||||
| _78 at.att'Or | |||||
| _79 unOaS'i | |||||
| _80 aS'i | |||||
| _81 &kaS'i | |||||
| _82 beraS'i | |||||
| _83 teraS'i | |||||
| _84 tSuraS'i | |||||
| _85 po~tSaS'i | |||||
| _86 tS#ijaS'i | |||||
| _87 SataS'i | |||||
| _88 at.aS'i | |||||
| _89 ,unOnObb'oj | |||||
| _90 nObb'oj | |||||
| _91 &kanObb'oj | |||||
| _92 beranObb'oj | |||||
| _93 teranObb'oj | |||||
| _94 tSuranObb'oj | |||||
| _95 pOtSanObb'oj | |||||
| _96 tS#ijanObb'oj | |||||
| _97 SatanObb'oj | |||||
| _98 at.anObb'oj | |||||
| _99 niranObb'oj | |||||
| _0C S'o | _0C S'o | ||||
| _0M1 h'ajar | _0M1 h'ajar | ||||
| // Exceptions | // Exceptions | ||||
| এত &to |
| .group অ | .group অ | ||||
| অ V | অ V | ||||
| অঁ O~ | অঁ O~ | ||||
| অ্যা & // V,ja in [æmiba] | |||||
| .group আ | .group আ | ||||
| .group এ | .group এ | ||||
| এ e | এ e | ||||
| এঁ e~ | এঁ e~ | ||||
| এ্যা & // e,ja [ækademi] | |||||
| .group ও | .group ও | ||||
| য় jV // nukta | য় jV // nukta | ||||
| য় (B j | য় (B j | ||||
| ্) য (C & // ব্যস্ত [bæsto] | |||||
| ্) যা & // ব্যাকরণ [bækɔron] | |||||
| .group র | .group র | ||||
| র rV | র rV | ||||
| র (B r | র (B r |
| T tS v w x x2 z Z | T tS v w x x2 z Z | ||||
| Dictionary ak_dict 2010-08-11 | |||||
| a e E i o O u | |||||
| : b C d dZ dZ; f g | |||||
| h j k l m n N n^ | |||||
| p R s t tS; v w z | |||||
| z; | |||||
| Dictionary am_dict 2011-11-22 | Dictionary am_dict 2011-11-22 | ||||
| @ a e i o u y | @ a e i o u y | ||||
| t# tS w x | t# tS w x | ||||
| Dictionary te_dict 2013-03-26 | |||||
| a a: aI aU e E e: i | |||||
| i: l- o o: r- u u: | |||||
| #X1 #X2 : ; b b# c c# | |||||
| d d# d. d.# dZ f g g# | |||||
| h j J J# k k# l l. | |||||
| m n N n. n^ p p# r | |||||
| s s. S; t t# t. t.# tS | |||||
| v v# w z | |||||
| Dictionary bg_dict 2013-03-16 | Dictionary bg_dict 2013-03-16 | ||||
| @ a e i o u | @ a e i o u | ||||
| Z z; | Z z; | ||||
| Dictionary bn_dict 2013-03-25 | |||||
| Dictionary bn_dict 2013-03-26 | |||||
| & a a~ e e~ i i~ l- | & a a~ e e~ i i~ l- | ||||
| o O o: O~ o~ r- u u~ | o O o: O~ o~ r- u u~ | ||||
| x z | x z | ||||
| Dictionary da_dict 2013-03-15 | |||||
| Dictionary da_dict 2013-03-26 | |||||
| & &# 0 3 ?& ?&# ?0 ?A | & &# 0 3 ?& ?&# ?0 ?A | ||||
| ?e ?E ?i ?o ?O ?u ?V ?W | ?e ?E ?i ?o ?O ?u ?V ?W | ||||
| ts v x z | ts v x z | ||||
| Dictionary en_dict 2013-03-25 | |||||
| Dictionary en_dict 2013-03-26 | |||||
| 0 0# 3 3: @ @- @2 @5 | 0 0# 3 3: @ @- @2 @5 | ||||
| @L a a# A: A@ aa aI aI3 | @L a a# A: A@ aa aI aI3 | ||||
| v w z | v w z | ||||
| Dictionary ko_dict 2013-03-19 | |||||
| Dictionary ko_dict 2013-03-26 | |||||
| @ a e E i o u u- | @ a e E i o u u- | ||||
| * - ; b d dZ; g h | |||||
| * ; b d d- dZ; g h | |||||
| j k k- kh l L m n | j k k- kh l L m n | ||||
| N p p- ph q r R s | |||||
| t t- tS tS; w | |||||
| N p p- ph q q- r R | |||||
| s s- t t- tS tS; tS;- w | |||||
| Dictionary ku_dict 2008-04-14 | Dictionary ku_dict 2008-04-14 | ||||
| ts; v w x z Z Z; | ts; v w x z Z Z; | ||||
| Dictionary pt_dict 2013-03-25 | |||||
| Dictionary pt_dict 2013-03-26 | |||||
| & &/ &U~ &~ @ @- a A | & &/ &U~ &~ @ @- a A | ||||
| aI aU e E eI EI eU EU | aI aU e E eI EI eU EU | ||||
| Z; | Z; | ||||
| Dictionary rw_dict 2008-03-27 | |||||
| a e i o u | |||||
| * : b B c d dZ f | |||||
| g h j J k l m n | |||||
| N n^ p q R s S S; | |||||
| t tS v w x z | |||||
| Dictionary si_dict 2013-03-23 | Dictionary si_dict 2013-03-23 | ||||
| & &: @ a a: aI aU e | & &: @ a a: aI aU e |
| Oahu oU'A:hu: | Oahu oU'A:hu: | ||||
| Oklahoma oUkla#h'oUm@ | Oklahoma oUkla#h'oUm@ | ||||
| Ohio oUh'aIoU | Ohio oUh'aIoU | ||||
| Ohioan oUh'aIoU@n | |||||
| Omagh oUmA: | Omagh oUmA: | ||||
| Omaha oUma#hA: | Omaha oUma#hA: | ||||
| Oman oUm'an | Oman oUm'an |
| h) e (sion_ 'i: | h) e (sion_ 'i: | ||||
| @) e (tio i: | @) e (tio i: | ||||
| discr) e (tion E | discr) e (tion E | ||||
| eu ju: | |||||
| ?3 n) eu u: | |||||
| ?3 n) eu (r U@ | |||||
| r) eu (d OI | |||||
| eu (m_ 'i:@ | |||||
| s) eu (m_ 'i@ | |||||
| l) eur 3: | |||||
| ?5 eur VR | |||||
| eur (_ '3: | |||||
| ?3 eur (_ 'U@ | |||||
| ?5 eur (_ 'VR | |||||
| _) euro jU@roU | |||||
| _) euro (pe jU@r-@ | |||||
| &) eus (_ =I2@s | |||||
| @) euse (_ '3:z | |||||
| ?3 @) euse (_ 'u:z | |||||
| d) eu (ts OI | |||||
| ew ju: | ew ju: | ||||
| _s) ew u: | _s) ew u: | ||||
| ?3 d) ew u: | ?3 d) ew u: | ||||
| m) etry (_ =@tr%I | m) etry (_ =@tr%I | ||||
| &) ett (_ I2t | &) ett (_ I2t | ||||
| .group eu | |||||
| eu ju: | |||||
| ?3 n) eu u: | |||||
| ?3 n) eu (r U@ | |||||
| r) eu (d OI | |||||
| eu (m_ 'i:@ | |||||
| s) eu (m_ 'i@ | |||||
| l) eur 3: | |||||
| ?5 eur VR | |||||
| eur (_ '3: | |||||
| ?3 eur (_ 'U@ | |||||
| ?5 eur (_ 'VR | |||||
| _) euro jU@roU | |||||
| _) euro (pe jU@r-@ | |||||
| &) eus (_ =I2@s | |||||
| @) euse (_ '3:z | |||||
| ?3 @) euse (_ 'u:z | |||||
| d) eu (ts OI | |||||
| .group ev | .group ev | ||||
| _) ev I2v | _) ev I2v | ||||
| _) eva (ne Ev@ | _) eva (ne Ev@ | ||||
| n) ihi aI|@ | n) ihi aI|@ | ||||
| _) i (h aI | _) i (h aI | ||||
| ii (_ IaI | ii (_ IaI | ||||
| ij (C eI // Dutch | |||||
| f) i (j i: | f) i (j i: | ||||
| h) i (j aI | h) i (j aI | ||||
| @b) il (_ @L | |||||
| @Cc) il (_ @L | |||||
| @p) il (_ @L | |||||
| @r) il (_ @L | |||||
| @s) il (_ @L | |||||
| nt) il (_ @L | |||||
| @v) il (_ @L | |||||
| @) ila (_ 'Il@ | |||||
| ?3 &) ile (_$w_alt2 @L | |||||
| _C) i (lage aI | |||||
| _d) i (lat %aI | |||||
| l) il (ah_ aIl | |||||
| _m) i (ld aI | |||||
| _w) i (ld aI | |||||
| ch) i (ld aI | |||||
| w) i (lderC I | |||||
| ch) i (ldr I | |||||
| sacr) ile IlI | |||||
| i (leA I | |||||
| &) ile (ge @lI | |||||
| il (ise @l | |||||
| il (ize @l | |||||
| s) i (len aI | |||||
| C) i (ler aI | |||||
| _) il (l@ %Il | |||||
| @) illa (_ 'Il@ | |||||
| &) illard (_ i:A: | |||||
| _) il (ln Il | |||||
| @) i (less I | @) i (less I | ||||
| _) il (lust Il | |||||
| _C) i (lo aI | |||||
| &) ily (_S2i l%I | |||||
| @) i (ness I | @) i (ness I | ||||
| i (o I2 | i (o I2 | ||||
| _) i (o aI | _) i (o aI | ||||
| igu (e 'i:g | igu (e 'i:g | ||||
| igu (_ 'i:g | igu (_ 'i:g | ||||
| .group il | |||||
| @b) il (_ @L | |||||
| @Cc) il (_ @L | |||||
| @p) il (_ @L | |||||
| @r) il (_ @L | |||||
| @s) il (_ @L | |||||
| nt) il (_ @L | |||||
| @v) il (_ @L | |||||
| @) ila (_ 'Il@ | |||||
| ?3 &) ile (_$w_alt2 @L | |||||
| _C) il (age aIl | |||||
| _d) il (at %aIl | |||||
| l) il (ah_ aIl | |||||
| _m) il (d aIl | |||||
| _w) il (d aIl | |||||
| ch) il (d aIl | |||||
| w) il (derC Il | |||||
| ch) il (dr Il | |||||
| sacr) ile IlI | |||||
| il (eA Il | |||||
| &) ile (ge @lI | |||||
| il (ise @l | |||||
| il (ize @l | |||||
| s) il (en aIl | |||||
| C) il (er aIl | |||||
| _) il (l@ %Il | |||||
| @) illa (_ 'Il@ | |||||
| &) illard (_ i:A: | |||||
| _) il (ln Il | |||||
| _) il (lust Il | |||||
| _C) il (o aIl | |||||
| &) ily (_S2i l%I | |||||
| .group im | .group im | ||||
| &) im (_ I#m | &) im (_ I#m | ||||
| cl) im aIm | cl) im aIm | ||||
| _) tsu tsu: | _) tsu tsu: | ||||
| _) two tu: | _) two tu: | ||||
| ttu (r t@ | ttu (r t@ | ||||
| @) tu (al tSu: | |||||
| @) tu (at tSu: | |||||
| _sta) tu tSu: | |||||
| ?3 _sta) tu (to tS@ | |||||
| c) tu (al_ =tSu: | |||||
| r) tue (_ tSu: | |||||
| ?3 tu (la_ tS@ | |||||
| @) tu (lat =tSU | |||||
| ?3 tu (Ant tSu: | |||||
| ?3 tu (Ancy tSu: | |||||
| tu (ous tSu: | |||||
| @) tur (A tS@r | |||||
| @) tur (al_ tS=@r | |||||
| &) tur (y tS@r | |||||
| &) tur (_ tS3 | |||||
| &) ture (_ tS3 | |||||
| tz ts | tz ts | ||||
| tze (_ tsi | tze (_ tsi | ||||
| &) tious S=@s | &) tious S=@s | ||||
| AC) tive (_ =tIv | AC) tive (_ =tIv | ||||
| .group tu | |||||
| @) tu (al tSu: | |||||
| @) tu (at tSu: | |||||
| _sta) tu tSu: | |||||
| ?3 _sta) tu (to tS@ | |||||
| c) tu (al_ =tSu: | |||||
| r) tue (_ tSu: | |||||
| ?3 tu (la_ tS@ | |||||
| @) tu (lat =tSU | |||||
| ?3 tu (Ant tSu: | |||||
| ?3 tu (Ancy tSu: | |||||
| tu (ous tSu: | |||||
| @) tur (A tS@r | |||||
| @) tur (al_ tS=@r | |||||
| &) tur (y tS@r | |||||
| &) tur (_ tS3 | |||||
| &) ture (_ tS3 | |||||
| .group u | .group u | ||||
| u V | u V | ||||
| man) u ju: | man) u ju: |
| _0C p'Eq_! | _0C p'Eq_! | ||||
| // Larger numbers | // Larger numbers | ||||
| _0M0 tS'h-@n // 10^3 | |||||
| _1M0 tS'h-@n | |||||
| _0M0 tS'h@n // 10^3 | |||||
| _1M0 tS'h@n | |||||
| _0M1 m'an // 10^4 | _0M1 m'an // 10^4 | ||||
| _1M1 m'an | _1M1 m'an | ||||
| _0M2 '@q // 10^8 | _0M2 '@q // 10^8 | ||||
| ᄋ i;'u-N | ᄋ i;'u-N | ||||
| ᄌ tS;i;'u-t | ᄌ tS;i;'u-t | ||||
| ᄍ 's-aNdZ;,i;u-t | ᄍ 's-aNdZ;,i;u-t | ||||
| ᄎ tSh-'i;u-t | |||||
| ᄎ tSh'i;u-t | |||||
| ᄏ khi;'u-k | ᄏ khi;'u-k | ||||
| ᄐ thi;'u-t- | ᄐ thi;'u-t- | ||||
| ᄑ phi;'u-p | ᄑ phi;'u-p |
| ᄍ 'tS;- // TODO: phoneme | ᄍ 'tS;- // TODO: phoneme | ||||
| .group ᄎ // ㅊ | .group ᄎ // ㅊ | ||||
| ᄎ tSh- // TODO: phoneme | |||||
| ᄎ tSh // TODO: phoneme | |||||
| .group ᄂ // ㄴ | .group ᄂ // ㄴ | ||||
| ᄂ ;n | ᄂ ;n | ||||
| ᇀᄂ nn | ᇀᄂ nn | ||||
| ᇀᄆ mm | ᇀᄆ mm | ||||
| ᇀ (A th | ᇀ (A th | ||||
| ᇀ (L02 tSh; | |||||
| ᇀ (L02 tS;h | |||||
| .group ᆸ // ㅂ | .group ᆸ // ㅂ | ||||
| ᆸ p | ᆸ p | ||||
| ᆾ t | ᆾ t | ||||
| ᆾᄂ nn | ᆾᄂ nn | ||||
| ᆾᄆ mm | ᆾᄆ mm | ||||
| ᆾ (A tSh; | |||||
| ᆾ (A tS;h | |||||
| .group ᆫ // ㄴ | .group ᆫ // ㄴ | ||||
| ᆫ n | ᆫ n |
| lebre $alt | lebre $alt | ||||
| lembrete $alt2 | lembrete $alt2 | ||||
| leste $alt2 $verb | leste $alt2 $verb | ||||
| lingueta $alt2 | |||||
| lopes $alt | lopes $alt | ||||
| macete $alt2 | macete $alt2 | ||||
| maior $alt | maior $alt | ||||
| reitora $alt2 | reitora $alt2 | ||||
| relevo $alt2 $noun | relevo $alt2 $noun | ||||
| remorso $alt | remorso $alt | ||||
| renovo $alt $verb | |||||
| retorno $alt $verb | retorno $alt $verb | ||||
| rixa x'iS& | rixa x'iS& | ||||
| rocha $alt | rocha $alt |
| g (Y Z // ge gi | g (Y Z // ge gi | ||||
| gu (Y g | gu (Y g | ||||
| a) gu (ent gw | a) gu (ent gw | ||||
| _ar) gu (i gw | |||||
| enxa) gu (e gw | enxa) gu (e gw | ||||
| lin) gu (e gw | lin) gu (e gw | ||||
| lin) gu (i gw | lin) gu (i gw | ||||
| _pin) gu (im_ gw | |||||
| _pin) gu (ins_ gw | |||||
| _sa) gu )i gw | |||||
| san) gu (ín gw | san) gu (ín gw | ||||
| san) gu (in gw | san) gu (in gw | ||||
| ?1 n) gu (A gw // eg: língua, etc. | ?1 n) gu (A gw // eg: língua, etc. | ||||
| _ens) o (pL04_ O | _ens) o (pL04_ O | ||||
| _s) o (prL04_ O | _s) o (prL04_ O | ||||
| _) o (ptL04_ O | _) o (ptL04_ O | ||||
| p) o (rL02_ o | |||||
| _dev) o (rL02_ O | |||||
| _defl) o (rL02_ O | _defl) o (rL02_ O | ||||
| _impl) o (rL02_ O | _impl) o (rL02_ O | ||||
| _inod) o (rL03_ O | _inod) o (rL03_ O | ||||
| ?1 _) qua kwa // quatro, etc. | ?1 _) qua kwa // quatro, etc. | ||||
| ?1 _) que ke // quente, etc. | ?1 _) que ke // quente, etc. | ||||
| ?1 _) quei (C k'eI // queira, queima, etc | ?1 _) quei (C k'eI // queira, queima, etc | ||||
| A) quên (C kw'eIN // frequência, etc. | |||||
| A) quên (C kw'eN // frequência, etc. | |||||
| C) quên (C kw'eN // delinquência, etc. | |||||
| C) quên (A kw'eN // quinquênio, etc. | |||||
| ade) qu (e kw | ade) qu (e kw | ||||
| e) qu (estr kw | e) qu (estr kw | ||||
| ese) qu (ív kw | |||||
| _e) qu (in kw | _e) qu (in kw | ||||
| fre) qu (ent kw | fre) qu (ent kw | ||||
| li) qu (id kw | li) qu (id kw | ||||
| lí) qu (id kw | lí) qu (id kw | ||||
| n) qu (en kw | n) qu (en kw | ||||
| _) qu (inqu kw | |||||
| se) qu (en kw | se) qu (en kw | ||||
| tran) qu (il kw | tran) qu (il kw | ||||
| ?1 quec kes // esquece, etc. | ?1 quec kes // esquece, etc. |
| t t#i: | t t#i: | ||||
| u ju: | u ju: | ||||
| v vi: | v vi: | ||||
| w dVbVlju: | |||||
| w dabalju: | |||||
| x Eks | x Eks | ||||
| y wa:j | y wa:j | ||||
| z zEd | z zEd | ||||
| _4 na:lgu | _4 na:lgu | ||||
| _5 aIdu | _5 aIdu | ||||
| _6 a:ru | _6 a:ru | ||||
| _7 e:d.u | |||||
| _7 ;e:d.u | |||||
| _8 ;enimidi | _8 ;enimidi | ||||
| _9 tommidi | _9 tommidi | ||||
| _1X padi | _1X padi | ||||
| _17 padihe:d.u | _17 padihe:d.u | ||||
| _18 padd#enimidi | _18 padd#enimidi | ||||
| _19 pamdommadi | _19 pamdommadi | ||||
| _2X iravaI | |||||
| _2X irav#aI | |||||
| _3X muppaI | _3X muppaI | ||||
| _4X nalub#aI | _4X nalub#aI | ||||
| _5X ja:b#aI | _5X ja:b#aI | ||||
| _6X aravaI | |||||
| _6X arav#aI | |||||
| _7X d.eb#baI | _7X d.eb#baI | ||||
| _8X jenab#aI | _8X jenab#aI | ||||
| _9X tomb#aI | _9X tomb#aI | ||||
| _0C vandala | |||||
| _0C0 vandalu | |||||
| _1C okavanda | |||||
| _0M1 vela | |||||
| _0M1x velu | |||||
| _1M1 okavejji | |||||
| _0C v#andala | |||||
| _0C0 v#andalu | |||||
| _1C okav#anda | |||||
| _0M1 v#ela | |||||
| _0M1x v#elu | |||||
| _1M1 okav#ejji | |||||
| _0M2 laks.ala | _0M2 laks.ala | ||||
| _0M2x laks.alu | _0M2x laks.alu | ||||
| _1M2 laks.a | _1M2 laks.a | ||||
| \ bja:kasla:s. | \ bja:kasla:s. | ||||
| / sla:s. | / sla:s. | ||||
| © ka:pi:raIt. | © ka:pi:raIt. | ||||
| ¶ ve:ra: | |||||
| ¶ v#e:ra: | |||||
| _, ka:ma: | _, ka:ma: | ||||
| _; semi:ko:lan | _; semi:ko:lan | ||||
| U+c01 am | U+c01 am | ||||
| U+c02 an | U+c02 an | ||||
| U+c03 ah | U+c03 ah | ||||
| U+c4d vottu | |||||
| U+c4d v#ottu | |||||
| // consonants with virama | // consonants with virama | ||||
| క్ ik | క్ ik | ||||
| ఱ్ ir | ఱ్ ir | ||||
| ల్ il | ల్ il | ||||
| ళ్ il. | ళ్ il. | ||||
| వ్ iv | |||||
| వ్ iv# | |||||
| శ్ iS; | శ్ iS; | ||||
| ష్ is. | ష్ is. | ||||
| స్ is | స్ is |
| ళ (B l. | ళ (B l. | ||||
| .group వ | .group వ | ||||
| వ va | |||||
| వ (B v | |||||
| వ v#a | |||||
| వ (B v# | |||||
| .group శ | .group శ | ||||
| శ S;a | శ S;a | ||||
| ౖ : // ai length mark ?? | ౖ : // ai length mark ?? | ||||
| .group 0xe0a4 // devanagari | |||||
| 0xe0a4 _^_HI // switch to hindi voice for devanagari characters | |||||
| .group 0xe0a5 // devanagari | |||||
| 0xe0a5 _^_HI | |||||
| .group | .group | ||||
| $ d.a:lar | $ d.a:lar | ||||
| 74 phoneme tables | |||||
| 75 phoneme tables | |||||
| new total | new total | ||||
| base 109 109 | base 109 109 | ||||
| consonants 11 119 | consonants 11 119 | ||||
| pa 15 151 | pa 15 151 | ||||
| ta 23 153 | ta 23 153 | ||||
| kn 17 149 | kn 17 149 | ||||
| ml 21 152 | |||||
| ml 26 152 | |||||
| te 16 149 | |||||
| hu 25 124 | hu 25 124 | ||||
| lt 44 139 | lt 44 139 | ||||
| lv 29 127 | lv 29 127 | ||||
| da 45 138 | da 45 138 | ||||
| ka 20 115 | ka 20 115 | ||||
| fa 9 112 | fa 9 112 | ||||
| ko 15 116 | |||||
| ko 19 120 | |||||
| kl 18 119 | kl 18 119 | ||||
| am 15 114 | am 15 114 | ||||
| si 24 155 | si 24 155 | ||||
| b/xb [b] base | b/xb [b] base | ||||
| [b] fr | [b] fr | ||||
| [b#] hi | [b#] hi | ||||
| [b#] ml | |||||
| b/xbr [b] fr | b/xbr [b] fr | ||||
| d/d [d] base | d/d [d] base | ||||
| [d[] base | [d[] base | ||||
| [z] fr | [z] fr | ||||
| [d#] hi | [d#] hi | ||||
| [d] kn | [d] kn | ||||
| [d#] ml | |||||
| [d] hu | [d] hu | ||||
| [d] lt | [d] lt | ||||
| [d] pl | [d] pl | ||||
| d/xdr [d] fr | d/xdr [d] fr | ||||
| [d.] hi | [d.] hi | ||||
| [d.#] hi | [d.#] hi | ||||
| [d.#] ml | |||||
| d/xdz [dz] consonants | d/xdz [dz] consonants | ||||
| d/x_tap [t#] en | d/x_tap [t#] en | ||||
| [*] pt | [*] pt | ||||
| [dZ;] sq | [dZ;] sq | ||||
| dzh/xdz_pzd [J] base | dzh/xdz_pzd [J] base | ||||
| [J#] hi | [J#] hi | ||||
| [J#] ml | |||||
| [J] tr | [J] tr | ||||
| [J] ku | [J] ku | ||||
| envelope/i_risefall [11] zh | envelope/i_risefall [11] zh | ||||
| [g-] en | [g-] en | ||||
| [g] cy | [g] cy | ||||
| [g] fr | [g] fr | ||||
| [g#] ml | |||||
| [g] ru | [g] ru | ||||
| [g;] bg | [g;] bg | ||||
| [g] es | [g] es | ||||
| ustop/k_asp [k#] consonants | ustop/k_asp [k#] consonants | ||||
| [kh] consonants | [kh] consonants | ||||
| [g#] hi | [g#] hi | ||||
| [g#] ml | |||||
| [kh] zh | [kh] zh | ||||
| [k#] ka | [k#] ka | ||||
| ustop/k_asp_a [k#] consonants | ustop/k_asp_a [k#] consonants | ||||
| [g#] ml | |||||
| [k#] ka | [k#] ka | ||||
| ustop/k_asp_e [k#] consonants | ustop/k_asp_e [k#] consonants | ||||
| [g#] ml | |||||
| [k#] ka | [k#] ka | ||||
| ustop/k_asp_u [k#] ka | ustop/k_asp_u [k#] ka | ||||
| ustop/k_ejc [k`] am | ustop/k_ejc [k`] am | ||||
| ustop/p_ [p] base | ustop/p_ [p] base | ||||
| [ph] consonants | [ph] consonants | ||||
| [p] fr | [p] fr | ||||
| [b#] ml | |||||
| ustop/p_asp [ph] consonants | ustop/p_asp [ph] consonants | ||||
| [b#] hi | [b#] hi | ||||
| [b#] ml | |||||
| [ph] zh | [ph] zh | ||||
| ustop/percus02 [#X2] hi | ustop/percus02 [#X2] hi | ||||
| ustop/percus10 [#X1] base | ustop/percus10 [#X1] base | ||||
| [ph] consonants | [ph] consonants | ||||
| [p] base2 | [p] base2 | ||||
| [p] fr | [p] fr | ||||
| [b#] ml | |||||
| [p] lv | [p] lv | ||||
| [p] sk | [p] sk | ||||
| [p] sq | [p] sq | ||||
| [t] en-us | [t] en-us | ||||
| [d.#] hi | [d.#] hi | ||||
| [t.#] hi | [t.#] hi | ||||
| [d.#] ml | |||||
| [t] zhy | [t] zhy | ||||
| [t] da | [t] da | ||||
| ustop/t_ [t] base | ustop/t_ [t] base | ||||
| [t] et | [t] et | ||||
| [d#] hi | [d#] hi | ||||
| [t#] hi | [t#] hi | ||||
| [d#] ml | |||||
| [t] hu | [t] hu | ||||
| [t] lt | [t] lt | ||||
| [t] pl | [t] pl | ||||
| ustop/tsh_unasp [tS`] am | ustop/tsh_unasp [tS`] am | ||||
| ustop/ts_pzd [tS;] base | ustop/ts_pzd [tS;] base | ||||
| [J#] hi | [J#] hi | ||||
| [J#] ml | |||||
| [tS;] lt | [tS;] lt | ||||
| [tS;] ru | [tS;] ru | ||||
| [dZ;] sq | [dZ;] sq | ||||
| [aU] ne | [aU] ne | ||||
| [aU] kn | [aU] kn | ||||
| [aU] ml | [aU] ml | ||||
| [aU] te | |||||
| vdiph/aau_4 [aU] vi | vdiph/aau_4 [aU] vi | ||||
| vdiph/aau_6 [aU] de | vdiph/aau_6 [aU] de | ||||
| vdiph/ae [E:] fr-ca | vdiph/ae [E:] fr-ca | ||||
| [aI] eo | [aI] eo | ||||
| [aI] kn | [aI] kn | ||||
| [aI] ml | [aI] ml | ||||
| [aI] te | |||||
| [aI] lt | [aI] lt | ||||
| [aI] sk | [aI] sk | ||||
| [aI] hr | [aI] hr | ||||
| voc/dh_ [D] base | voc/dh_ [D] base | ||||
| [D] es | [D] es | ||||
| voc/j [J^] base | voc/j [J^] base | ||||
| voc/murmur1 [J#] ml | |||||
| [b#] ml | |||||
| [d#] ml | |||||
| [g#] ml | |||||
| [d.#] ml | |||||
| voc/Q [Q] base | voc/Q [Q] base | ||||
| [Q^] base | [Q^] base | ||||
| [Q] ka | [Q] ka | ||||
| [V] cy | [V] cy | ||||
| [@/] ga | [@/] ga | ||||
| [@] kn | [@] kn | ||||
| [@] te | |||||
| [@] hy | [@] hy | ||||
| [@] ka | [@] ka | ||||
| [@] sl | [@] sl | ||||
| vowel/a#_2 [A] nl | vowel/a#_2 [A] nl | ||||
| [a:] nl | [a:] nl | ||||
| [a] kn | [a] kn | ||||
| [a] ml | |||||
| [a] te | |||||
| [a#] pl | [a#] pl | ||||
| [&] hr | [&] hr | ||||
| [a] sv | [a] sv | ||||
| [a/] en-sc | [a/] en-sc | ||||
| [A:] en-sc | [A:] en-sc | ||||
| [aa] en-sc | [aa] en-sc | ||||
| [a] bn | |||||
| [a:] kn | [a:] kn | ||||
| [A] lt | [A] lt | ||||
| [a] lt | [a] lt | ||||
| [a] es | [a] es | ||||
| [a] el | [a] el | ||||
| vowel/a#_4 [a:] nl | vowel/a#_4 [a:] nl | ||||
| [a] ml | |||||
| [a] bg | [a] bg | ||||
| [a/] it | [a/] it | ||||
| [a] tr | [a] tr | ||||
| vowel/a_5 [a:] ta | vowel/a_5 [a:] ta | ||||
| [a:] ml | [a:] ml | ||||
| [a:] te | |||||
| [a/] it | [a/] it | ||||
| [a] la | [a] la | ||||
| [a] sv | [a] sv | ||||
| vowel/aa_9 [a] fi | vowel/aa_9 [a] fi | ||||
| [a] et | [a] et | ||||
| [a:] hi | [a:] hi | ||||
| [a] bn | |||||
| [a] ne | [a] ne | ||||
| [a] pa | [a] pa | ||||
| vowel/@_bck [@] hi | vowel/@_bck [@] hi | ||||
| [e:] kn | [e:] kn | ||||
| [e] ml | [e] ml | ||||
| [e:] ml | [e:] ml | ||||
| [e:] te | |||||
| [e] hr | [e] hr | ||||
| [e/] it | [e/] it | ||||
| [e:] la | [e:] la | ||||
| [e] nci | [e] nci | ||||
| [e] fi | [e] fi | ||||
| [E] nl | [E] nl | ||||
| [e] te | |||||
| [e] sk | [e] sk | ||||
| [e] bg | [e] bg | ||||
| [e/] it | [e/] it | ||||
| [i:] ta | [i:] ta | ||||
| [i:] kn | [i:] kn | ||||
| [i:] ml | [i:] ml | ||||
| [i:] te | |||||
| [i:] hu | [i:] hu | ||||
| [i] it | [i] it | ||||
| [i] es | [i] es | ||||
| [i] ta | [i] ta | ||||
| [i] kn | [i] kn | ||||
| [i] ml | [i] ml | ||||
| [i] te | |||||
| [i:] lt | [i:] lt | ||||
| [i] lv | [i] lv | ||||
| [i:] lv | [i:] lv | ||||
| [o:] kn | [o:] kn | ||||
| [o] ml | [o] ml | ||||
| [o:] ml | [o:] ml | ||||
| [o] te | |||||
| [o:] te | |||||
| [o] it | [o] it | ||||
| [o/] it | [o/] it | ||||
| [O] la | [O] la | ||||
| vowel/u_6 [u] ta | vowel/u_6 [u] ta | ||||
| [u2] ta | [u2] ta | ||||
| [u:] ta | [u:] ta | ||||
| [u] te | |||||
| [u:] te | |||||
| [U] pt-pt | [U] pt-pt | ||||
| [u] pt-pt | [u] pt-pt | ||||
| [u] ku | [u] ku |
| phoneme a | phoneme a | ||||
| vowel starttype #a endtype #a | vowel starttype #a endtype #a | ||||
| length 225 | length 225 | ||||
| FMT(vowel/aa_9) | |||||
| FMT(vowel/a_3) | |||||
| endphoneme | endphoneme | ||||
| ipa NULL // @-* is used to make 'r' | ipa NULL // @-* is used to make 'r' | ||||
| ENDIF | ENDIF | ||||
| length 40 | length 40 | ||||
| // "femten", "manden" - only a short "n" sound | |||||
| IF nextPhW(n) THEN | |||||
| length 20 | |||||
| ENDIF | |||||
| IF prevPhW(isNotVowel) AND thisPh(isWordEnd) THEN | |||||
| length 15 | |||||
| ENDIF | |||||
| // "lige" [li@-] | |||||
| IF prevPhW(i) AND thisPh(isWordEnd) THEN | |||||
| length 15 | |||||
| ENDIF | |||||
| FMT(vowel/@-) | FMT(vowel/@-) | ||||
| endphoneme | endphoneme | ||||
| phoneme i | phoneme i | ||||
| vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
| length 95 //150 | |||||
| length 140 //225 | |||||
| // PB long vowel followed by consonant and certain vowels "gide" | // PB long vowel followed by consonant and certain vowels "gide" | ||||
| IF nextPhW(isNotVowel) AND next2PhW(#@) OR next2PhW(V) THEN | IF nextPhW(isNotVowel) AND next2PhW(#@) OR next2PhW(V) THEN | ||||
| length 150 | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| // "gider", vrider" | // "gider", vrider" | ||||
| IF nextPhW(D) AND next2PhW(V) OR next2PhW(?V) THEN | IF nextPhW(D) AND next2PhW(V) OR next2PhW(?V) THEN | ||||
| length 95 | |||||
| length 140 | |||||
| ENDIF | ENDIF | ||||
| // PB long vowel followed by certain vowels - "pigen" [p'i@-n] | |||||
| IF nextPhW(#@) OR nextPhW(#e) THEN | |||||
| length 150 | |||||
| // PB long vowel followed by [@-] - "pigen" [p'i@-n] | |||||
| IF nextPhW(@-) OR nextPhW(V) THEN | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| // Only this vowel (in this case [i]) | // Only this vowel (in this case [i]) | ||||
| IF thisPh(isFinalVowel) AND thisPh(isWordEnd) AND thisPh(isWordStart) OR prevPhW(_) THEN | IF thisPh(isFinalVowel) AND thisPh(isWordEnd) AND thisPh(isWordStart) OR prevPhW(_) THEN | ||||
| length 150 | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| // This vowel is word end - longer because it sounds too short | // This vowel is word end - longer because it sounds too short | ||||
| // "sig", "si" | // "sig", "si" | ||||
| ENDIF | ENDIF | ||||
| // "vilje" - short followed by 2 consonants | // "vilje" - short followed by 2 consonants | ||||
| IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN | IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN | ||||
| length 95 | |||||
| length 140 | |||||
| ENDIF | ENDIF | ||||
| // PB "tie", "stige", "krige" vowel + vowel: extra length | // PB "tie", "stige", "krige" vowel + vowel: extra length | ||||
| // What is causing this very short [i] in words with final [@-]? | // What is causing this very short [i] in words with final [@-]? | ||||
| // NOT "galleriet" [g,?&lVR'i@-D] NOT "krigen" [kR'i@-n] | |||||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) AND NOT next2PhW(D) AND NOT next2PhW(n) THEN | |||||
| // NOT "galleriet" [g,?&lVR'i@-D] | |||||
| IF nextPhW(V) OR nextPhW(@) OR nextPhW(@-) AND NOT next2PhW(D) THEN | |||||
| length 240 | length 240 | ||||
| ENDIF | ENDIF | ||||
| //"skider" short | |||||
| IF nextPhW(D) AND next2PhW(V) THEN | |||||
| length 140 | |||||
| ENDIF | |||||
| //"skideren" long | |||||
| IF nextPhW(D) AND next2PhW(V) AND next3PhW(V) THEN | |||||
| length 225 | |||||
| ENDIF | |||||
| FMT(vowel/i_4) | FMT(vowel/i_4) | ||||
| endphoneme | endphoneme | ||||
| // sviret vs. svirret | // sviret vs. svirret | ||||
| phoneme ?i | phoneme ?i | ||||
| vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
| length 90 | |||||
| length 100 | |||||
| IfNextVowelAppend(;) | IfNextVowelAppend(;) | ||||
| FMT(vowel/i_4) | FMT(vowel/i_4) | ||||
| endphoneme | endphoneme | ||||
| phoneme e | phoneme e | ||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| length 95 //150 | |||||
| length 140 //225 | |||||
| // "delte", "mente" | // "delte", "mente" | ||||
| IF nextPhW(@-) OR nextPhW(V) OR next2PhW(@-) OR next2PhW(V) THEN | IF nextPhW(@-) OR nextPhW(V) OR next2PhW(@-) OR next2PhW(V) THEN | ||||
| length 150 | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| // PB "ring", "ringe" | // PB "ring", "ringe" | ||||
| IF nextPhW(N) THEN | IF nextPhW(N) THEN | ||||
| length 95 | |||||
| length 140 | |||||
| ENDIF | ENDIF | ||||
| // PB "enig", "enige", "evig" | // PB "enig", "enige", "evig" | ||||
| IF nextPhW(isNotVowel) AND next2PhW(i) THEN | IF nextPhW(isNotVowel) AND next2PhW(i) THEN | ||||
| length 150 | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| // Only "e" | // Only "e" | ||||
| IF thisPh(isWordEnd) AND thisPh(isWordStart) THEN | IF thisPh(isWordEnd) AND thisPh(isWordStart) THEN | ||||
| length 150 | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| // "nedladende" [n'eDl&D@-n@-] - before 2 consonants: short | // "nedladende" [n'eDl&D@-n@-] - before 2 consonants: short | ||||
| IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN | IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN | ||||
| length 95 | |||||
| length 140 | |||||
| ENDIF | |||||
| // "et" | |||||
| IF thisPh(isWordStart) AND nextPhW(isWordEnd) THEN | |||||
| length 120 | |||||
| ENDIF | ENDIF | ||||
| FMT(vowel/e) | FMT(vowel/e) | ||||
| endphoneme | endphoneme | ||||
| // "skille" vs. "skele", "pille" vs. "pile" | // "skille" vs. "skele", "pille" vs. "pile" | ||||
| phoneme ?e | phoneme ?e | ||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| length 90 | |||||
| length 140 | |||||
| FMT(vowel/e) | FMT(vowel/e) | ||||
| endphoneme | endphoneme | ||||
| phoneme E | phoneme E | ||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| length 100 //150 | |||||
| // "værelse", "breve" | |||||
| IF nextVowel(3) OR nextVowel(V) OR nextVowel(@) OR nextVowel(@-) THEN | |||||
| // length 150 | |||||
| length 140 //225 | |||||
| // no link with next vowel | |||||
| IF thisPh(isWordEnd) THEN | |||||
| IfNextVowelAppend(_!) | |||||
| ENDIF | ENDIF | ||||
| // "ræve" | |||||
| // "ræve" | |||||
| IF nextVowel(#@) OR nextVowel(#e) THEN | IF nextVowel(#@) OR nextVowel(#e) THEN | ||||
| length 160 | length 160 | ||||
| ENDIF | ENDIF | ||||
| ENDIF | ENDIF | ||||
| // "længe" - short - 2 consonants => 1 consonant | // "længe" - short - 2 consonants => 1 consonant | ||||
| IF nextPhW(N) THEN | IF nextPhW(N) THEN | ||||
| length 120 | |||||
| length 100 | |||||
| ENDIF | ENDIF | ||||
| // "værelse" [v'E3-Vls@_!] | // "værelse" [v'E3-Vls@_!] | ||||
| IF nextPhW(3-) AND next2PhW(V) THEN | IF nextPhW(3-) AND next2PhW(V) THEN | ||||
| length 120 | |||||
| length 100 | |||||
| ENDIF | ENDIF | ||||
| // "mælkebøtte" - short followed by 2 consonants | // "mælkebøtte" - short followed by 2 consonants | ||||
| IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN | IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN | ||||
| length 120 | |||||
| length 140 | |||||
| ENDIF | ENDIF | ||||
| FMT(vowel/e_mid2) | FMT(vowel/e_mid2) | ||||
| endphoneme | endphoneme | ||||
| phoneme ?E | phoneme ?E | ||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| ipa ε | ipa ε | ||||
| length 100 | |||||
| length 140 | |||||
| FMT(vowel/e_mid2) | FMT(vowel/e_mid2) | ||||
| endphoneme | endphoneme | ||||
| phoneme & | phoneme & | ||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| ipa a | ipa a | ||||
| length 90 //150 | |||||
| // "same", "sale", "bade" - consonant + gooup #e or group #@: long | |||||
| IF next2PhW(#@) OR next2PhW(#e) THEN | |||||
| length 150 | |||||
| length 140 //225 | |||||
| // "same", "sale", "bade" - consonant + @-: long | |||||
| // but NOT "hinanden" | |||||
| IF next2PhW(@-) OR next2PhW(@) AND NOT next3PhW(n) THEN | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| // ThisPh + gooup #e or group #@ | |||||
| // ThisPh + V or group #@ | |||||
| // "ae", "aer" vowel + vowel: extra length | // "ae", "aer" vowel + vowel: extra length | ||||
| IF nextPhW(#@) OR nextPhW(#e) THEN | |||||
| length 220 | |||||
| IF nextPhW(@-) OR nextPhW(V) THEN | |||||
| length 260 | |||||
| ENDIF | ENDIF | ||||
| // This vowel is word end - longer because it sounds too short | // This vowel is word end - longer because it sounds too short | ||||
| // "ja", "Omaha" | // "ja", "Omaha" | ||||
| ENDIF | ENDIF | ||||
| // Only this vowel (in this case [&]) | // Only this vowel (in this case [&]) | ||||
| IF thisPh(isFinalVowel) AND thisPh(isWordEnd) AND thisPh(isWordStart) OR prevPhW(_) THEN | IF thisPh(isFinalVowel) AND thisPh(isWordEnd) AND thisPh(isWordStart) OR prevPhW(_) THEN | ||||
| length 150 | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| // "stadig" [st&Di], "stadigt" [st&Dit] | // "stadig" [st&Di], "stadigt" [st&Dit] | ||||
| IF nextPhW(isNotVowel) AND next2PhW(i) THEN | IF nextPhW(isNotVowel) AND next2PhW(i) THEN | ||||
| ENDIF | ENDIF | ||||
| // "Alfie", "alfer" - short before 2 consonants | // "Alfie", "alfer" - short before 2 consonants | ||||
| IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN | IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN | ||||
| length 90 | |||||
| length 140 | |||||
| ENDIF | ENDIF | ||||
| FMT(vowel/ee_2) | FMT(vowel/ee_2) | ||||
| endphoneme | endphoneme | ||||
| phoneme ?& | phoneme ?& | ||||
| ipa a | ipa a | ||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| length 90 | |||||
| length 140 | |||||
| FMT(vowel/ee_2) | FMT(vowel/ee_2) | ||||
| endphoneme | endphoneme | ||||
| // PB added for the æ in "dræbt" | // PB added for the æ in "dræbt" | ||||
| phoneme &# | phoneme &# | ||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| length 120 | |||||
| IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
| glstop | |||||
| length 90 | |||||
| length 140 //120 | |||||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@-) THEN | |||||
| length 120 | |||||
| ENDIF | ENDIF | ||||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN | |||||
| length 150 | |||||
| // "drenge" | |||||
| IF nextPhW(N) THEN | |||||
| length 140 | |||||
| ENDIF | ENDIF | ||||
| FMT(vowel/&) | FMT(vowel/&) | ||||
| endphoneme | endphoneme | ||||
| // "revl" vs. "tremme" | // "revl" vs. "tremme" | ||||
| phoneme ?&# | phoneme ?&# | ||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| length 90 | |||||
| length 140 | |||||
| FMT(vowel/&) | FMT(vowel/&) | ||||
| endphoneme | endphoneme | ||||
| //phoneme a | |||||
| // vowel starttype #a endtype #a | |||||
| // length 90 //150 | |||||
| //IF nextPhW(#@) OR nextPhW(#e) THEN | |||||
| // length 150 | |||||
| //ENDIF | |||||
| // FMT(vowel/a_2) | |||||
| //endphoneme | |||||
| // PB short (glottal) a | |||||
| // "bragt" | |||||
| //phoneme ?a | |||||
| // vowel starttype #a endtype #a | |||||
| // length 90 | |||||
| // FMT(vowel/a_2) | |||||
| //endphoneme | |||||
| phoneme A // PB changed to a_8 | phoneme A // PB changed to a_8 | ||||
| vowel starttype #a endtype #a | vowel starttype #a endtype #a | ||||
| length 90 //150 | |||||
| length 140 //225 | |||||
| // PB long vowel followed by consonant and certain vowels - "drabelig" | // PB long vowel followed by consonant and certain vowels - "drabelig" | ||||
| IF nextPhW(isNotVowel) AND next2PhW(#@) OR next2PhW(#e) THEN | |||||
| length 150 | |||||
| IF nextPhW(isNotVowel) AND next2PhW(#@) OR next2PhW(V) THEN | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| // "far", "bastard" - a bit longer followed by [r] | // "far", "bastard" - a bit longer followed by [r] | ||||
| IF nextPhW(r) AND nextPhW(isWordEnd) THEN | IF nextPhW(r) AND nextPhW(isWordEnd) THEN | ||||
| ENDIF | ENDIF | ||||
| // "bange" [bAN@-] - [N] = 2 consonants (ng) => short | // "bange" [bAN@-] - [N] = 2 consonants (ng) => short | ||||
| IF nextPhW(N) THEN | IF nextPhW(N) THEN | ||||
| length 90 | |||||
| length 140 | |||||
| ENDIF | ENDIF | ||||
| // "fare" [f'A:A] | // "fare" [f'A:A] | ||||
| IF nextPhW(A) THEN | IF nextPhW(A) THEN | ||||
| length 150 | |||||
| length 225 | |||||
| ENDIF | |||||
| // "av" [Au] - a bit longer | |||||
| IF nextPhW(isWordEnd) THEN | |||||
| length 120 | |||||
| ENDIF | |||||
| // "magnat" [mAun&d] - sounds too short | |||||
| IF nextPhW(u) OR nextPhW(w) THEN | |||||
| length 130 | |||||
| ENDIF | ENDIF | ||||
| FMT(vowel/a_8) | FMT(vowel/a_8) | ||||
| endphoneme | endphoneme | ||||
| // "drab" vs. "drabelig" | // "drab" vs. "drabelig" | ||||
| phoneme ?A | phoneme ?A | ||||
| vowel starttype #a endtype #a | vowel starttype #a endtype #a | ||||
| length 90 | |||||
| length 140 | |||||
| // "straffeattest", "straffe", "rapid" - a bit longer after R | // "straffeattest", "straffe", "rapid" - a bit longer after R | ||||
| IF prevPhW(R) AND nextPhW(isNotVowel) AND next2PhW(isVowel) THEN | IF prevPhW(R) AND nextPhW(isNotVowel) AND next2PhW(isVowel) THEN | ||||
| length 110 | length 110 | ||||
| phoneme u | phoneme u | ||||
| vowel starttype #u endtype #u | vowel starttype #u endtype #u | ||||
| length 90 //150 | |||||
| length 140 //225 | |||||
| // "fugl" [ful] - a bit longer | |||||
| IF nextPhW(isWordEnd) THEN | |||||
| length 120 | |||||
| ENDIF | |||||
| // "suge", "uge", "bluse", "julegave" | // "suge", "uge", "bluse", "julegave" | ||||
| IF nextPhW(#e) OR nextPhW(#@) OR next2PhW(#e) OR next2PhW(#@)THEN | |||||
| length 150 | |||||
| IF nextPhW(@-) OR nextPhW(V) OR next2PhW(@-) OR next2PhW(V)THEN | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| // "umulig" [u:m'uli] | // "umulig" [u:m'uli] | ||||
| IF nextVowel(i) AND nextVowel(isFinalVowel) AND nextVowel(isWordEnd) THEN | IF nextVowel(i) AND nextVowel(isFinalVowel) AND nextVowel(isWordEnd) THEN | ||||
| ENDIF | ENDIF | ||||
| // Only "u" | // Only "u" | ||||
| IF thisPh(isWordEnd) AND thisPh(isWordStart) THEN | IF thisPh(isWordEnd) AND thisPh(isWordStart) THEN | ||||
| length 150 | |||||
| ENDIF | |||||
| // "fugl" [ful] - a bit longer | |||||
| IF nextPhW(isWordEnd) THEN | |||||
| length 120 | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| FMT(vowel/u_bck) | FMT(vowel/u_bck) | ||||
| endphoneme | endphoneme | ||||
| // "tude" vs. "tuden" - [tuD3] [t?uD@n] | // "tude" vs. "tuden" - [tuD3] [t?uD@n] | ||||
| phoneme ?u | phoneme ?u | ||||
| vowel starttype #u endtype #u | vowel starttype #u endtype #u | ||||
| length 90 | |||||
| length 140 | |||||
| FMT(vowel/u_bck) | FMT(vowel/u_bck) | ||||
| endphoneme | endphoneme | ||||
| phoneme o | phoneme o | ||||
| vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
| length 90 //150 | |||||
| length 140 //225 | |||||
| // "bore", "borer" | // "bore", "borer" | ||||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@-) THEN | |||||
| length 150 | |||||
| IF nextPhW(V) OR nextPhW(#@) THEN | |||||
| length 225 | |||||
| ENDIF | |||||
| // "kone", "koner" | |||||
| IF next2PhW(V) OR next2PhW(#@) THEN | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| // "modig" - long vowel after consonant + [i] | // "modig" - long vowel after consonant + [i] | ||||
| IF nextPhW(D) AND next2PhW(i) THEN | IF nextPhW(D) AND next2PhW(i) THEN | ||||
| length 150 | |||||
| length 225 | |||||
| ENDIF | |||||
| // Only "o" | |||||
| IF thisPh(isWordEnd) AND thisPh(isWordStart) THEN | |||||
| length 120 | |||||
| ENDIF | |||||
| // This vowel is word end - longer because it sounds too short | |||||
| // "ko" | |||||
| IF thisPh(isWordEnd) THEN | |||||
| length 120 | |||||
| ENDIF | ENDIF | ||||
| FMT(vowel/o_2) | FMT(vowel/o_2) | ||||
| endphoneme | endphoneme | ||||
| // "patron" vs. "kone" | // "patron" vs. "kone" | ||||
| phoneme ?o | phoneme ?o | ||||
| vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
| length 95 | |||||
| length 140 | |||||
| FMT(vowel/o_2) | FMT(vowel/o_2) | ||||
| endphoneme | endphoneme | ||||
| phoneme O | phoneme O | ||||
| vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
| length 90 // 150 | |||||
| length 140 // 150 | |||||
| // "sove", "sover" - consonant + #e or #@: long | // "sove", "sover" - consonant + #e or #@: long | ||||
| IF next2PhW(#@) OR next2PhW(#e) THEN | |||||
| length 150 | |||||
| IF next2PhW(@-) OR next2PhW(V) THEN | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| // PB "gået" - ThisPh + #e or #@ | |||||
| IF nextPhW(#e) OR nextPhW(#@) THEN | |||||
| length 150 | |||||
| // PB "gået" - ThisPh + V or @- | |||||
| IF nextPhW(V) OR nextPhW(@-) THEN | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| // "rådig" | // "rådig" | ||||
| IF nextVowel(i) AND nextVowel(isFinalVowel) THEN | IF nextVowel(i) AND nextVowel(isFinalVowel) THEN | ||||
| length 180 | length 180 | ||||
| ENDIF | |||||
| // This vowel is word end - longer because it sounds too short | |||||
| // "på", "gå" | |||||
| IF thisPh(isWordEnd) THEN | |||||
| length 120 | |||||
| ENDIF | |||||
| // "såre", "sårede" [s'O:?OD@-] | |||||
| IF nextPhW(O) OR nextPhW(?O) THEN | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| FMT(vowel/o_5) | FMT(vowel/o_5) | ||||
| endphoneme | endphoneme | ||||
| // "toget" vs. "tåget" | // "toget" vs. "tåget" | ||||
| phoneme ?O | phoneme ?O | ||||
| vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
| length 90 | |||||
| length 140 | |||||
| // "hoven" | |||||
| IF nextPhW(w) OR nextPhW(?u) AND next2PhW(@-) THEN | |||||
| length 120 | |||||
| ENDIF | |||||
| FMT(vowel/o_5) | FMT(vowel/o_5) | ||||
| endphoneme | endphoneme | ||||
| phoneme V | phoneme V | ||||
| vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
| length 150 | |||||
| // "sport" [spV:t] | |||||
| IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
| glstop | |||||
| length 90 | |||||
| ENDIF | |||||
| IF nextPh(3) OR nextPh(V) OR nextPh(@) THEN | |||||
| length 150 | |||||
| ENDIF | |||||
| // PB short V in "holder", "solder" | |||||
| IF nextPhW(isNotVowel) AND next2Ph(V) THEN | |||||
| length 90 | |||||
| ENDIF | |||||
| // "snorke", "snorker", årlig | |||||
| IF next2PhW(3) OR next2PhW(V) OR next2PhW(@) OR next2PhW(i) THEN | |||||
| length 140 //225 | |||||
| // "forlig" | |||||
| IF nextPhW(isNotVowel) AND next2PhW(i) THEN | |||||
| length 180 | length 180 | ||||
| ENDIF | ENDIF | ||||
| // "sove" [sVw3] - longer followed by w + 3 | |||||
| IF nextPhW(w) AND next2PhW(3) THEN | |||||
| length 220 | |||||
| ENDIF | |||||
| // PB "konge" | |||||
| // PB "konge" - ng=>n | |||||
| IF nextPhW(N) THEN | IF nextPhW(N) THEN | ||||
| length 95 | |||||
| length 100 | |||||
| ENDIF | |||||
| // Only [V] - "og" | |||||
| IF thisPh(isWordEnd) AND thisPh(isWordStart) THEN | |||||
| length 120 | |||||
| ENDIF | |||||
| // This vowel is word end - longer because it sounds too short | |||||
| // "for" [fV] | |||||
| IF thisPh(isWordEnd) THEN | |||||
| length 120 | |||||
| ENDIF | ENDIF | ||||
| FMT(vowel/V_4) | FMT(vowel/V_4) | ||||
| endphoneme | endphoneme | ||||
| // "forstår" vs. "kåre" | // "forstår" vs. "kåre" | ||||
| phoneme ?V | phoneme ?V | ||||
| vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
| length 90 | |||||
| length 140 | |||||
| FMT(vowel/V_4) | FMT(vowel/V_4) | ||||
| endphoneme | endphoneme | ||||
| phoneme 0 | phoneme 0 | ||||
| vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
| length 150 | |||||
| IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
| glstop | |||||
| length 90 | |||||
| ENDIF | |||||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN | |||||
| length 150 | |||||
| length 140 //225 | |||||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@-) THEN | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| FMT(vowel/oo_2) | FMT(vowel/oo_2) | ||||
| endphoneme | endphoneme | ||||
| // Short 0 "sukker" | // Short 0 "sukker" | ||||
| phoneme ?0 | phoneme ?0 | ||||
| vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
| length 90 | |||||
| length 140 | |||||
| FMT(vowel/oo_2) | FMT(vowel/oo_2) | ||||
| endphoneme | endphoneme | ||||
| vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
| // Length changed to short since most vowels are short. | // Length changed to short since most vowels are short. | ||||
| // It's probably easier only to make rules for long vowels. | // It's probably easier only to make rules for long vowels. | ||||
| length 90 //150 | |||||
| length 140 //225 | |||||
| // PB long vowel followed by consonant and certain vowels | // PB long vowel followed by consonant and certain vowels | ||||
| // "lyde", "lyder" | |||||
| IF nextPhW(isNotVowel) AND next2PhW(#@) OR next2PhW(#e) THEN | |||||
| length 150 | |||||
| // "gyde", "gyder" | |||||
| IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(V) THEN | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| // Only this vowel (in this case [y]) | // Only this vowel (in this case [y]) | ||||
| IF thisPh(isFinalVowel) AND thisPh(isWordEnd) AND thisPh(isWordStart) THEN | IF thisPh(isFinalVowel) AND thisPh(isWordEnd) AND thisPh(isWordStart) THEN | ||||
| length 150 | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| // "dydig" [dyDi] | // "dydig" [dyDi] | ||||
| IF nextPhW(isNotVowel) AND next2PhW(i) THEN | IF nextPhW(isNotVowel) AND next2PhW(i) THEN | ||||
| length 150 | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| // "syge" [sy3] vowel + vowel: extra length, but NOT "fyret" [fyVD] | |||||
| IF nextPhW(#e) OR nextPhW(#@) AND NOT next2PhW(D) THEN | |||||
| // "syge" [sy@-] vowel + vowel: extra length, but NOT "fyret" [fyVD] | |||||
| IF nextPhW(@-) OR nextPhW(3) AND NOT next2PhW(D) THEN | |||||
| length 200 | length 200 | ||||
| ENDIF | ENDIF | ||||
| // "tyve" | // "tyve" | ||||
| IF nextPhW(?u) AND next2PhW(@-) THEN | IF nextPhW(?u) AND next2PhW(@-) THEN | ||||
| length 150 | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| FMT(vowel/y) | FMT(vowel/y) | ||||
| endphoneme | endphoneme | ||||
| // "kylling" vs. "kyle", "krybbe" vs. "krybe" | // "kylling" vs. "kyle", "krybbe" vs. "krybe" | ||||
| phoneme ?y | phoneme ?y | ||||
| vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
| length 90 | |||||
| length 140 | |||||
| FMT(vowel/y) | FMT(vowel/y) | ||||
| endphoneme | endphoneme | ||||
| phoneme Y | phoneme Y | ||||
| vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
| length 150 | |||||
| length 225 | |||||
| IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | ||||
| glstop | glstop | ||||
| length 90 | |||||
| length 140 | |||||
| ENDIF | ENDIF | ||||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN | IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN | ||||
| length 150 | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| FMT(vowel/yy) | FMT(vowel/yy) | ||||
| endphoneme | endphoneme | ||||
| phoneme W | phoneme W | ||||
| vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
| length 90 //160 | |||||
| length 140 //160 | |||||
| // "kløe" vowel + vowel: extra length | // "kløe" vowel + vowel: extra length | ||||
| IF nextPhW(#@) OR nextPhW(#e) THEN | IF nextPhW(#@) OR nextPhW(#e) THEN | ||||
| length 220 | length 220 | ||||
| ENDIF | ENDIF | ||||
| // "røveri" but NOT "surfer" [sWf?V] TEST | // "røveri" but NOT "surfer" [sWf?V] TEST | ||||
| IF next2PhW(V) OR next2PhW(?V) AND NOT next2PhW(isFinalVowel) THEN | IF next2PhW(V) OR next2PhW(?V) AND NOT next2PhW(isFinalVowel) THEN | ||||
| length 90 | |||||
| length 140 | |||||
| ENDIF | ENDIF | ||||
| // PB "nødig", "nødigt", "kølige" | // PB "nødig", "nødigt", "kølige" | ||||
| IF nextVowel(i) THEN | IF nextVowel(i) THEN | ||||
| ENDIF | ENDIF | ||||
| // "børnebog" | // "børnebog" | ||||
| IF nextPhW(r) AND next2PhW(n) AND nextVowel(@-) THEN | IF nextPhW(r) AND next2PhW(n) AND nextVowel(@-) THEN | ||||
| length 150 | |||||
| length 225 | |||||
| ENDIF | |||||
| // This vowel is word end - longer because it sounds too short | |||||
| // "dø" [dW] | |||||
| IF thisPh(isWordEnd) THEN | |||||
| length 120 | |||||
| ENDIF | |||||
| // PB "synge" | |||||
| IF nextPhW(N) THEN | |||||
| length 140 | |||||
| ENDIF | ENDIF | ||||
| FMT(vowel/oe) | FMT(vowel/oe) | ||||
| endphoneme | endphoneme | ||||
| // "prøv" vs. "prøve" | // "prøv" vs. "prøve" | ||||
| phoneme ?W | phoneme ?W | ||||
| vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
| length 95 | |||||
| length 140 | |||||
| FMT(vowel/oe) | FMT(vowel/oe) | ||||
| endphoneme | endphoneme | ||||
| // Added for the ø in "røv", "røg", "øje" instead of [V3] | // Added for the ø in "røv", "røg", "øje" instead of [V3] | ||||
| phoneme W# | phoneme W# | ||||
| vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
| length 90 //150 | |||||
| IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
| glstop | |||||
| // length 90 | |||||
| ENDIF | |||||
| length 140 //225 | |||||
| // PB long vowel followed by consonant and certain vowels | // PB long vowel followed by consonant and certain vowels | ||||
| IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(@) OR next2PhW(3) OR next2PhW(V) OR next2PhW(?V) THEN | IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(@) OR next2PhW(3) OR next2PhW(V) OR next2PhW(?V) THEN | ||||
| length 150 | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| FMT(vowel/V) | FMT(vowel/V) | ||||
| endphoneme | endphoneme | ||||
| // "rømme" | // "rømme" | ||||
| phoneme ?W# | phoneme ?W# | ||||
| vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
| length 90 | |||||
| length 140 | |||||
| FMT(vowel/V) | FMT(vowel/V) | ||||
| endphoneme | endphoneme | ||||
| length 300 | length 300 | ||||
| IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2Ph(@-) AND nextPhW(isNotVowel) THEN | IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2Ph(@-) AND nextPhW(isNotVowel) THEN | ||||
| glstop | glstop | ||||
| length 150 | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| // "dreje" [dR'aI@-_!] | // "dreje" [dR'aI@-_!] | ||||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN | IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN | ||||
| phoneme l | phoneme l | ||||
| liquid | liquid | ||||
| lengthmod 7 | lengthmod 7 | ||||
| // [ll] => [-l] - avoid double l | |||||
| IF nextPhW(l) THEN | |||||
| // ChangePhoneme(-) | |||||
| ENDIF | |||||
| ChangePhoneme(l/3) | ChangePhoneme(l/3) | ||||
| // CALL base/l | // CALL base/l | ||||
| endphoneme | endphoneme | ||||
| liquid | liquid | ||||
| lengthmod 7 | lengthmod 7 | ||||
| IF nextPh(isVowel) THEN | |||||
| IF nextPhW(isVowel) THEN | |||||
| // ChangePhoneme(l) | // ChangePhoneme(l) | ||||
| ENDIF | ENDIF | ||||
| PrevVowelEndings | PrevVowelEndings | ||||
| VowelEnding(l/l_@) | VowelEnding(l/l_@) | ||||
| VowelEnding(l/l_a,-70) // kvalt, kapital | |||||
| VowelEnding(l/l_e, -40) | |||||
| VowelEnding(l/l_i, -70) | |||||
| VowelEnding(l/l_o,-70) // stole, skole, pistol | |||||
| VowelEnding(l/l_a) | |||||
| VowelEnding(l/l_e, -50) // hjælpe | |||||
| VowelEnding(l/l_i, -70) // flygte? | |||||
| VowelEnding(l/l_o,-35) // stole, skole, pistol | |||||
| VowelEnding(l/l_u, -70) | VowelEnding(l/l_u, -70) | ||||
| EndSwitch | EndSwitch | ||||
| phoneme j | phoneme j | ||||
| liquid palatal | liquid palatal | ||||
| lengthmod 7 | lengthmod 7 | ||||
| // no link with next vowel | |||||
| IF thisPh(isWordEnd) THEN | |||||
| IfNextVowelAppend(_!) | |||||
| ENDIF | |||||
| IF nextPhW(isVowel) THEN | IF nextPhW(isVowel) THEN | ||||
| NextVowelStarts | NextVowelStarts | ||||
| VowelStart(j/j@) | VowelStart(j/j@) | ||||
| Vowelout len=70 | Vowelout len=70 | ||||
| FMT(j/j_) | FMT(j/j_) | ||||
| ENDIF | ENDIF | ||||
| endphoneme | |||||
| endphoneme |
| phoneme c# | phoneme c# | ||||
| CALL base/tS; | CALL base/tS; | ||||
| ipa ch | |||||
| ipa cU+02B0 | |||||
| endphoneme | endphoneme | ||||
| FMT(dzh/dzh) addWav(x/dz_pzd) | FMT(dzh/dzh) addWav(x/dz_pzd) | ||||
| endphoneme | endphoneme | ||||
| phoneme s- | |||||
| import_phoneme base/s // temporary | |||||
| endphoneme | |||||
| phoneme q- | |||||
| import_phoneme base/q // temporary | |||||
| endphoneme | |||||
| phoneme tS;- | |||||
| import_phoneme base/tS; // temporary | |||||
| endphoneme | |||||
| phoneme d- | |||||
| import_phoneme base/d | |||||
| endphoneme | |||||
| // phoneme tSh; ?? changed to [tS;h] in ko_rules | |||||
| // phoneme h- in ko_list (for 10^3) ?? changed to [h] | |||||
| // phoneme tSh- changed to tSh | |||||
| phoneme * // r(ㄹ) at initial, medial | phoneme * // r(ㄹ) at initial, medial | ||||
| vcd alv flp rhotic | vcd alv flp rhotic | ||||
| ipa ɾ | ipa ɾ |
| length 130 | length 130 | ||||
| IF thisPh(isStressed) OR thisPh(isFirstVowel) OR thisPh(isWordEnd) THEN | IF thisPh(isStressed) OR thisPh(isFirstVowel) OR thisPh(isWordEnd) THEN | ||||
| FMT(vowel/a#_2) | |||||
| FMT(vowel/a#_4) | |||||
| ELSE | ELSE | ||||
| ChangeIfUnstressed(@) | ChangeIfUnstressed(@) | ||||
| endphoneme | endphoneme | ||||
| // Aspirated voice stops, sound like aspirated unvoiced stops ? | |||||
| phoneme b# | |||||
| vls blb stop prevoice | |||||
| lengthmod 2 | |||||
| voicingswitch b | |||||
| Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 | |||||
| Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30 | |||||
| IF PreVoicing THEN | |||||
| IF prevPhW(isVowel) THEN | |||||
| FMT(b/xb) | |||||
| ELSE | |||||
| FMT(voc/murmur1) | |||||
| ENDIF | |||||
| ENDIF | |||||
| IF nextPh(isPause2) THEN | |||||
| WAV(ustop/p_) | |||||
| ENDIF | |||||
| IF nextPh(l) THEN | |||||
| WAV(ustop/pl) | |||||
| ENDIF | |||||
| WAV(ustop/p_asp) | |||||
| endphoneme | |||||
| phoneme d# | |||||
| vls dnt stop prevoice | |||||
| lengthmod 2 | |||||
| voicingswitch d | |||||
| Vowelin f1=0 f2=1500 -300 300 f3=-100 80 amp=16 | |||||
| Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20 | |||||
| IF PreVoicing THEN | |||||
| IF prevPhW(isVowel) THEN | |||||
| FMT(d/xd) | |||||
| ELSE | |||||
| FMT(voc/murmur1) | |||||
| ENDIF | |||||
| ENDIF | |||||
| IF nextPh(isPause2) THEN | |||||
| WAV(ustop/t_dnt, 35) | |||||
| ENDIF | |||||
| WAV(ustop/t_dnt, 50) | |||||
| endphoneme | |||||
| phoneme d.# | |||||
| vls rfx stop prevoice | |||||
| lengthmod 2 | |||||
| ipa ʈU+02B0 | |||||
| Vowelin f1=0 f2=1800 -300 300 f3=-400 80 | |||||
| Vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2 | |||||
| IF PreVoicing THEN | |||||
| IF prevPhW(isVowel) THEN | |||||
| FMT(d/xdr) | |||||
| ELSE | |||||
| FMT(voc/murmur1) | |||||
| ENDIF | |||||
| ENDIF | |||||
| voicingswitch d.# | |||||
| WAV(ustop/t) | |||||
| endphoneme | |||||
| phoneme J# | |||||
| vls pal afr sibilant palatal prevoice | |||||
| voicingswitch c# | |||||
| lengthmod 2 | |||||
| Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70 | |||||
| IF PreVoicing THEN | |||||
| IF prevPhW(isVowel) THEN | |||||
| FMT(dzh/xdz_pzd) | |||||
| ELSE | |||||
| FMT(voc/murmur1) | |||||
| ENDIF | |||||
| ENDIF | |||||
| IF nextPh(isPause2) THEN | |||||
| WAV(ustop/ts_pzd) | |||||
| ENDIF | |||||
| WAV(ustop/ts_pzd) | |||||
| endphoneme | |||||
| phoneme g# | |||||
| vls vel stop prevoice | |||||
| lengthmod 2 | |||||
| Vowelin f1=1 f2=1400 -100 100 f3=-150 80 | |||||
| Vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20 | |||||
| IF PreVoicing THEN | |||||
| IF prevPhW(isVowel) THEN | |||||
| FMT(g/xg) | |||||
| ELSE | |||||
| FMT(voc/murmur1) | |||||
| ENDIF | |||||
| ENDIF | |||||
| IF nextPh(isPause2) THEN | |||||
| WAV(ustop/k_asp, 40) | |||||
| ENDIF | |||||
| IF nextPhW(#e) OR nextPhW(#i) THEN | |||||
| WAV(ustop/k_asp_e, 40) | |||||
| ELIF nextPhW(#o) OR nextPhW(#u) THEN | |||||
| WAV(ustop/k_asp_a, 25) | |||||
| ELSE | |||||
| WAV(ustop/k_asp_a, 30) | |||||
| ENDIF | |||||
| endphoneme | |||||
| phonemetable ml hi | phonemetable ml hi | ||||
| include ph_malayalam | include ph_malayalam | ||||
| phonemetable te hi | |||||
| include ph_telugu | |||||
| phonemetable hu base | phonemetable hu base | ||||
| //phonemetable dv hi | //phonemetable dv hi | ||||
| //include ph_divehi | //include ph_divehi | ||||
| //phonemetable te hi | |||||
| //include ph_telugu | |||||
| //phonemetable tn base | //phonemetable tn base | ||||
| //include ph_setswana | //include ph_setswana | ||||
| phlist[ix].length = option_wordgap*14; // 10mS per unit at the default speed | phlist[ix].length = option_wordgap*14; // 10mS per unit at the default speed | ||||
| } | } | ||||
| if(ph->type==phVOWEL || ph->type==phLIQUID || ph->type==phNASAL || ph->type==phVSTOP || ph->type==phVFRICATIVE) | |||||
| if(ph->type==phVOWEL || ph->type==phLIQUID || ph->type==phNASAL || ph->type==phVSTOP || ph->type==phVFRICATIVE || (ph->phflags & phPREVOICE)) | |||||
| { | { | ||||
| phlist[ix].length = 128; // length_mod | phlist[ix].length = 128; // length_mod | ||||
| phlist[ix].env = PITCHfall; | phlist[ix].env = PITCHfall; |
| #include "translate.h" | #include "translate.h" | ||||
| #include "wave.h" | #include "wave.h" | ||||
| const char *version_string = "1.47.03c 23.Mar.13"; | |||||
| const char *version_string = "1.47.03d 26.Mar.13"; | |||||
| const int version_phdata = 0x014701; | const int version_phdata = 0x014701; | ||||
| int option_device_number = -1; | int option_device_number = -1; |
| EndAmplitude(); | EndAmplitude(); | ||||
| if(p->prepause > 0) | |||||
| if((p->prepause > 0) && !(p->ph->phflags & phPREVOICE)) | |||||
| DoPause(p->prepause,1); | DoPause(p->prepause,1); | ||||
| done_phoneme_marker = 0; | done_phoneme_marker = 0; | ||||
| case phSTOP: | case phSTOP: | ||||
| released = 0; | released = 0; | ||||
| ph = p->ph; | |||||
| if(next->type==phVOWEL) | if(next->type==phVOWEL) | ||||
| { | { | ||||
| released = 1; | released = 1; | ||||
| if(released == 0) | if(released == 0) | ||||
| p->synthflags |= SFLAG_NEXT_PAUSE; | p->synthflags |= SFLAG_NEXT_PAUSE; | ||||
| if(ph->phflags & phPREVOICE) | |||||
| { | |||||
| // a period of voicing before the release | |||||
| memset(&fmtp, 0, sizeof(fmtp)); | |||||
| InterpretPhoneme(NULL, 0x01, p, &phdata, &worddata); | |||||
| fmtp.fmt_addr = phdata.sound_addr[pd_FMT]; | |||||
| fmtp.fmt_amp = phdata.sound_param[pd_FMT]; | |||||
| if(last_pitch_cmd < 0) | |||||
| { | |||||
| DoAmplitude(next->amp,NULL); | |||||
| DoPitch(envelope_data[p->env],next->pitch1,next->pitch2); | |||||
| } | |||||
| DoSpect2(ph, 0, &fmtp, p, 0); | |||||
| } | |||||
| InterpretPhoneme(NULL, 0, p, &phdata, &worddata); | InterpretPhoneme(NULL, 0, p, &phdata, &worddata); | ||||
| phdata.pd_control |= pd_DONTLENGTHEN; | phdata.pd_control |= pd_DONTLENGTHEN; | ||||
| DoSample3(&phdata, 0, 0); | DoSample3(&phdata, 0, 0); |
| {"_ar", OFFSET_ARABIC, 0x600, 0x6ff, 0, 0}, | {"_ar", OFFSET_ARABIC, 0x600, 0x6ff, 0, 0}, | ||||
| {"_dv", OFFSET_THAANA, 0x780, 0x7bf, 0, 0}, | {"_dv", OFFSET_THAANA, 0x780, 0x7bf, 0, 0}, | ||||
| {"_hi", OFFSET_DEVANAGARI, 0x900, 0x97f,L('h','i'), AL_WORDS}, | {"_hi", OFFSET_DEVANAGARI, 0x900, 0x97f,L('h','i'), AL_WORDS}, | ||||
| {"_bn", OFFSET_BENGALI, 0x0980, 0x9ff, 0, 0}, | |||||
| {"_bn", OFFSET_BENGALI, 0x0980, 0x9ff, L('b','n'), 0}, | |||||
| {"_gur", OFFSET_GURMUKHI, 0xa00, 0xa7f, L('p','a'), AL_WORDS}, | {"_gur", OFFSET_GURMUKHI, 0xa00, 0xa7f, L('p','a'), AL_WORDS}, | ||||
| {"_gu", OFFSET_GUJARATI, 0xa80, 0xaff, 0, 0}, | {"_gu", OFFSET_GUJARATI, 0xa80, 0xaff, 0, 0}, | ||||
| {"_or", OFFSET_ORIYA, 0xb00, 0xb7f, 0, 0}, | {"_or", OFFSET_ORIYA, 0xb00, 0xb7f, 0, 0}, |
| // which directory to look for a named voice. List of voice names, must end in a space. | // which directory to look for a named voice. List of voice names, must end in a space. | ||||
| static const char *voices_asia = | static const char *voices_asia = | ||||
| "fa fa-pin hi hy hy-west id ka kn ku ml ms ne pa ta tr vi vi-hue zh zh-yue "; | |||||
| "bn fa fa-pin hi hy hy-west id ka kn ku ml ms ne pa ta te tr vi vi-hue zh zh-yue "; | |||||
| static const char *voices_europe = | static const char *voices_europe = | ||||
| "an bg bs ca cs cy da de el en en-us es et fi fr fr-be ga hr hu is it lt lv mk nl no pl pt-pt ro ru sk sq sr sv "; | "an bg bs ca cs cy da de el en en-us es et fi fr fr-be ga hr hu is it lt lv mk nl no pl pt-pt ro ru sk sq sr sv "; | ||||