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
@@ -109,7 +109,7 @@ _13 'draItse:n | |||
_14 'fIrtse:n | |||
_15 'fynftse:n | |||
_16 'zECtse:n | |||
_17 'zi:btse:n | |||
_17 'zi:ptse:n | |||
_18 '_axtse:n | |||
_19 'nOYntse:n | |||
_2X 'tsvantsIC | |||
@@ -117,7 +117,7 @@ _3X 'draIsIC | |||
_4X 'fIrtsIC | |||
_5X 'fynftsIC | |||
_6X 'zECtsIC | |||
_7X 'zi:btsIC | |||
_7X 'zi:ptsIC | |||
_8X '_axtsIC | |||
_9X 'nOYntsIC | |||
_0C 'hUnd3t |
@@ -19,7 +19,7 @@ | |||
// ***************************************************************************/ | |||
.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 | |||
@@ -521,6 +521,8 @@ | |||
_) ge (imp g@ | |||
ge (mach g@ | |||
ge (mal g@ | |||
_) ge (mK gE | |||
_) ge (nK gE | |||
ge (tr g@ | |||
general ge:nEr'al | |||
general (is ge:n@ral |
@@ -77,7 +77,7 @@ n n^ p r R R2 s S | |||
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 | |||
aU A~ e E E2 E: e: EI | |||
@@ -402,7 +402,7 @@ ts; v v; w w2 x z Z | |||
z; Z; | |||
Dictionary ru_dict 2011-03-10 | |||
Dictionary ru_dict 2011-03-14 | |||
8 @- a A e E E# E% | |||
E2 i I I# I3 I^ ja ju | |||
@@ -463,7 +463,7 @@ p Q R s S t T tS | |||
v w x z | |||
Dictionary sl_dict 2010-08-14 | |||
Dictionary sl_dict 2011-03-14 | |||
@ a a: e E e: i i: | |||
o O o: u u: y | |||
@@ -688,7 +688,7 @@ t. th th. tS v w x z | |||
Z | |||
Dictionary kn_dict 2011-03-11 | |||
Dictionary kn_dict 2011-03-14 | |||
a a: aI aU e E e: i | |||
I i: o o: r- u u: | |||
@@ -713,7 +713,7 @@ R R3 s S t T tS ts | |||
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 | |||
i: l- o o: r- u u: V |
@@ -0,0 +1,154 @@ | |||
// 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 |
@@ -0,0 +1,152 @@ | |||
// 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 |
@@ -0,0 +1,297 @@ | |||
// 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]) |
@@ -0,0 +1,265 @@ | |||
// 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 | |||
@@ -0,0 +1,25 @@ | |||
// 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 |
@@ -0,0 +1,90 @@ | |||
// 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 | |||
# _: |
@@ -173,6 +173,7 @@ | |||
_) கி (ரீன்லாந்த g | |||
_) கி (ரீம k | |||
_) க (ிரீஷ g | |||
_) கி (ரீஸ g | |||
_) க (ிருகஸ்தர g | |||
_) க (ிருகிரு g | |||
_) க (ிருஹஸ்தர g | |||
@@ -707,6 +708,7 @@ _தணிகா) ச (ல tSV | |||
சு (வாதீன s | |||
சு (வாமி s | |||
_) சுவாரசி (ய sva:rVs | |||
அ) சுவாரசி (ய sva:rVs | |||
சு (வாரஸ்ய s | |||
_) சு (விட்ச s | |||
_) சு (வீட s | |||
@@ -777,6 +779,7 @@ _ரிப்போர்) ட t.V# | |||
இண்டர்மீடியே) ட t.V# | |||
_) ட (க்கர t.V | |||
ங்) ட (ன t.V // -ington | |||
_நியூ) ட (ன t.V | |||
_மில்) ட (ன t.V | |||
_) ட (ன் t.V | |||
_) ட (ப்_ t.V | |||
@@ -836,6 +839,7 @@ _நாவல்) ட (ி t. | |||
_) ட (ிப்ஸ t. | |||
_) டி (யூசன t. | |||
_) டியூட (ி d.jU:t. | |||
_) டி (யூன t. | |||
_) டி (யூஷன t. | |||
_) டி (ரங் t. | |||
_) டி (ரங்கு t. | |||
@@ -922,6 +926,8 @@ _லான்_) ட (ென்னிஸ t. | |||
_ரெ) ட்ட (ியா d.d. | |||
இ) ட்ட (ிலி d.d. | |||
அப்பாயிண்) ட்மெண்ட t.men.t.V# | |||
_) ட் (யூசன t. | |||
_) ட் (யூன t. | |||
ஸ்) ட் (ர _|t. // ?? make t. distinct | |||
_) ட் (ரங் t. | |||
_) ட் (ரங்கு t. | |||
@@ -1400,6 +1406,7 @@ _காமசூ) த் (ர t | |||
ந nV | |||
ந (B n // dental n | |||
_) நி (யாய n | |||
_) நி (யூ n | |||
.group ன | |||
@@ -2065,12 +2072,14 @@ _பச்சாதா) ப (+ bV# | |||
திரௌ) ப (தி pV | |||
பிரஜா) பத (ி pVt | |||
மகுட) பதி pVti | |||
அலோ) ப (தி pV | |||
பிரகஸ்) பதி pVti | |||
லக்ஷ்மி) பதி pVti | |||
வித்யா) பதி pVti | |||
_ராஷ்டிர) ப (தி pV | |||
அம்பிகா) பதி pVti | |||
இராஷ்டிர) ப (தி pV | |||
மியோ) ப (தி pV | |||
வளையா) பதி pVti | |||
வேங்கட) பதி pVti | |||
_புகு) ப (திகை pV |
@@ -51,7 +51,7 @@ For details of the voice files see <a href="voices.html">Voices</a>. | |||
<p> | |||
<dt> | |||
<strong>en-sc</strong><br> | |||
<dd> Scottish English. | |||
<dd> English with a Scottish accent. | |||
<p> | |||
<dt> | |||
<strong>en-n<br> | |||
@@ -68,7 +68,7 @@ To make alternative voices for a language, you can make additional voice files i | |||
<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>. | |||
<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> | |||
The available voice variants can be listed with:<br> | |||
<pre> espeak --voices=variant</pre> | |||
@@ -96,6 +96,11 @@ The eSpeak speech synthesizer does text to speech for the following additional l | |||
</dd> | |||
<p> | |||
<dt> | |||
<strong>da Danish</strong><br> | |||
<dd>Usable. | |||
</dd> | |||
<p> | |||
<dt> | |||
<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> | |||
@@ -143,6 +148,11 @@ This contains a few changes from <strong>es</strong>, notably the pronunciation | |||
<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> | |||
<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> | |||
<dd> | |||
Not much work yet, but Kurdish has good spelling rules so it should be OK. | |||
@@ -154,6 +164,11 @@ Not much work yet, but Kurdish has good spelling rules so it should be OK. | |||
</dd> | |||
<p> | |||
<dt> | |||
<strong>nl Dutch</strong><br> | |||
<dd>Needs improvement of the spelling-to-phoneme rules. | |||
</dd> | |||
<p> | |||
<dt> | |||
<strong>pl Polish</strong><br> | |||
<dd> | |||
Usable. | |||
@@ -176,7 +191,7 @@ Usable. | |||
<p> | |||
<dt> | |||
<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> | |||
<p> | |||
<dt> | |||
@@ -196,8 +211,7 @@ Usable. | |||
<p> | |||
<dt> | |||
<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> | |||
<p> | |||
<dt> | |||
@@ -255,6 +269,11 @@ These languages are only initial naive implementations which have had little or | |||
</dd> | |||
<p> | |||
<dt> | |||
<strong>ka Georgian</strong><br> | |||
<dd>An initial guess, awaiting feedback. | |||
</dd> | |||
<p> | |||
<dt> | |||
<strong>la Latin</strong><br> | |||
<dd>Stress rules are implemented, but it needs text where long vowels are marked with macrons. | |||
</dd> | |||
@@ -265,11 +284,6 @@ These languages are only initial naive implementations which have had little or | |||
</dd> | |||
<p> | |||
<dt> | |||
<strong>nl Dutch</strong><br> | |||
<dd>Needs improvement of the spelling-to-phoneme rules. | |||
</dd> | |||
<p> | |||
<dt> | |||
<strong>no Norwegian</strong><br> | |||
<dd>An initial guess, awaiting feedback. | |||
</dd> |
@@ -360,7 +360,7 @@ l/l_ [l] base | |||
[l/] fr | |||
l/l_@ [l/3] base | |||
[l/] fr | |||
l/l@ [h¶p] base | |||
l/l@ [h–x] base | |||
[l#] base | |||
[l] fr | |||
[l/2] fr | |||
@@ -394,7 +394,7 @@ l/L2_oL [l/2] base | |||
l/L2_uL [l/2] base | |||
l/l_3 [l/] de | |||
l/l_4 [ll] sq | |||
l/la [h¶p] base | |||
l/la [h–x] base | |||
[l#] base | |||
[l] fr | |||
[l/2] fr | |||
@@ -402,7 +402,7 @@ l/la [h | |||
[K] tn | |||
l/l_a [l/3] base | |||
[l/] fr | |||
l/le [h¶p] base | |||
l/le [h–x] base | |||
[l#] base | |||
[l] fr | |||
[l/2] fr | |||
@@ -414,7 +414,7 @@ l/L_eL_af [&] af | |||
[&:] af | |||
l/l_front [L] sq | |||
l/l_front_ [l/4] sq | |||
l/li [h¶p] base | |||
l/li [h–x] base | |||
[l#] base | |||
[l] fr | |||
[l/2] fr | |||
@@ -428,7 +428,7 @@ ll/ll [L] bg | |||
ll/_ll [L] bg | |||
l/l_long [l] base | |||
[l] fr | |||
l/lo [h¶p] base | |||
l/lo [h–x] base | |||
[l#] base | |||
[l/2] fr | |||
[K] nso | |||
@@ -438,7 +438,7 @@ l/l_o [l/3] base | |||
l^/l_rfx [l.] base | |||
[l] ru | |||
[l^] ru | |||
l/lu [h¶p] base | |||
l/lu [h–x] base | |||
[l#] base | |||
[l] fr | |||
[l/2] fr |
@@ -41,7 +41,6 @@ | |||
0 Y: NULL 0 2: | |||
0 OI NULL 0 OY | |||
0 3 NULL 0 6 | |||
0 _| NULL 0 ? | |||
0 pF NULL 0 pf | |||
0 r NULL 0 R | |||
@@ -51,6 +50,9 @@ | |||
0 A~ NULL 0 a~ | |||
0 O~ NULL 0 o~ | |||
16 _| VWL 0 ? | |||
16 _! VWL 0 ? | |||
// phonemes for English words | |||
0 @L NULL 0 L | |||
0 @2 NULL 0 @ |
@@ -16,7 +16,7 @@ | |||
0 d; NULL 0 dj | |||
0 J NULL 0 dj | |||
0 n^ NULL 0 nj | |||
0 v2 NULL 0 v | |||
0 v# NULL 0 w | |||
0 s; NULL 0 S | |||
0 C NULL 0 x | |||
0 Q NULL 0 G | |||
@@ -33,6 +33,8 @@ | |||
0 Wy NULL 0 9y | |||
0 VU NULL 0 Au | |||
0 eU NULL 70 e W | |||
0 yU NULL 70 y W | |||
0 E2 NULL 0 E | |||
// phonemes for English words | |||
@@ -48,7 +50,7 @@ | |||
0 a# NULL 0 @ | |||
0 I2 NULL 0 I | |||
0 aa NULL 0 a | |||
0 V NULL 0 @ | |||
0 V NULL 0 2 | |||
0 U NULL 0 u | |||
0 0 NULL 0 O | |||
0 3: NULL 0 2 | |||
@@ -67,7 +69,8 @@ | |||
0 aI@ NULL 70 a @ | |||
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 T NULL 0 t | |||
0 D NULL 0 z |
@@ -98,7 +98,7 @@ phoneme s | |||
ELIF nextPh(p) OR nextPh(t) OR nextPh(k) THEN | |||
WAV(ufric/s!) | |||
ENDIF | |||
WAV(ufric/s) | |||
WAV(ufric/s, 80) | |||
endphoneme | |||
@@ -2,7 +2,7 @@ | |||
[Setup] | |||
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). | |||
WindowVisible=yes | |||
@@ -13,9 +13,13 @@ Compression=lzma | |||
SolidCompression=yes | |||
ShowLanguageDialog=auto | |||
[Icons] | |||
Name: "{group}\TTSApp"; Filename: "{app}\TTSApp.exe"; WorkingDir: "{app}" | |||
[InstallDelete] | |||
Type: files; Name: "{app}\espeak.dll" | |||
Type: filesandordirs; Name: "{app}\espeak-data\voices\test" | |||
Type: filesandordirs; Name: "{app}\docs" | |||
[Dirs] | |||
Name: "{app}\espeak-data\soundicons" | |||
@@ -30,6 +34,7 @@ Source: "docs\*"; DestDir: "{app}\docs"; Flags: recursesubdirs | |||
Source: "command_line\*"; DestDir: "{app}\command_line" | |||
Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme | |||
Source: "License.txt"; DestDir: "{app}"; | |||
Source: "ChangeLog.txt"; DestDir: "{app}"; | |||
[Registry] | |||
Root: HKLM; Subkey: "Software\Microsoft\Speech\PhoneConverters\Tokens\eSpeak"; Flags: deletekey uninsdeletekey | |||
@@ -57,7 +62,7 @@ Name: "pt"; MessagesFile: "compiler:Languages\Portuguese.isl" | |||
Name: "ro"; MessagesFile: "compiler:Languages\Romanian.isl" | |||
Name: "ru"; MessagesFile: "compiler:Languages\Russian.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: "tr"; MessagesFile: "compiler:Languages\Turkish.isl" | |||
Name: "zh"; MessagesFile: "compiler:Languages\ChineseSimp-12-5.1.11.isl" | |||
@@ -150,11 +155,13 @@ begin | |||
$39: Result := 'hi'; | |||
$41: Result := 'sw'; | |||
$49: Result := 'ta'; | |||
//$4b: Result := 'kn'; | |||
$4b: Result := 'kn'; | |||
//$50: Result := 'mn'; | |||
$52: Result := 'cy'; | |||
//$5e: Result := 'am'; | |||
//$61: Result := 'ne'; | |||
//$87: Result := 'rw'; | |||
//$88: Result := 'wo'; | |||
end; | |||
// is there a match on the full language code? | |||
@@ -191,6 +198,7 @@ begin | |||
// when a SAPI5 voice is installed. | |||
case lang1 of | |||
'af': value := $436; | |||
'am': value := $45e; | |||
'az': value := $42c; | |||
'bg': value := $402; | |||
'bs': value := $41a; // should be $141a but Jaws crashes on startup | |||
@@ -199,12 +207,15 @@ begin | |||
'cy': value := $452; | |||
'da': value := $406; | |||
'de': value := $407; | |||
'dv': value := $465; | |||
'el': value := $408; | |||
'en': value := $409; | |||
'es': value := $40a; | |||
'et': value := $425; | |||
'eu': value := $42d; | |||
'fi': value := $40b; | |||
'fr': value := $40c; | |||
'gu': value := $447; | |||
'hi': value := $439; | |||
'hr': value := $41a; | |||
'hu': value := $40e; | |||
@@ -212,10 +223,12 @@ begin | |||
'id': value := $421; | |||
'is': value := $40f; | |||
'it': value := $410; | |||
'ka': value := $437; | |||
'kn': value := $44b; | |||
'ko': value := $412; | |||
'lv': value := $426; | |||
'mk': value := $42f; | |||
'ml': value := $44c; | |||
'mn': value := $450; | |||
'ne': value := $461; | |||
'nl': value := $413; | |||
@@ -231,8 +244,11 @@ begin | |||
'sv': value := $41d; | |||
'sw': value := $441; | |||
'ta': value := $449; | |||
'te': value := $44a; | |||
'tn': value := $432; | |||
'tr': value := $41f; | |||
'vi': value := $42a; | |||
'wo': value := $488; | |||
'zh': value := $804; | |||
// mbrola voices | |||
'-af': value := $436; |
@@ -1,7 +1,7 @@ | |||
[Setup] | |||
AppName=eSpeakEdit | |||
AppVerName=eSpeakEdit version 1.44.01 | |||
AppVerName=eSpeakEdit version 1.45.01 | |||
DefaultDirName={pf}\eSpeak | |||
DefaultGroupName=eSpeak | |||
OutputBaseFilename=setup_espeakedit | |||
@@ -50,7 +50,7 @@ Name: "pt"; MessagesFile: "compiler:Languages\Portuguese.isl" | |||
Name: "ro"; MessagesFile: "compiler:Languages\Romanian.isl" | |||
Name: "ru"; MessagesFile: "compiler:Languages\Russian.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: "tr"; MessagesFile: "compiler:Languages\Turkish.isl" | |||
Name: "zh"; MessagesFile: "compiler:Languages\ChineseSimp-12-5.1.11.isl" |
@@ -5,8 +5,8 @@ | |||
// | |||
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 | |||
#ifdef _DEBUG | |||
FILEFLAGS 0x1L | |||
@@ -24,14 +24,14 @@ BEGIN | |||
VALUE "Comments", "\0" | |||
VALUE "CompanyName", "Jonathan Duddington\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 "LegalTrademarks", "\0" | |||
VALUE "OriginalFilename", "espeak_sapi.dll\0" | |||
VALUE "PrivateBuild", "\0" | |||
VALUE "ProductName", "espeak TTS\0" | |||
VALUE "ProductVersion", "1, 0, 44, 00\0" | |||
VALUE "ProductVersion", "1, 0, 45, 00\0" | |||
VALUE "SpecialBuild", "\0" | |||
END | |||
END |
@@ -7,7 +7,7 @@ BINDIR=$(PREFIX)/bin | |||
INCDIR=$(PREFIX)/include/espeak | |||
LIBDIR=$(PREFIX)/lib | |||
RELEASE = 1.44 | |||
RELEASE = 1.45 | |||
BIN_NAME = speak | |||
BIN2_NAME = espeak | |||
LIB_NAME = libespeak.so |
@@ -202,18 +202,18 @@ const int param_defaults[N_SPEECH_PARAM] = { | |||
0, // voice type | |||
}; | |||
#ifdef NEED_WCHAR_FUNCTIONS | |||
// additional Latin characters beyond the Latin1 character set | |||
#define MAX_WALPHA 0x233 | |||
// 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] = { | |||
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, // 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 | |||
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 | |||
@@ -264,6 +264,12 @@ int towlower(int c) | |||
return(tolower(c)); | |||
if((c > MAX_WALPHA) || ((x = walpha_tab[c-0x100])==0xff)) | |||
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 | |||
} | |||
@@ -358,7 +364,11 @@ int towlower2(unsigned int c) | |||
{ | |||
c = 0x131; // I -> ı | |||
} | |||
} | |||
} | |||
#ifdef __WIN32__ | |||
if(c == 0x130) // uppercase i-dot | |||
return('i'); | |||
#endif | |||
return(towlower(c)); | |||
} | |||
@@ -109,7 +109,7 @@ void unload_MBR() | |||
static MBROLA_TAB *mbrola_tab = NULL; | |||
static int mbrola_control = 0; | |||
static int mbr_name_prefix = 0; | |||
espeak_ERROR LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, int srate) | |||
{//=================================================================================== | |||
@@ -123,6 +123,7 @@ espeak_ERROR LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, int | |||
mbrola_name[0] = 0; | |||
mbrola_delay = 0; | |||
mbr_name_prefix = 0; | |||
if(mbrola_voice == NULL) | |||
{ | |||
@@ -200,16 +201,22 @@ static int GetMbrName(PHONEME_LIST *plist, PHONEME_TAB *ph, PHONEME_TAB *ph_prev | |||
{//========================================================================================================================================== | |||
// Look up a phoneme in the mbrola phoneme name translation table | |||
// It may give none, 1, or 2 mbrola phonemes | |||
int mnem = ph->mnemonic; | |||
MBROLA_TAB *pr; | |||
PHONEME_TAB *other_ph; | |||
int found = 0; | |||
static int mnem; | |||
// control | |||
// bit 0 skip the next phoneme | |||
// bit 1 match this and Previous phoneme | |||
// bit 2 only at the start of a word | |||
// 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; | |||
while(pr->name != 0) | |||
@@ -249,15 +256,25 @@ static int GetMbrName(PHONEME_LIST *plist, PHONEME_TAB *ph, PHONEME_TAB *ph_prev | |||
*name2 = pr->mbr_name2; | |||
*split = pr->percent; | |||
*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++; | |||
} | |||
*name2=0; | |||
*split=0; | |||
*control=0; | |||
if(mbr_name_prefix != 0) | |||
{ | |||
mnem = (mnem << 8) | (mbr_name_prefix & 0xff); | |||
} | |||
mbr_name_prefix = 0; | |||
return(mnem); | |||
} | |||
@@ -35,8 +35,8 @@ | |||
#include "translate.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; | |||
FILE *f_logespeak = NULL; |
@@ -411,7 +411,7 @@ void VoiceReset(int tone_only) | |||
voice->samplerate = 22050; | |||
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[2] = 175; | |||