Fix Mbrola translation for nl2 (phoneme [w]) and de4 (phoneme [?]). Fix bug, lang=tr, letter capital-I-dot not recognized on Windows. Only use "sonic" speed-up above 450wpm. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@258 d46cf337-b52f-0410-862d-fd96e6ae7743master
_14 'fIrtse:n | _14 'fIrtse:n | ||||
_15 'fynftse:n | _15 'fynftse:n | ||||
_16 'zECtse:n | _16 'zECtse:n | ||||
_17 'zi:btse:n | |||||
_17 'zi:ptse:n | |||||
_18 '_axtse:n | _18 '_axtse:n | ||||
_19 'nOYntse:n | _19 'nOYntse:n | ||||
_2X 'tsvantsIC | _2X 'tsvantsIC | ||||
_4X 'fIrtsIC | _4X 'fIrtsIC | ||||
_5X 'fynftsIC | _5X 'fynftsIC | ||||
_6X 'zECtsIC | _6X 'zECtsIC | ||||
_7X 'zi:btsIC | |||||
_7X 'zi:ptsIC | |||||
_8X '_axtsIC | _8X '_axtsIC | ||||
_9X 'nOYntsIC | _9X 'nOYntsIC | ||||
_0C 'hUnd3t | _0C 'hUnd3t |
// ***************************************************************************/ | // ***************************************************************************/ | ||||
.L01 l r | .L01 l r | ||||
.L02 c f h k p q s t // unvoiced, except s+vowel | |||||
.L02 c f h k p q s t z // unvoiced, except s+vowel | |||||
// This file is UTF-8 encoded | // This file is UTF-8 encoded | ||||
_) ge (imp g@ | _) ge (imp g@ | ||||
ge (mach g@ | ge (mach g@ | ||||
ge (mal g@ | ge (mal g@ | ||||
_) ge (mK gE | |||||
_) ge (nK gE | |||||
ge (tr g@ | ge (tr g@ | ||||
general ge:nEr'al | general ge:nEr'al | ||||
general (is ge:n@ral | general (is ge:n@ral |
s2 t t2 tS ts v z Z | s2 t t2 tS ts v z Z | ||||
Dictionary de_dict 2011-03-13 | |||||
Dictionary de_dict 2011-03-14 | |||||
3 3: @ @- a A A: aI | 3 3: @ @- a A A: aI | ||||
aU A~ e E E2 E: e: EI | aU A~ e E E2 E: e: EI | ||||
z; Z; | z; Z; | ||||
Dictionary ru_dict 2011-03-10 | |||||
Dictionary ru_dict 2011-03-14 | |||||
8 @- a A e E E# E% | 8 @- a A e E E# E% | ||||
E2 i I I# I3 I^ ja ju | E2 i I I# I3 I^ ja ju | ||||
v w x z | v w x z | ||||
Dictionary sl_dict 2010-08-14 | |||||
Dictionary sl_dict 2011-03-14 | |||||
@ a a: e E e: i i: | @ a a: e E e: i i: | ||||
o O o: u u: y | o O o: u u: y | ||||
Z | Z | ||||
Dictionary kn_dict 2011-03-11 | |||||
Dictionary kn_dict 2011-03-14 | |||||
a a: aI aU e E e: i | a a: aI aU e E e: i | ||||
I i: o o: r- u u: | I i: o o: r- u u: | ||||
v w x X z | v w x X z | ||||
Dictionary te_dict 2011-02-08 | |||||
Dictionary te_dict 2011-03-14 | |||||
a a: aI aU e E e: i | a a: aI aU e E e: i | ||||
i: l- o o: r- u u: V | i: l- o o: r- u u: V |
// translation rules for Georgian | |||||
// This file is UTF-8 encoded | |||||
_0 n'uli | |||||
_1 'ert#i | |||||
_2 'ori | |||||
_3 s'ami | |||||
_4 'ot#xi | |||||
_5 x'ut#i | |||||
_6 'ek#vsi | |||||
_7 Sv'idi | |||||
_8 rv'a | |||||
_9 ts#xr'a | |||||
_0a n'ul | |||||
_1a 'ert# | |||||
_2a 'or | |||||
_3a s'am | |||||
_4a 'ot#x | |||||
_5a x'ut# | |||||
_6a 'ek#vs | |||||
_7a Sv'id | |||||
_10 'at#i | |||||
_11 t#'ert#meti | |||||
_12 t#'ormeti | |||||
_13 ts#'ameti | |||||
_14 t#'ot#xmeti | |||||
_15 t#x'ut#meti | |||||
_16 t#'ek#vsmeti | |||||
_17 tSv'idmeti | |||||
_18 t#vr'ameti | |||||
_19 ts#xr'ameti | |||||
_10a 'at# | |||||
_11a t#'ert#met | |||||
_12a t#'ormet | |||||
_13a ts#'amet | |||||
_14a t#'ot#xmet | |||||
_15a t#x'ut#met | |||||
_16a t#'ek#vsmet | |||||
_17a tSv'idmet | |||||
_18a t#vr'amet | |||||
_19a ts#xr'amet | |||||
_20 'ots#i | |||||
_20a 'ots# | |||||
_2X 'ots# | |||||
_40 'ormotsi | |||||
_40a 'ormots | |||||
_4X 'ormots | |||||
_60 s'amotsi | |||||
_60a s'amots | |||||
_6X s'amots | |||||
_80 'ot#xotsi | |||||
_80a 'ot#xots | |||||
_8X 'ot#xots | |||||
_0C0 asi | |||||
_0C as | |||||
_0M1 'at#asi | |||||
_0M2 m'ilioni | |||||
_0and d%a | |||||
_dpt mt#eli_ | |||||
_0Z1 me'at#edi | |||||
_0Z2 me'asedi | |||||
_0Z3 me'at#asedi | |||||
_0Z4 me'at#iat#asedi | |||||
_0Z5 me'asiat#asedi | |||||
_0Z6 mem'ilionedi | |||||
// letter and symbol names | |||||
ა a | |||||
_ე e | |||||
ი i | |||||
ო o | |||||
უ u | |||||
ბ b'@ | |||||
გ g'@ | |||||
დ d'@ | |||||
ვ v'@ | |||||
ზ z'@ | |||||
თ t#'@ | |||||
კ k'@ | |||||
ლ l'@ | |||||
მ m'@ | |||||
ნ n'@ | |||||
პ p'@ | |||||
ჟ Z'@ | |||||
რ r'@ | |||||
ს s'@ | |||||
ტ t'@ | |||||
ფ p#'@ | |||||
ქ k#'@ | |||||
ღ Q'@ | |||||
ყ q'@ | |||||
შ S'@ | |||||
ჩ tS'@ | |||||
ც ts#'@ | |||||
ძ dz'@ | |||||
წ ts'@ | |||||
ჭ c'@ | |||||
ხ x'@ | |||||
ჯ dZ'@ | |||||
ჰ h'@ | |||||
ჱ he | |||||
ჲ hie | |||||
ჳ vie | |||||
ჴ har | |||||
ჵ hoe | |||||
ჶ fi | |||||
ჷ shva | |||||
ჸ elifi | |||||
უ unbrigu | |||||
% prots#enti $max3 | |||||
+ pliusi $max3 | |||||
= toloba $max3 | |||||
* varvskvlavi $max3 | |||||
@ dzaQluka | |||||
& da | |||||
# n'omeri $max3 | |||||
! dz'axilis||n,iSani | |||||
_? k'it#xvis||n,iSani | |||||
. tsertili | |||||
_- tire | |||||
_: ortsertili | |||||
_; tsertilmdzime | |||||
_, mdzime | |||||
_" br@-cqali | |||||
_> metoba | |||||
_< nakleboba | |||||
_' apostrofi | |||||
_` ukuQma||apostrofi | |||||
_( m'arts#xena||p#'igur,uli||p#r@-tSx'ili | |||||
_) m'ardZvena||p#'igur,uli||p#r@-tSx'ili | |||||
_[ m'arts#xena||kv'adrat,uli||p#r@-tSx'ili | |||||
_] m'ardZvena||p#'igur,uli||p#r@-tSx'ili | |||||
_( m'arts#xena||mr@-gv'ali||p#r@-tSx'ili | |||||
_) m'ardZvena||mr@-gv'ali||p#r@-tSx'ili | |||||
/ m'arts#xniv||d'axrili||x'azi $max3 | |||||
\ m'ardZvniv||d'axrili||x'azi $max3 | |||||
// abbreviations | |||||
(http ://) 'ejtStitiphi_ | |||||
// common function words | |||||
და $u $brk |
// translation rules for Georgian | |||||
// This file is UTF-8 encoded | |||||
// all words lower case | |||||
.group ა | |||||
ა a | |||||
-) ა (_ %a | |||||
.group ბ | |||||
ბ b | |||||
.group გ | |||||
გ g | |||||
.group დ | |||||
დ d | |||||
.group ე | |||||
ე e | |||||
-) ე (_ %e | |||||
.group ვ | |||||
ვ v | |||||
.group ზ | |||||
ზ z | |||||
.group თ | |||||
თ t# | |||||
.group ი | |||||
ი i | |||||
-) ი (_ %i | |||||
.group კ | |||||
კ k | |||||
.group ლ | |||||
ლ l | |||||
.group მ | |||||
მ m | |||||
.group ნ | |||||
ნ n | |||||
.group ო | |||||
ო o | |||||
-) ო (_ %o | |||||
.group პ | |||||
პ p | |||||
.group ჟ | |||||
ჟ Z | |||||
.group რ | |||||
რ r | |||||
K) რ (CC r@- | |||||
.group ს | |||||
ს s | |||||
.group ტ | |||||
ტ t | |||||
.group უ | |||||
უ u | |||||
-) უ (_ %u | |||||
.group ფ | |||||
ფ p# | |||||
.group ქ | |||||
ქ k# | |||||
.group ღ | |||||
ღ Q | |||||
.group ყ | |||||
ყ q | |||||
.group შ | |||||
შ S | |||||
.group ჩ | |||||
ჩ tS | |||||
.group ც | |||||
ც ts# | |||||
.group ძ | |||||
ძ dz | |||||
.group წ | |||||
წ ts | |||||
.group ჭ | |||||
ჭ c | |||||
.group ხ | |||||
ხ x | |||||
.group ჯ | |||||
ჯ dZ | |||||
.group ჰ | |||||
ჰ h | |||||
.group ჱ | |||||
ჱ ej | |||||
.group ჲ | |||||
ჲ j | |||||
.group ჳ | |||||
ჳ w | |||||
.group ჴ | |||||
ჴ x | |||||
.group ჵ | |||||
ჵ o: | |||||
.group ჶ | |||||
ჶ f | |||||
.group ჷ | |||||
ჷ @ | |||||
.group ჸ | |||||
ჸ ? | |||||
.group ჹ | |||||
ჹ | |||||
.group ჺ | |||||
ჺ | |||||
// For cyrillic characters (U+0400 to U+04FF) use Russian voice | |||||
.group 0xd0 | |||||
\320 _^_RU | |||||
.group 0xd1 | |||||
\321 _^_RU | |||||
.group 0xd2 | |||||
\322 _^_RU | |||||
.group 0xd3 | |||||
\323 _^_RU | |||||
.group | |||||
$ dolari |
// This file is UTF8 encoded | |||||
// Spelling to phoneme words and exceptions for Kannada | |||||
// letter names (consonants) | |||||
// speak Latin letters as English | |||||
a e:j | |||||
b bi: | |||||
c si: | |||||
d di: | |||||
e i: | |||||
f Ef | |||||
g dZi: | |||||
h e:tS | |||||
i a:j | |||||
j dZe:j | |||||
k ke:j | |||||
l El | |||||
m Em | |||||
n En | |||||
o o: | |||||
p pi: | |||||
q kju: | |||||
r a:r | |||||
s Es | |||||
t thi: | |||||
u ju: | |||||
v vi: | |||||
w dabalju: | |||||
x Eks | |||||
y wa:j | |||||
z zEd | |||||
_?? aks.ara // 'unknown character' | |||||
// letter names | |||||
ಕ್ ik | |||||
ಖ್ ikh | |||||
ಗ್ ig | |||||
ಘ್ igh | |||||
ಙ್ iN | |||||
ಚ್ ic | |||||
ಛ್ ich | |||||
ಜ್ iJ | |||||
ಝ್ iJh | |||||
ಞ್ in^ | |||||
ಟ್ it. | |||||
ಠ್ ith. | |||||
ಡ್ id. | |||||
ಢ್ idh. | |||||
ಣ್ in. | |||||
ತ್ it | |||||
ಥ್ ith | |||||
ದ್ id | |||||
ಧ್ id. | |||||
ನ್ in | |||||
ಪ್ ip | |||||
ಫ್ iph | |||||
ಬ್ ib | |||||
ಭ್ ibh | |||||
ಮ್ im | |||||
ಯ್ ij | |||||
ರ್ ir | |||||
ಱ್ ir | |||||
ಲ್ il | |||||
ಳ್ il. | |||||
ವ್ iv | |||||
ಶ್ iS; | |||||
ಷ್ is. | |||||
ಸ್ is | |||||
ಹ್ ih | |||||
ೞ್ if | |||||
U+c82 am | |||||
U+c83 ah | |||||
U+cbc nukta | |||||
U+cbd avagraha | |||||
U+ccd vattu | |||||
// combining vowels, precede by a click so they can be distinguished from stand-alone vowels | |||||
ಾ #X2a:: | |||||
ಿ #X1i | |||||
ೀ #X2i:: | |||||
ು #X1u | |||||
ೂ #X2u:: | |||||
ೃ #X1ru | |||||
ೄ #X2r-: | |||||
ೆ #X1e | |||||
ೇ #X2e:: | |||||
ೈ #X2aI | |||||
ೊ #X1o | |||||
ೋ #X2o:: | |||||
ೌ #X2aU | |||||
// symbols | |||||
% pratis.ata | |||||
! a:scharjachinhe | |||||
_? aks.ara | |||||
. pu:rn.avira:ma | |||||
, alpavira:ma | |||||
¼ ka:lu | |||||
½ ardha | |||||
¾ mukka:lu | |||||
(1 / 2) ardha | |||||
(1 / 4) ka:lu | |||||
(3 / 4) mukka:lu | |||||
÷ bha:ga:ka:ra | |||||
& mattu | |||||
// numbers | |||||
_0 s'onne | |||||
_1 'ondu | |||||
_2 'erad.u | |||||
_3 m'u:ru | |||||
_4 n'a:lku | |||||
_5 'aIdu | |||||
_6 'a:ru | |||||
_7 'e:l.u | |||||
_8 'ent.u | |||||
_9 'ombath:u | |||||
_1X h'ath:u | |||||
_11 hann'ondu | |||||
_12 han:erad.u | |||||
_13 hadim'u:ru | |||||
_14 hadin'a:lku | |||||
_15 hadinaIdu | |||||
_16 hadina:ru | |||||
_17 hadin'e:l.u | |||||
_18 hadin'ent.u | |||||
_19 ha'th:'ombath:u | |||||
_2X Ip:ath:u | |||||
_21 'Ip:a'th:ondu | |||||
_22 Ip:a'th:erad.u | |||||
_23 Ip:a'th:m'u:ru | |||||
_24 Ip:a'th:n'a:lku | |||||
_25 Ip:a'th:'aIdu | |||||
_26 Ip:a'th:a:ru | |||||
_27 Ip:a'th:e:l.u | |||||
_28 Ip:a'th:ent.u | |||||
_29 Ip:a'th:ombath:u | |||||
_3X m'ovath:u | |||||
_31 m'ovath:ondu | |||||
_32 m'ovatherad.u | |||||
_33 m'ovathm'u:ru | |||||
_34 m'ovathn'a:lku | |||||
_35 m'ovath'aIdu | |||||
_36 m'ovatha:ru | |||||
_37 m'ovathe:l.u | |||||
_38 m'ovathent.u | |||||
_39 m'ovathombath:u | |||||
_4X n'alavath:u | |||||
_41 n'alavath:ondu | |||||
_42 n'alavatherad.u | |||||
_43 n'alavathm'u:ru | |||||
_44 n'alavathn'a:lku | |||||
_45 n'alavathaIdu | |||||
_46 n'alavatha:ru | |||||
_47 n'alavathe:l.u | |||||
_48 n'alavathent.u | |||||
_49 n'alavathombath:u | |||||
_5X 'aIvath:u | |||||
_51 aIvath:ondu | |||||
_52 aIvatherad.u | |||||
_53 aIvathm'u:ru | |||||
_54 aIvathn'a:lku | |||||
_55 aIvath'aIdu | |||||
_56 aIvatha:ru | |||||
_57 aIvathe:l.u | |||||
_58 aIvathent.u | |||||
_59 aIvathombath:u | |||||
_6X 'aravath:u | |||||
_61 aravath:ondu | |||||
_62 aravatherad.u | |||||
_63 aravathm'u:ru | |||||
_64 aravathn'a:lku | |||||
_65 aravathaIdu | |||||
_66 aravatha:ru | |||||
_67 aravathe:l.u | |||||
_68 aravathent.u | |||||
_69 aravathombath:u | |||||
_7X 'Ep:ath:u | |||||
_71 Ep:ath:ondu | |||||
_72 Ep:atherad.u | |||||
_73 Ep:athm'u:ru | |||||
_74 Ep:athn'a:lku | |||||
_75 Ep:athaIdu | |||||
_76 Ep:atha:ru | |||||
_77 Ep:athe:l.u | |||||
_78 Ep:athent.u | |||||
_79 Ep:athombath:u | |||||
_8X 'Embath:u | |||||
_81 Embath:ondu | |||||
_82 Embatherad.u | |||||
_83 Embathm'u:ru | |||||
_84 Embathn'a:lku | |||||
_85 EmbathaIdu | |||||
_86 Embatha:ru | |||||
_87 Embathe:l.u | |||||
_88 Embathent.u | |||||
_89 Embathombath:u | |||||
_9X th'ombath:u | |||||
_91 th'ombath:ondu | |||||
_92 th'ombath:erad.u | |||||
_93 th'ombathm'u:ru | |||||
_94 th'ombathn'a:lku | |||||
_95 th'ombathaIdu | |||||
_96 th'ombatha:ru | |||||
_97 th'ombathe:l.u | |||||
_98 th'ombathent.u | |||||
_99 th'ombathombath:u | |||||
_0C0 n'u:ru | |||||
_1C0 nu:ru | |||||
_2C0 'innu:ru | |||||
_3C0 m'unnu:ru | |||||
_5C0 'aInu:ru | |||||
_9C0 ombainu:ru | |||||
_0C n'u:ra: | |||||
_1C nu:ra: | |||||
_2C 'innu:ra: | |||||
_3C m'unnu:ra: | |||||
_5C 'aInu:ra: | |||||
_9C ombainu:ra: | |||||
_0M1 s'a:virada | |||||
_0M1x s'a:vira | |||||
_0M2x l'akSa // 100,000 | |||||
_0M2 l'akSada | |||||
_0M3 k'oti // 100,00,000 | |||||
_0M4 b'ilion // ?? English | |||||
_dpt _d'as.a:ms.a | |||||
// abbreviations | |||||
(http ://) e:tSti:ti:'pi:_ | |||||
// unstressed words | |||||
ಅದು $u // that | |||||
ಅದರ $u // that, possessive | |||||
ಅವು $u // those | |||||
ಅವುಗಳ $u // those, possessive | |||||
ಇದು $u // it/this | |||||
ಇದರ $u // it/this, possessive | |||||
ಇವು $u // these | |||||
ಇವುಗಳ $u // these, possessive | |||||
ನಾನು $u // I | |||||
ನನ್ನ $u // my | |||||
ನಾವು $u // we | |||||
ನಮ್ಮ $u // our | |||||
ನೀನು $u // you | |||||
ನಿನ್ನ $u // your | |||||
ನೀವು $u // you (formal) | |||||
ನಿಮ್ಮ $u // your (formal) | |||||
ಅವರು $u // they | |||||
ಅವರ $u // their | |||||
ಇವರು $u // they | |||||
ಇವರ $u // their | |||||
ಅವನು $u // he | |||||
ಅವನ $u // his | |||||
ಇವನು $u // he | |||||
ಇವನ $u // his | |||||
ತಾವು $u // you (more formal), (also used to indicate self) | |||||
ತಮ್ಮ $u // (possessive form of the above) also means (his/her own) | |||||
ಅವಳು $u // she | |||||
ಅವಳ $u // her | |||||
ಇವಳು $u // she | |||||
ಇವಳ $u // her | |||||
ಕೆಲವು $u // few | |||||
ಹಲವು $u // many | |||||
ಅನೇಕ $u // several | |||||
ಇತರ $u // other | |||||
ಮತ್ತು $u $pause // and | |||||
ಆದರೆ $u $pause // but | |||||
ಆದ್ದರಿಂದ $u $pause // so, therefore. | |||||
ಆದಾಗ್ಯೂ $u $pause // though | |||||
ಈ $u+ // [i:] (this) $u+ so it's stressed if it's by itself, as a letter name | |||||
ಆ $u+ // [a:] (that) | |||||
ಇಂದ $u // from | |||||
ಯಾವುದು $u // which | |||||
ಯಾವುದೇ $u // whichever (adding the "ಏ" in the end of the word, indicates ever) | |||||
ಈಗ $u // now. | |||||
// ಕ್ಕೆ, ಗೆ, ಗ್ಗೆ to (note: these do not come independently, means they come as a part of the word in the end) | |||||
// ದ (adds the possession to words [postfix]) |
// This file is UTF8 encoded | |||||
// Spelling to phoneme rules for Kannada | |||||
// A means vowel letters (not vowel signs) | |||||
// B means a combining vowel sign or a virama | |||||
.replace | |||||
೦ 0 // Convert Kannada numbers | |||||
೧ 1 | |||||
೨ 2 | |||||
೩ 3 | |||||
೪ 4 | |||||
೫ 5 | |||||
೬ 6 | |||||
೭ 7 | |||||
೮ 8 | |||||
೯ 9 | |||||
.group ಕ | |||||
ಕ ka | |||||
ಕ (B k | |||||
.group ಖ | |||||
ಖ kha | |||||
ಖ (B kh | |||||
.group ಗ | |||||
ಗ ga | |||||
ಗ (B g | |||||
.group ಘ | |||||
ಘ gha | |||||
ಘ (B gh | |||||
.group ಙ | |||||
ಙ Na | |||||
ಙ (B N | |||||
.group ಚ | |||||
ಚ ca | |||||
ಚ (B c | |||||
.group ಛ | |||||
ಛ cha | |||||
ಛ (B ch | |||||
.group ಜ | |||||
ಜ Ja | |||||
ಜ (B J | |||||
.group ಝ | |||||
ಝ Jha | |||||
ಝ (B Jh | |||||
.group ಞ | |||||
ಞ n^a | |||||
ಞ (B n^ | |||||
.group ಟ | |||||
ಟ t.a | |||||
ಟ (B t. | |||||
.group ಠ | |||||
ಠ th.a | |||||
ಠ (B th. | |||||
.group ಡ | |||||
ಡ d.a | |||||
ಡ (B d. | |||||
.group ಢ | |||||
ಢ dh.a | |||||
ಢ (B dh. | |||||
.group ಣ | |||||
ಣ n.a | |||||
ಣ (B n. | |||||
.group ತ | |||||
ತ ta | |||||
ತ (B t | |||||
.group ಥ | |||||
ಥ tha | |||||
ಥ (B th | |||||
.group ದ | |||||
ದ da | |||||
ದ (B d | |||||
.group ಧ | |||||
ಧ dha | |||||
ಧ (B dh | |||||
.group ನ | |||||
ನ na | |||||
ನ (B n | |||||
.group ಪ | |||||
ಪ pa | |||||
ಪ (B p | |||||
.group ಫ | |||||
ಫ pha | |||||
ಫ (B ph | |||||
.group ಬ | |||||
ಬ ba | |||||
ಬ (B b | |||||
.group ಭ | |||||
ಭ bha | |||||
ಭ (B bh | |||||
.group ಮ | |||||
ಮ ma | |||||
ಮ (B m | |||||
.group ಯ | |||||
ಯ ja | |||||
ಯ (B j | |||||
.group ರ | |||||
ರ ra | |||||
ರ (B r | |||||
.group ಱ | |||||
ಱ ra | |||||
ಱ (B r | |||||
.group ಲ | |||||
ಲ la | |||||
ಲ (B l | |||||
.group ಳ | |||||
ಳ l.a | |||||
ಳ (B l. | |||||
.group ವ | |||||
ವ va | |||||
ವ (B v | |||||
.group ಶ | |||||
ಶ S;a | |||||
ಶ (B S; | |||||
.group ಷ | |||||
ಷ s.a | |||||
ಷ (B s. | |||||
.group ಸ | |||||
ಸ sa | |||||
ಸ (B s | |||||
.group ಹ | |||||
ಹ ha | |||||
ಹ (B h | |||||
.group ೞ | |||||
ೞ fa | |||||
ೞ (B f | |||||
.group ೠ | |||||
ೠ r- | |||||
// Stand-alone vowels | |||||
.group ಅ | |||||
ಅ a | |||||
.group ಆ | |||||
ಆ a: | |||||
.group ಇ | |||||
ಇ i | |||||
.group ಈ | |||||
ಈ i: | |||||
.group ಉ | |||||
ಉ u | |||||
.group ಊ | |||||
ಊ u: | |||||
.group ಋ | |||||
ಋ ru | |||||
.group ಎ | |||||
ಎ e | |||||
.group ಏ | |||||
ಏ e: | |||||
.group ಐ | |||||
ಐ aI | |||||
.group ಒ | |||||
ಒ o | |||||
.group ಓ | |||||
ಓ o: | |||||
.group ಔ | |||||
ಔ aU | |||||
.group 0xe0b2 // characters which start with UTF-8 bytes: [e0 b2] | |||||
ಂ m // anusvara (this should nasalize the vowel) | |||||
ಃ h // visarga | |||||
// combining vowel signs | |||||
ಾ a: | |||||
ಿ i | |||||
.group 0xe0b3 // characters which start with UTF-8 bytes: [e0 b3] | |||||
ೀ i: | |||||
ು u | |||||
ೂ u: | |||||
ೃ ru | |||||
ೄ r-: | |||||
ೆ e | |||||
ೇ e: | |||||
ೈ aI | |||||
ೊ o | |||||
ೋ o: | |||||
ೌ aU | |||||
್ // virama | |||||
// ್ (C y // virama+consonant, insert epenthetic vowel | |||||
ೕ : // length mark ?? | |||||
ೖ : // ai length mark ?? | |||||
.group 0xe0a4 // devanagari | |||||
\340\244 _^_HI // switch to hindi voice for devanagari characters | |||||
.group 0xe0a5 // devanagari | |||||
\340\245 _^_HI | |||||
.group | |||||
$ do:l.ar | |||||
// This file is UTF8 encoded | |||||
// Spelling to phoneme words for Nahuatl. | |||||
// Note: initial/final "." has already been removed | |||||
// numeric | |||||
//_0 zero $text // TEST | |||||
_0 a?tle | |||||
_1 se: | |||||
_2 O:me | |||||
_3 e:ji | |||||
_4 na:wi | |||||
_5 ma:kwi:lli | |||||
_6 tSikwase: | |||||
_7 tSicO:me | |||||
_8 tSiwke:ji | |||||
_9 tSiwkna:wi | |||||
_10 ma?tlaktli | |||||
_1X ma?tlaktlion | |||||
_20 sempO:walli | |||||
_2X sempO:wallion | |||||
_30 sempO:walliomma?tlaktli | |||||
_3X sempO:walliomma?tlaktlion |
// translation rules for Classical Nahuatl | |||||
// This file is UTF-8 encoded | |||||
.L01 e ē i ī // letter group for front vowels | |||||
.group a | |||||
a a | |||||
.group ā | |||||
ā a: | |||||
.group c | |||||
c k | |||||
c (L01 s | |||||
ch tS | |||||
cu kw | |||||
.group e | |||||
e e | |||||
.group ē | |||||
ē e: | |||||
ē (_ 'e: // vocative, stress in final vowel | |||||
.group h | |||||
h ? | |||||
hu w | |||||
.group i | |||||
i i | |||||
.group ī | |||||
ī i: | |||||
.group l | |||||
l l | |||||
.group m | |||||
m m | |||||
.group n | |||||
n n | |||||
.group o | |||||
o o | |||||
.group ō | |||||
ō o: | |||||
.group p | |||||
p p | |||||
.group q | |||||
qu k | |||||
.group t | |||||
t t | |||||
.group u | |||||
u o | |||||
u (A w | |||||
uc wk | |||||
uq k | |||||
uh w | |||||
.group x | |||||
x S | |||||
.group y | |||||
y j | |||||
.group z | |||||
z s | |||||
.group | |||||
b b | |||||
d d | |||||
f f | |||||
g g | |||||
j x | |||||
k k | |||||
r R | |||||
s s | |||||
v v | |||||
w w | |||||
ç s | |||||
# _: |
_) கி (ரீன்லாந்த g | _) கி (ரீன்லாந்த g | ||||
_) கி (ரீம k | _) கி (ரீம k | ||||
_) க (ிரீஷ g | _) க (ிரீஷ g | ||||
_) கி (ரீஸ g | |||||
_) க (ிருகஸ்தர g | _) க (ிருகஸ்தர g | ||||
_) க (ிருகிரு g | _) க (ிருகிரு g | ||||
_) க (ிருஹஸ்தர g | _) க (ிருஹஸ்தர g | ||||
சு (வாதீன s | சு (வாதீன s | ||||
சு (வாமி s | சு (வாமி s | ||||
_) சுவாரசி (ய sva:rVs | _) சுவாரசி (ய sva:rVs | ||||
அ) சுவாரசி (ய sva:rVs | |||||
சு (வாரஸ்ய s | சு (வாரஸ்ய s | ||||
_) சு (விட்ச s | _) சு (விட்ச s | ||||
_) சு (வீட s | _) சு (வீட s | ||||
இண்டர்மீடியே) ட t.V# | இண்டர்மீடியே) ட t.V# | ||||
_) ட (க்கர t.V | _) ட (க்கர t.V | ||||
ங்) ட (ன t.V // -ington | ங்) ட (ன t.V // -ington | ||||
_நியூ) ட (ன t.V | |||||
_மில்) ட (ன t.V | _மில்) ட (ன t.V | ||||
_) ட (ன் t.V | _) ட (ன் t.V | ||||
_) ட (ப்_ t.V | _) ட (ப்_ t.V | ||||
_) ட (ிப்ஸ t. | _) ட (ிப்ஸ t. | ||||
_) டி (யூசன t. | _) டி (யூசன t. | ||||
_) டியூட (ி d.jU:t. | _) டியூட (ி d.jU:t. | ||||
_) டி (யூன t. | |||||
_) டி (யூஷன t. | _) டி (யூஷன t. | ||||
_) டி (ரங் t. | _) டி (ரங் t. | ||||
_) டி (ரங்கு t. | _) டி (ரங்கு t. | ||||
_ரெ) ட்ட (ியா d.d. | _ரெ) ட்ட (ியா d.d. | ||||
இ) ட்ட (ிலி d.d. | இ) ட்ட (ிலி d.d. | ||||
அப்பாயிண்) ட்மெண்ட t.men.t.V# | அப்பாயிண்) ட்மெண்ட t.men.t.V# | ||||
_) ட் (யூசன t. | |||||
_) ட் (யூன t. | |||||
ஸ்) ட் (ர _|t. // ?? make t. distinct | ஸ்) ட் (ர _|t. // ?? make t. distinct | ||||
_) ட் (ரங் t. | _) ட் (ரங் t. | ||||
_) ட் (ரங்கு t. | _) ட் (ரங்கு t. | ||||
ந nV | ந nV | ||||
ந (B n // dental n | ந (B n // dental n | ||||
_) நி (யாய n | _) நி (யாய n | ||||
_) நி (யூ n | |||||
.group ன | .group ன | ||||
திரௌ) ப (தி pV | திரௌ) ப (தி pV | ||||
பிரஜா) பத (ி pVt | பிரஜா) பத (ி pVt | ||||
மகுட) பதி pVti | மகுட) பதி pVti | ||||
அலோ) ப (தி pV | |||||
பிரகஸ்) பதி pVti | பிரகஸ்) பதி pVti | ||||
லக்ஷ்மி) பதி pVti | லக்ஷ்மி) பதி pVti | ||||
வித்யா) பதி pVti | வித்யா) பதி pVti | ||||
_ராஷ்டிர) ப (தி pV | _ராஷ்டிர) ப (தி pV | ||||
அம்பிகா) பதி pVti | அம்பிகா) பதி pVti | ||||
இராஷ்டிர) ப (தி pV | இராஷ்டிர) ப (தி pV | ||||
மியோ) ப (தி pV | |||||
வளையா) பதி pVti | வளையா) பதி pVti | ||||
வேங்கட) பதி pVti | வேங்கட) பதி pVti | ||||
_புகு) ப (திகை pV | _புகு) ப (திகை pV |
<p> | <p> | ||||
<dt> | <dt> | ||||
<strong>en-sc</strong><br> | <strong>en-sc</strong><br> | ||||
<dd> Scottish English. | |||||
<dd> English with a Scottish accent. | |||||
<p> | <p> | ||||
<dt> | <dt> | ||||
<strong>en-n<br> | <strong>en-n<br> | ||||
<p> | <p> | ||||
Alternatively there are some preset voice variants which can be applied to any of the language voices, by appending <code>+</code> and a variant name. Their effects are defined by files in <code>espeak-data/voices/!v</code>. | Alternatively there are some preset voice variants which can be applied to any of the language voices, by appending <code>+</code> and a variant name. Their effects are defined by files in <code>espeak-data/voices/!v</code>. | ||||
<p> | <p> | ||||
The variants are <code> +m1 +m2 +m3 +m4 +m5 </code> for male voices, <code> +f1 +f2 +f3 +f4 </code> for female voices, and <code> +croak +wisper</code> for other effects. For example: | |||||
The variants are <code> +m1 +m2 +m3 +m4 +m5 +m6 +m7</code> for male voices, <code> +f1 +f2 +f3 +f4 +f5 </code> for female voices, and <code> +croak +whisper</code> for other effects. For example: | |||||
<pre> espeak -ven+m3</pre> | <pre> espeak -ven+m3</pre> | ||||
The available voice variants can be listed with:<br> | The available voice variants can be listed with:<br> | ||||
<pre> espeak --voices=variant</pre> | <pre> espeak --voices=variant</pre> | ||||
</dd> | </dd> | ||||
<p> | <p> | ||||
<dt> | <dt> | ||||
<strong>da Danish</strong><br> | |||||
<dd>Usable. | |||||
</dd> | |||||
<p> | |||||
<dt> | |||||
<strong>de German</strong><br> | <strong>de German</strong><br> | ||||
<dd>This has improved from easlier versions. A problem is stress placement (which like English is irregular), prosody, and the use of compound words where correct detection of the sub-word boundaries would probably be needed for accurate pronunciation. | <dd>This has improved from easlier versions. A problem is stress placement (which like English is irregular), prosody, and the use of compound words where correct detection of the sub-word boundaries would probably be needed for accurate pronunciation. | ||||
</dd> | </dd> | ||||
<dd>This has had some feedback from a native speaker but more work is needed. Spelling is fairly regular, but stress marks and vowel accents are often omitted from text, so for some words the dictionary/exceptions list will need to determine the stress position or whether to use open/close [e] or [E] and [o] or [O].</dd> | <dd>This has had some feedback from a native speaker but more work is needed. Spelling is fairly regular, but stress marks and vowel accents are often omitted from text, so for some words the dictionary/exceptions list will need to determine the stress position or whether to use open/close [e] or [E] and [o] or [O].</dd> | ||||
<p> | <p> | ||||
<dt> | <dt> | ||||
<strong>kn Kannada</strong><br> | |||||
<dd>Not much feedback yet, but I'm told that it sounds reasonable. | |||||
</dd> | |||||
<p> | |||||
<dt> | |||||
<strong>ku Kurdish</strong><br> | <strong>ku Kurdish</strong><br> | ||||
<dd> | <dd> | ||||
Not much work yet, but Kurdish has good spelling rules so it should be OK. | Not much work yet, but Kurdish has good spelling rules so it should be OK. | ||||
</dd> | </dd> | ||||
<p> | <p> | ||||
<dt> | <dt> | ||||
<strong>nl Dutch</strong><br> | |||||
<dd>Needs improvement of the spelling-to-phoneme rules. | |||||
</dd> | |||||
<p> | |||||
<dt> | |||||
<strong>pl Polish</strong><br> | <strong>pl Polish</strong><br> | ||||
<dd> | <dd> | ||||
Usable. | Usable. | ||||
<p> | <p> | ||||
<dt> | <dt> | ||||
<strong>sk Slovak</strong><br> | <strong>sk Slovak</strong><br> | ||||
<dd>This has had assistance from a nativ speaker, so it should be OK. | |||||
<dd>This has had assistance from a native speaker, so it should be OK. | |||||
</dd> | </dd> | ||||
<p> | <p> | ||||
<dt> | <dt> | ||||
<p> | <p> | ||||
<dt> | <dt> | ||||
<strong>ta Tamil</strong><br> | <strong>ta Tamil</strong><br> | ||||
<dd> | |||||
Not much work yet, but I'm told it sounds reasonable. | |||||
<dd>This has had assistance from a native speaker, so it should be OK. | |||||
</dd> | </dd> | ||||
<p> | <p> | ||||
<dt> | <dt> | ||||
</dd> | </dd> | ||||
<p> | <p> | ||||
<dt> | <dt> | ||||
<strong>ka Georgian</strong><br> | |||||
<dd>An initial guess, awaiting feedback. | |||||
</dd> | |||||
<p> | |||||
<dt> | |||||
<strong>la Latin</strong><br> | <strong>la Latin</strong><br> | ||||
<dd>Stress rules are implemented, but it needs text where long vowels are marked with macrons. | <dd>Stress rules are implemented, but it needs text where long vowels are marked with macrons. | ||||
</dd> | </dd> | ||||
</dd> | </dd> | ||||
<p> | <p> | ||||
<dt> | <dt> | ||||
<strong>nl Dutch</strong><br> | |||||
<dd>Needs improvement of the spelling-to-phoneme rules. | |||||
</dd> | |||||
<p> | |||||
<dt> | |||||
<strong>no Norwegian</strong><br> | <strong>no Norwegian</strong><br> | ||||
<dd>An initial guess, awaiting feedback. | <dd>An initial guess, awaiting feedback. | ||||
</dd> | </dd> |
[l/] fr | [l/] fr | ||||
l/l_@ [l/3] base | l/l_@ [l/3] base | ||||
[l/] fr | [l/] fr | ||||
l/l@ [h¶p] base | |||||
l/l@ [h–x] base | |||||
[l#] base | [l#] base | ||||
[l] fr | [l] fr | ||||
[l/2] fr | [l/2] fr | ||||
l/L2_uL [l/2] base | l/L2_uL [l/2] base | ||||
l/l_3 [l/] de | l/l_3 [l/] de | ||||
l/l_4 [ll] sq | l/l_4 [ll] sq | ||||
l/la [h¶p] base | |||||
l/la [h–x] base | |||||
[l#] base | [l#] base | ||||
[l] fr | [l] fr | ||||
[l/2] fr | [l/2] fr | ||||
[K] tn | [K] tn | ||||
l/l_a [l/3] base | l/l_a [l/3] base | ||||
[l/] fr | [l/] fr | ||||
l/le [h¶p] base | |||||
l/le [h–x] base | |||||
[l#] base | [l#] base | ||||
[l] fr | [l] fr | ||||
[l/2] fr | [l/2] fr | ||||
[&:] af | [&:] af | ||||
l/l_front [L] sq | l/l_front [L] sq | ||||
l/l_front_ [l/4] sq | l/l_front_ [l/4] sq | ||||
l/li [h¶p] base | |||||
l/li [h–x] base | |||||
[l#] base | [l#] base | ||||
[l] fr | [l] fr | ||||
[l/2] fr | [l/2] fr | ||||
ll/_ll [L] bg | ll/_ll [L] bg | ||||
l/l_long [l] base | l/l_long [l] base | ||||
[l] fr | [l] fr | ||||
l/lo [h¶p] base | |||||
l/lo [h–x] base | |||||
[l#] base | [l#] base | ||||
[l/2] fr | [l/2] fr | ||||
[K] nso | [K] nso | ||||
l^/l_rfx [l.] base | l^/l_rfx [l.] base | ||||
[l] ru | [l] ru | ||||
[l^] ru | [l^] ru | ||||
l/lu [h¶p] base | |||||
l/lu [h–x] base | |||||
[l#] base | [l#] base | ||||
[l] fr | [l] fr | ||||
[l/2] fr | [l/2] fr |
0 Y: NULL 0 2: | 0 Y: NULL 0 2: | ||||
0 OI NULL 0 OY | 0 OI NULL 0 OY | ||||
0 3 NULL 0 6 | 0 3 NULL 0 6 | ||||
0 _| NULL 0 ? | |||||
0 pF NULL 0 pf | 0 pF NULL 0 pf | ||||
0 r NULL 0 R | 0 r NULL 0 R | ||||
0 A~ NULL 0 a~ | 0 A~ NULL 0 a~ | ||||
0 O~ NULL 0 o~ | 0 O~ NULL 0 o~ | ||||
16 _| VWL 0 ? | |||||
16 _! VWL 0 ? | |||||
// phonemes for English words | // phonemes for English words | ||||
0 @L NULL 0 L | 0 @L NULL 0 L | ||||
0 @2 NULL 0 @ | 0 @2 NULL 0 @ |
0 d; NULL 0 dj | 0 d; NULL 0 dj | ||||
0 J NULL 0 dj | 0 J NULL 0 dj | ||||
0 n^ NULL 0 nj | 0 n^ NULL 0 nj | ||||
0 v2 NULL 0 v | |||||
0 v# NULL 0 w | |||||
0 s; NULL 0 S | 0 s; NULL 0 S | ||||
0 C NULL 0 x | 0 C NULL 0 x | ||||
0 Q NULL 0 G | 0 Q NULL 0 G | ||||
0 Wy NULL 0 9y | 0 Wy NULL 0 9y | ||||
0 VU NULL 0 Au | 0 VU NULL 0 Au | ||||
0 eU NULL 70 e W | 0 eU NULL 70 e W | ||||
0 yU NULL 70 y W | |||||
0 E2 NULL 0 E | |||||
// phonemes for English words | // phonemes for English words | ||||
0 a# NULL 0 @ | 0 a# NULL 0 @ | ||||
0 I2 NULL 0 I | 0 I2 NULL 0 I | ||||
0 aa NULL 0 a | 0 aa NULL 0 a | ||||
0 V NULL 0 @ | |||||
0 V NULL 0 2 | |||||
0 U NULL 0 u | 0 U NULL 0 u | ||||
0 0 NULL 0 O | 0 0 NULL 0 O | ||||
0 3: NULL 0 2 | 0 3: NULL 0 2 | ||||
0 aI@ NULL 70 a @ | 0 aI@ NULL 70 a @ | ||||
0 aU@ NULL 70 Au @ | 0 aU@ NULL 70 Au @ | ||||
0 dZ NULL 0 dj | |||||
0 dZ VWL 0 dj | |||||
0 dZ NULL 0 tj | |||||
0 tS NULL 0 tj | 0 tS NULL 0 tj | ||||
0 T NULL 0 t | 0 T NULL 0 t | ||||
0 D NULL 0 z | 0 D NULL 0 z |
ELIF nextPh(p) OR nextPh(t) OR nextPh(k) THEN | ELIF nextPh(p) OR nextPh(t) OR nextPh(k) THEN | ||||
WAV(ufric/s!) | WAV(ufric/s!) | ||||
ENDIF | ENDIF | ||||
WAV(ufric/s) | |||||
WAV(ufric/s, 80) | |||||
endphoneme | endphoneme | ||||
[Setup] | [Setup] | ||||
AppName=eSpeak | AppName=eSpeak | ||||
AppVerName=eSpeak version 1.44.01 | |||||
AppVerName=eSpeak version 1.45.01 | |||||
AppCopyright=Licensed under GNU General Public License version 3. (See file License.txt for details). | AppCopyright=Licensed under GNU General Public License version 3. (See file License.txt for details). | ||||
WindowVisible=yes | WindowVisible=yes | ||||
SolidCompression=yes | SolidCompression=yes | ||||
ShowLanguageDialog=auto | ShowLanguageDialog=auto | ||||
[Icons] | |||||
Name: "{group}\TTSApp"; Filename: "{app}\TTSApp.exe"; WorkingDir: "{app}" | |||||
[InstallDelete] | [InstallDelete] | ||||
Type: files; Name: "{app}\espeak.dll" | Type: files; Name: "{app}\espeak.dll" | ||||
Type: filesandordirs; Name: "{app}\espeak-data\voices\test" | Type: filesandordirs; Name: "{app}\espeak-data\voices\test" | ||||
Type: filesandordirs; Name: "{app}\docs" | |||||
[Dirs] | [Dirs] | ||||
Name: "{app}\espeak-data\soundicons" | Name: "{app}\espeak-data\soundicons" | ||||
Source: "command_line\*"; DestDir: "{app}\command_line" | Source: "command_line\*"; DestDir: "{app}\command_line" | ||||
Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme | Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme | ||||
Source: "License.txt"; DestDir: "{app}"; | Source: "License.txt"; DestDir: "{app}"; | ||||
Source: "ChangeLog.txt"; DestDir: "{app}"; | |||||
[Registry] | [Registry] | ||||
Root: HKLM; Subkey: "Software\Microsoft\Speech\PhoneConverters\Tokens\eSpeak"; Flags: deletekey uninsdeletekey | Root: HKLM; Subkey: "Software\Microsoft\Speech\PhoneConverters\Tokens\eSpeak"; Flags: deletekey uninsdeletekey | ||||
Name: "ro"; MessagesFile: "compiler:Languages\Romanian.isl" | Name: "ro"; MessagesFile: "compiler:Languages\Romanian.isl" | ||||
Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl" | Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl" | ||||
Name: "sk"; MessagesFile: "compiler:Languages\Slovak.isl" | Name: "sk"; MessagesFile: "compiler:Languages\Slovak.isl" | ||||
Name: "sq"; MessagesFile: "compiler:Languages\Albanian-2-5.1.11.isl" | |||||
;Name: "sq"; MessagesFile: "compiler:Languages\Albanian-2-5.1.11.isl" | |||||
Name: "sr"; MessagesFile: "compiler:Languages\Serbian.isl" | Name: "sr"; MessagesFile: "compiler:Languages\Serbian.isl" | ||||
Name: "tr"; MessagesFile: "compiler:Languages\Turkish.isl" | Name: "tr"; MessagesFile: "compiler:Languages\Turkish.isl" | ||||
Name: "zh"; MessagesFile: "compiler:Languages\ChineseSimp-12-5.1.11.isl" | Name: "zh"; MessagesFile: "compiler:Languages\ChineseSimp-12-5.1.11.isl" | ||||
$39: Result := 'hi'; | $39: Result := 'hi'; | ||||
$41: Result := 'sw'; | $41: Result := 'sw'; | ||||
$49: Result := 'ta'; | $49: Result := 'ta'; | ||||
//$4b: Result := 'kn'; | |||||
$4b: Result := 'kn'; | |||||
//$50: Result := 'mn'; | //$50: Result := 'mn'; | ||||
$52: Result := 'cy'; | $52: Result := 'cy'; | ||||
//$5e: Result := 'am'; | |||||
//$61: Result := 'ne'; | //$61: Result := 'ne'; | ||||
//$87: Result := 'rw'; | //$87: Result := 'rw'; | ||||
//$88: Result := 'wo'; | |||||
end; | end; | ||||
// is there a match on the full language code? | // is there a match on the full language code? | ||||
// when a SAPI5 voice is installed. | // when a SAPI5 voice is installed. | ||||
case lang1 of | case lang1 of | ||||
'af': value := $436; | 'af': value := $436; | ||||
'am': value := $45e; | |||||
'az': value := $42c; | 'az': value := $42c; | ||||
'bg': value := $402; | 'bg': value := $402; | ||||
'bs': value := $41a; // should be $141a but Jaws crashes on startup | 'bs': value := $41a; // should be $141a but Jaws crashes on startup | ||||
'cy': value := $452; | 'cy': value := $452; | ||||
'da': value := $406; | 'da': value := $406; | ||||
'de': value := $407; | 'de': value := $407; | ||||
'dv': value := $465; | |||||
'el': value := $408; | 'el': value := $408; | ||||
'en': value := $409; | 'en': value := $409; | ||||
'es': value := $40a; | 'es': value := $40a; | ||||
'et': value := $425; | |||||
'eu': value := $42d; | 'eu': value := $42d; | ||||
'fi': value := $40b; | 'fi': value := $40b; | ||||
'fr': value := $40c; | 'fr': value := $40c; | ||||
'gu': value := $447; | |||||
'hi': value := $439; | 'hi': value := $439; | ||||
'hr': value := $41a; | 'hr': value := $41a; | ||||
'hu': value := $40e; | 'hu': value := $40e; | ||||
'id': value := $421; | 'id': value := $421; | ||||
'is': value := $40f; | 'is': value := $40f; | ||||
'it': value := $410; | 'it': value := $410; | ||||
'ka': value := $437; | |||||
'kn': value := $44b; | 'kn': value := $44b; | ||||
'ko': value := $412; | 'ko': value := $412; | ||||
'lv': value := $426; | 'lv': value := $426; | ||||
'mk': value := $42f; | 'mk': value := $42f; | ||||
'ml': value := $44c; | |||||
'mn': value := $450; | 'mn': value := $450; | ||||
'ne': value := $461; | 'ne': value := $461; | ||||
'nl': value := $413; | 'nl': value := $413; | ||||
'sv': value := $41d; | 'sv': value := $41d; | ||||
'sw': value := $441; | 'sw': value := $441; | ||||
'ta': value := $449; | 'ta': value := $449; | ||||
'te': value := $44a; | |||||
'tn': value := $432; | |||||
'tr': value := $41f; | 'tr': value := $41f; | ||||
'vi': value := $42a; | 'vi': value := $42a; | ||||
'wo': value := $488; | |||||
'zh': value := $804; | 'zh': value := $804; | ||||
// mbrola voices | // mbrola voices | ||||
'-af': value := $436; | '-af': value := $436; |
[Setup] | [Setup] | ||||
AppName=eSpeakEdit | AppName=eSpeakEdit | ||||
AppVerName=eSpeakEdit version 1.44.01 | |||||
AppVerName=eSpeakEdit version 1.45.01 | |||||
DefaultDirName={pf}\eSpeak | DefaultDirName={pf}\eSpeak | ||||
DefaultGroupName=eSpeak | DefaultGroupName=eSpeak | ||||
OutputBaseFilename=setup_espeakedit | OutputBaseFilename=setup_espeakedit | ||||
Name: "ro"; MessagesFile: "compiler:Languages\Romanian.isl" | Name: "ro"; MessagesFile: "compiler:Languages\Romanian.isl" | ||||
Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl" | Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl" | ||||
Name: "sk"; MessagesFile: "compiler:Languages\Slovak.isl" | Name: "sk"; MessagesFile: "compiler:Languages\Slovak.isl" | ||||
Name: "sq"; MessagesFile: "compiler:Languages\Albanian-2-5.1.11.isl" | |||||
;Name: "sq"; MessagesFile: "compiler:Languages\Albanian-2-5.1.11.isl" | |||||
Name: "sr"; MessagesFile: "compiler:Languages\Serbian.isl" | Name: "sr"; MessagesFile: "compiler:Languages\Serbian.isl" | ||||
Name: "tr"; MessagesFile: "compiler:Languages\Turkish.isl" | Name: "tr"; MessagesFile: "compiler:Languages\Turkish.isl" | ||||
Name: "zh"; MessagesFile: "compiler:Languages\ChineseSimp-12-5.1.11.isl" | Name: "zh"; MessagesFile: "compiler:Languages\ChineseSimp-12-5.1.11.isl" |
// | // | ||||
VS_VERSION_INFO VERSIONINFO | VS_VERSION_INFO VERSIONINFO | ||||
FILEVERSION 1,0,44,00 | |||||
PRODUCTVERSION 1,0,44,00 | |||||
FILEVERSION 1,0,45,00 | |||||
PRODUCTVERSION 1,0,45,00 | |||||
FILEFLAGSMASK 0x3fL | FILEFLAGSMASK 0x3fL | ||||
#ifdef _DEBUG | #ifdef _DEBUG | ||||
FILEFLAGS 0x1L | FILEFLAGS 0x1L | ||||
VALUE "Comments", "\0" | VALUE "Comments", "\0" | ||||
VALUE "CompanyName", "Jonathan Duddington\0" | VALUE "CompanyName", "Jonathan Duddington\0" | ||||
VALUE "FileDescription", "Text to Speech\0" | VALUE "FileDescription", "Text to Speech\0" | ||||
VALUE "FileVersion", "1, 0,44,00\0" | |||||
VALUE "InternalName", "espeak1.44\0" | |||||
VALUE "FileVersion", "1, 0,45,00\0" | |||||
VALUE "InternalName", "espeak1.45\0" | |||||
VALUE "LegalCopyright", "Copyright (c) Jonathan Duddington\0" | VALUE "LegalCopyright", "Copyright (c) Jonathan Duddington\0" | ||||
VALUE "LegalTrademarks", "\0" | VALUE "LegalTrademarks", "\0" | ||||
VALUE "OriginalFilename", "espeak_sapi.dll\0" | VALUE "OriginalFilename", "espeak_sapi.dll\0" | ||||
VALUE "PrivateBuild", "\0" | VALUE "PrivateBuild", "\0" | ||||
VALUE "ProductName", "espeak TTS\0" | VALUE "ProductName", "espeak TTS\0" | ||||
VALUE "ProductVersion", "1, 0, 44, 00\0" | |||||
VALUE "ProductVersion", "1, 0, 45, 00\0" | |||||
VALUE "SpecialBuild", "\0" | VALUE "SpecialBuild", "\0" | ||||
END | END | ||||
END | END |
INCDIR=$(PREFIX)/include/espeak | INCDIR=$(PREFIX)/include/espeak | ||||
LIBDIR=$(PREFIX)/lib | LIBDIR=$(PREFIX)/lib | ||||
RELEASE = 1.44 | |||||
RELEASE = 1.45 | |||||
BIN_NAME = speak | BIN_NAME = speak | ||||
BIN2_NAME = espeak | BIN2_NAME = espeak | ||||
LIB_NAME = libespeak.so | LIB_NAME = libespeak.so |
0, // voice type | 0, // voice type | ||||
}; | }; | ||||
#ifdef NEED_WCHAR_FUNCTIONS | #ifdef NEED_WCHAR_FUNCTIONS | ||||
// additional Latin characters beyond the Latin1 character set | // additional Latin characters beyond the Latin1 character set | ||||
#define MAX_WALPHA 0x233 | #define MAX_WALPHA 0x233 | ||||
// indexed by character - 0x100 | // indexed by character - 0x100 | ||||
// 0=not alphabetic, 0xff=lower case, other=value to add to upper case to convert to lower case | |||||
// 0=not alphabetic, 0xff=lower case, 0xfe=special case | |||||
// other=value to add to upper case to convert to lower case | |||||
static unsigned char walpha_tab[MAX_WALPHA-0xff] = { | static unsigned char walpha_tab[MAX_WALPHA-0xff] = { | ||||
1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 100 | 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 100 | ||||
1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 110 | 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 110 | ||||
1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 120 | 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 120 | ||||
0xff,0xff, 1,0xff, 1,0xff, 1,0xff,0xff, 1,0xff, 1,0xff, 1,0xff, 1, // 130 | |||||
0xfe,0xff, 1,0xff, 1,0xff, 1,0xff,0xff, 1,0xff, 1,0xff, 1,0xff, 1, // 130 | |||||
0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff,0xff, 1,0xff, 1,0xff, 1,0xff, // 140 | 0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff,0xff, 1,0xff, 1,0xff, 1,0xff, // 140 | ||||
1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 150 | 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 150 | ||||
1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 160 | 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 160 | ||||
return(tolower(c)); | return(tolower(c)); | ||||
if((c > MAX_WALPHA) || ((x = walpha_tab[c-0x100])==0xff)) | if((c > MAX_WALPHA) || ((x = walpha_tab[c-0x100])==0xff)) | ||||
return(c); // already lower case | return(c); // already lower case | ||||
if(x == 0xfe) | |||||
{ | |||||
// special cases | |||||
if(c == 0x130) // uppercase i-dot | |||||
return('i'); | |||||
} | |||||
return(c + x); // convert to lower case | return(c + x); // convert to lower case | ||||
} | } | ||||
{ | { | ||||
c = 0x131; // I -> ı | c = 0x131; // I -> ı | ||||
} | } | ||||
} | |||||
} | |||||
#ifdef __WIN32__ | |||||
if(c == 0x130) // uppercase i-dot | |||||
return('i'); | |||||
#endif | |||||
return(towlower(c)); | return(towlower(c)); | ||||
} | } | ||||
static MBROLA_TAB *mbrola_tab = NULL; | static MBROLA_TAB *mbrola_tab = NULL; | ||||
static int mbrola_control = 0; | static int mbrola_control = 0; | ||||
static int mbr_name_prefix = 0; | |||||
espeak_ERROR LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, int srate) | espeak_ERROR LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, int srate) | ||||
{//=================================================================================== | {//=================================================================================== | ||||
mbrola_name[0] = 0; | mbrola_name[0] = 0; | ||||
mbrola_delay = 0; | mbrola_delay = 0; | ||||
mbr_name_prefix = 0; | |||||
if(mbrola_voice == NULL) | if(mbrola_voice == NULL) | ||||
{ | { | ||||
{//========================================================================================================================================== | {//========================================================================================================================================== | ||||
// Look up a phoneme in the mbrola phoneme name translation table | // Look up a phoneme in the mbrola phoneme name translation table | ||||
// It may give none, 1, or 2 mbrola phonemes | // It may give none, 1, or 2 mbrola phonemes | ||||
int mnem = ph->mnemonic; | |||||
MBROLA_TAB *pr; | MBROLA_TAB *pr; | ||||
PHONEME_TAB *other_ph; | PHONEME_TAB *other_ph; | ||||
int found = 0; | int found = 0; | ||||
static int mnem; | |||||
// control | // control | ||||
// bit 0 skip the next phoneme | // bit 0 skip the next phoneme | ||||
// bit 1 match this and Previous phoneme | // bit 1 match this and Previous phoneme | ||||
// bit 2 only at the start of a word | // bit 2 only at the start of a word | ||||
// bit 3 don't match two phonemes across a word boundary | // bit 3 don't match two phonemes across a word boundary | ||||
// bit 4 add this phoneme name as a prefix to the next phoneme name (used for de4 phoneme prefix '?') | |||||
*name2=0; | |||||
*split=0; | |||||
*control=0; | |||||
mnem = ph->mnemonic; | |||||
pr = mbrola_tab; | pr = mbrola_tab; | ||||
while(pr->name != 0) | while(pr->name != 0) | ||||
*name2 = pr->mbr_name2; | *name2 = pr->mbr_name2; | ||||
*split = pr->percent; | *split = pr->percent; | ||||
*control = pr->control; | *control = pr->control; | ||||
return(pr->mbr_name); | |||||
if(pr->control & 0x10) | |||||
{ | |||||
mbr_name_prefix = pr->mbr_name; | |||||
return(0); | |||||
} | |||||
mnem = pr->mbr_name; | |||||
break; | |||||
} | } | ||||
} | } | ||||
pr++; | pr++; | ||||
} | } | ||||
*name2=0; | |||||
*split=0; | |||||
*control=0; | |||||
if(mbr_name_prefix != 0) | |||||
{ | |||||
mnem = (mnem << 8) | (mbr_name_prefix & 0xff); | |||||
} | |||||
mbr_name_prefix = 0; | |||||
return(mnem); | return(mnem); | ||||
} | } | ||||
#include "translate.h" | #include "translate.h" | ||||
#include "wave.h" | #include "wave.h" | ||||
const char *version_string = "1.44.42 12.Mar.11"; | |||||
const int version_phdata = 0x014415; | |||||
const char *version_string = "1.45.02 15.Mar.11"; | |||||
const int version_phdata = 0x014500; | |||||
int option_device_number = -1; | int option_device_number = -1; | ||||
FILE *f_logespeak = NULL; | FILE *f_logespeak = NULL; |
voice->samplerate = 22050; | voice->samplerate = 22050; | ||||
memset(voice->klattv,0,sizeof(voice->klattv)); | memset(voice->klattv,0,sizeof(voice->klattv)); | ||||
speed.fast_settings[0] = 400; | |||||
speed.fast_settings[0] = 450; | |||||
speed.fast_settings[1] = 800; | speed.fast_settings[1] = 800; | ||||
speed.fast_settings[2] = 175; | speed.fast_settings[2] = 175; | ||||