mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-03 14:17:12 +00:00
[1.39.48]
Fix lettergroups: Sort items to longest first. Lang en-us: Use rhotic [3] in place of [@] when [r] follows. Voice files: add attribute "fast-test" to experiment with faster talking speeds. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@212 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
+2
-2
@@ -1,4 +1,4 @@
|
||||
//maintainer: Willem van der Walt
|
||||
//maintainer: Willem van der Walt
|
||||
// email: wvdwalt@csir.co.za
|
||||
// tel: +27 12 8413996
|
||||
// Meraka Institute, CSIR
|
||||
@@ -313,6 +313,7 @@ david _^_EN
|
||||
(da vinci) da||v'intSi
|
||||
debora d@bo@ra
|
||||
debussy d@bus'i:
|
||||
de d@
|
||||
(de la) d@||la $u // de la Rey/de la Bat, etc.
|
||||
der d@r
|
||||
derick dErik
|
||||
@@ -608,7 +609,6 @@ voor $u $strend2
|
||||
|
||||
|
||||
// misc unstressed
|
||||
de d@
|
||||
dat $u $strend
|
||||
te t@ $verbf
|
||||
nie $unstressend $verbextend
|
||||
|
||||
+9
-5
@@ -84,8 +84,6 @@ _" uvozovki
|
||||
_, tSa:Rka
|
||||
_- mi:nus
|
||||
_; zdR^edn^i:k
|
||||
_= Rovno
|
||||
_* hvjezJitSka
|
||||
_? otazn^i:k
|
||||
__ pottr-Zen^i:
|
||||
_` 'obRa:ts,ena:||tS'a:Rka
|
||||
@@ -99,14 +97,20 @@ _< menSi:
|
||||
_> vjetSi:
|
||||
_| sv'isla:||tS'a:Ra
|
||||
_: dv'ojtetSka
|
||||
% pRotsento
|
||||
+ plus
|
||||
|
||||
. tetSka $max3
|
||||
* hvjezJitSka $max3
|
||||
= Rovno $max3
|
||||
* hvjezJitSka $max3
|
||||
% pRotsento $max3
|
||||
+ plus $max3
|
||||
! vigR^itSn^i:k $max3
|
||||
€ eURo
|
||||
@ zavina:tS
|
||||
& ampr-sent
|
||||
# gR^i:Zek
|
||||
/ lomeno
|
||||
_\ beksleS
|
||||
\ beksleS
|
||||
|
||||
° stupen^
|
||||
× kRa:t
|
||||
|
||||
@@ -631,18 +631,9 @@ _flegma) ti ti
|
||||
ü i
|
||||
|
||||
$ dola:R
|
||||
! vigR^itSn^i:k
|
||||
|
||||
. tetSka
|
||||
. (. _:
|
||||
\.) .
|
||||
|
||||
__) - (_D mi:nus
|
||||
A_) - (_D _
|
||||
C_) - (_D _
|
||||
--) -
|
||||
|
||||
* hvj'ezJitSka
|
||||
*) * (*
|
||||
**
|
||||
**) * (_ _::
|
||||
|
||||
+19
-2
@@ -15,9 +15,19 @@
|
||||
// spoken when "speak punctuation" option is on.
|
||||
|
||||
_. pUnkt
|
||||
* StE*n $max3
|
||||
% p@-*o:ts'Ent $max3
|
||||
+ plUs $max3
|
||||
= glaIC $max3
|
||||
# nUm3 $max3
|
||||
€ OY*o:
|
||||
£ paUnd
|
||||
& Unt
|
||||
@ kl'ame:*,af@
|
||||
~ tIld@
|
||||
\ bEkslES
|
||||
|
||||
_, kOma
|
||||
|
||||
|
||||
_| paIp
|
||||
_: d'Op@lp,UNkt
|
||||
_; St@-*'ICpUNkt
|
||||
@@ -64,6 +74,13 @@ _rng k@-*'u:Ze:k
|
||||
_stk S@-*'Egst@-*IC
|
||||
_tld t'Ild@
|
||||
|
||||
æ $accent
|
||||
é $accent
|
||||
ç $accent
|
||||
č $accent
|
||||
š $accent
|
||||
ž $accent
|
||||
|
||||
// Not Roman numbers
|
||||
v faU
|
||||
x Iks
|
||||
|
||||
@@ -1150,24 +1150,5 @@
|
||||
|
||||
, (D kOma
|
||||
$ dOl'A:
|
||||
€ OY*o:
|
||||
£ paUnd
|
||||
% p@-*o:ts'Ent
|
||||
& Unt
|
||||
@ kl'ame:*,af@
|
||||
# nUm3
|
||||
+ plUs
|
||||
= glaIC
|
||||
~ tIld@
|
||||
\ bEkslES
|
||||
|
||||
|
||||
. pUnkt
|
||||
. (. _:
|
||||
\.) .
|
||||
|
||||
* StE*n
|
||||
*) * (*
|
||||
**
|
||||
**) * (_ _::
|
||||
|
||||
|
||||
+26
-23
@@ -20,6 +20,7 @@ Dictionary bn_dict
|
||||
& a a: a~ e E e~ i
|
||||
I i: i:~ i~ l- o O o:
|
||||
O~ o~ r- U u u: u:~ u~
|
||||
V
|
||||
|
||||
* b B bh c C ch d
|
||||
d. d.h dh g gh h j J
|
||||
@@ -46,10 +47,11 @@ Dictionary cs_dict
|
||||
i i: l- o o: oU r- u
|
||||
u:
|
||||
|
||||
* ; b c d dZ f g
|
||||
h j J k l l^ m n
|
||||
N n^ p r R R^ R^/ s
|
||||
S t tS ts v x z Z
|
||||
* ; b c d dZ dz f
|
||||
g h j J k l l^ m
|
||||
n N n^ p r R R^ R^/
|
||||
s S t tS ts v x z
|
||||
Z
|
||||
|
||||
|
||||
Dictionary cy_dict
|
||||
@@ -180,10 +182,10 @@ Dictionary hbs_dict
|
||||
E e e: i I i: l- O
|
||||
o o: oU r* r- u U u:
|
||||
|
||||
* ; b d dZ dZ; f g
|
||||
h j k l l^ m n N
|
||||
n^ p r R R2 s S t
|
||||
tS ts tS; v x z Z
|
||||
* ; b d dZ dz dZ; f
|
||||
g h j k l l^ m n
|
||||
N n^ p r R R2 s S
|
||||
t tS ts tS; v x z Z
|
||||
|
||||
|
||||
Dictionary hi_dict
|
||||
@@ -323,9 +325,9 @@ i: ie iu o o: u u: ui
|
||||
uo
|
||||
|
||||
: b c d dZ f g h
|
||||
j J k l l^ m n n^
|
||||
p r R R2 s S t tS
|
||||
ts v x z Z
|
||||
j J k l l^ m n N
|
||||
n^ p r R R2 s S t
|
||||
tS ts v z Z
|
||||
|
||||
|
||||
Dictionary mk_dict
|
||||
@@ -334,10 +336,10 @@ Dictionary mk_dict
|
||||
e e: i I i: l- o o:
|
||||
oU r- u u:
|
||||
|
||||
* b d dZ dZ; f g h
|
||||
j k k^ l l^ m n N
|
||||
n^ p r R s S t tS
|
||||
ts tS; v x z Z
|
||||
* b d dZ dz dZ; f g
|
||||
h j k k^ l l^ m n
|
||||
N n^ p r R s S t
|
||||
tS ts tS; v x z Z
|
||||
|
||||
|
||||
Dictionary ml_dict
|
||||
@@ -411,10 +413,10 @@ a E E# E~ i O O~ u
|
||||
y
|
||||
|
||||
: ; b c C d d; dZ
|
||||
dz; f g h j k l m
|
||||
n N n^ p r R s S
|
||||
s; S; t t; tS ts ts; tS;
|
||||
v w x z Z Z;
|
||||
dz dz; f g h j k l
|
||||
m n N n^ p r R s
|
||||
S s; S; t t; tS ts ts;
|
||||
tS; v w x z Z Z;
|
||||
|
||||
|
||||
Dictionary pt_dict
|
||||
@@ -476,10 +478,11 @@ Dictionary sk_dict
|
||||
l- l: o o: oU r- r: u
|
||||
u:
|
||||
|
||||
* ; b d d; dZ f g
|
||||
h j k l l^ m n N
|
||||
n^ p r R R^ R^/ s S
|
||||
t t; tS ts v x z Z
|
||||
* ; b d d; dZ dz f
|
||||
g h j k l l^ m n
|
||||
N n^ p r R R^ R^/ s
|
||||
S t t; tS ts v x z
|
||||
Z
|
||||
|
||||
|
||||
Dictionary sq_dict
|
||||
|
||||
+6
-4
@@ -178,6 +178,8 @@ _‴ trIp@LpraIm
|
||||
_‼ Ekskla2m'eIS@nz
|
||||
_₠ jU@roU
|
||||
|
||||
@ _at_
|
||||
& _and
|
||||
\ bakstroUk $max3
|
||||
/ stroUk $max3
|
||||
?3 \ bakslaS $max3
|
||||
@@ -2279,7 +2281,7 @@ Berlin b3:l'In
|
||||
Bhutan bu:t'an
|
||||
Bogota b0g@t'A:
|
||||
?3 Boston bOst@n
|
||||
Bucharest bu:k@r'Est
|
||||
Bucharest bu:ka2r'Est
|
||||
Budapest bu:d@p'Est
|
||||
Buenos bweIn0s
|
||||
Burundi bUr'UndI
|
||||
@@ -2308,7 +2310,7 @@ Djibouti dZIb'u:tI
|
||||
Egyptian IdZ'IpS@n
|
||||
Eire e@r@
|
||||
Geneva dZ@ni:v@
|
||||
Harare h@rA:rI
|
||||
Harare ha2rA:rI
|
||||
Hanoi han'OI
|
||||
Hawaii h@w'aIi:
|
||||
Hawai'i h@w'aIi:
|
||||
@@ -2327,7 +2329,7 @@ Jakarta $2
|
||||
Jerusalem dZ@ru:s@l@m
|
||||
Johannesburg $2
|
||||
Kalgoorlie kalgU@lI
|
||||
Karachi k@rA@tSI
|
||||
Karachi ka2rA@tSI
|
||||
Kentucky $2
|
||||
Kiev ki:Ev
|
||||
Khmer kmi@3
|
||||
@@ -2413,7 +2415,7 @@ Taipei t,aIp'eI
|
||||
Taiwan taI'wan
|
||||
(tel aviv) t,El||a2v'i:v
|
||||
Tibet tI2b'Et
|
||||
Totonto t@r0ntoU
|
||||
Toronto t@r0ntoU
|
||||
Timor ti:mo@
|
||||
Tokyo toUkIoU
|
||||
Toulouse tu:l'u:z
|
||||
|
||||
+4
-3
@@ -730,6 +730,7 @@
|
||||
r) anged (S1 d
|
||||
perm) an @n
|
||||
ang (er aNg
|
||||
h) ang (er aN
|
||||
m) anoeu (v @nu:
|
||||
_qu) an 0n
|
||||
_w) an 0n
|
||||
@@ -3404,7 +3405,9 @@
|
||||
cla) ng (er Ng
|
||||
ta) ngi ndZI
|
||||
i) ng (er Ng
|
||||
bi) ng (er ndZ
|
||||
ri) ng (er N
|
||||
si) ng (er N
|
||||
bi) ng (er ndZ
|
||||
gi) ng (er ndZ
|
||||
o) ng (er Ng
|
||||
you) ng (er Ng
|
||||
@@ -5338,8 +5341,6 @@
|
||||
: koUl@n
|
||||
D_) : (_DD_ // omit colon in time, eg: 2:30
|
||||
$ d0l3
|
||||
@ at_:
|
||||
& _!%and
|
||||
!= n0ti:kw@Lz
|
||||
>= greIt@O@i:kw@L
|
||||
<= lEsO@i:kw@L
|
||||
|
||||
+4
-4
@@ -61,14 +61,14 @@ _- dividost@-*eko
|
||||
__ subst@-*eko
|
||||
~ tildo
|
||||
° gradoI
|
||||
% p@-*otsento
|
||||
% p@-*otsento $max3
|
||||
@ _tSe_
|
||||
& kaI
|
||||
= egala
|
||||
& _kaI
|
||||
= egala $max3
|
||||
\ deklivo
|
||||
/ oblikvo
|
||||
| duktosigno
|
||||
* asteRisko
|
||||
* asteRisko $max3
|
||||
© kopiRaIto
|
||||
_( R'ondak@-*'ampo
|
||||
_) f'eRmaRondak@-*'ampo
|
||||
|
||||
+6
-4
@@ -67,15 +67,17 @@ _< p'ienempIk'uin
|
||||
_> s'u:*empIk'uin
|
||||
_- vi:va2
|
||||
__ ala2vi:va2
|
||||
+ plus
|
||||
+ plus $max3
|
||||
* asteriski $max3
|
||||
= 'yht&k'uin $max3
|
||||
% p@-*osent:I $max3
|
||||
/ kaut:a2
|
||||
\ keno
|
||||
€ eu*o
|
||||
£ punta2
|
||||
¤ valu:t:a2
|
||||
& et
|
||||
@ &t
|
||||
% p@-*osent:I
|
||||
& _et
|
||||
@ _&t
|
||||
~ tilde
|
||||
|
||||
_acu 'aku:t:I
|
||||
|
||||
+1
-3
@@ -207,13 +207,11 @@
|
||||
|
||||
.group
|
||||
å o
|
||||
å o:
|
||||
åå o:
|
||||
š S
|
||||
ž Z
|
||||
|
||||
$ dollarin
|
||||
* asteriski
|
||||
= 'yht&k'uin
|
||||
__) - (_D mi:nus
|
||||
A_) - (_D _
|
||||
C_) - (_D _
|
||||
|
||||
+4
-4
@@ -111,7 +111,6 @@ _# djEz
|
||||
_' a2postr'Of
|
||||
_( 'uvR@-parA~t'Ez
|
||||
_) f'Erm parA~t'Ez
|
||||
_* asterisk:
|
||||
_, virgyl
|
||||
_- tirE
|
||||
_. _|pw%E~
|
||||
@@ -142,10 +141,11 @@ _§ sEksj'O~
|
||||
|
||||
// symbols that are normally spoken when reading text
|
||||
@ arobaz
|
||||
% pursA~
|
||||
& e $u $brk
|
||||
% pursA~ $max3
|
||||
* asterisk: $max3
|
||||
& _e
|
||||
_& _e_komErsj'al
|
||||
+ plys
|
||||
+ plys $max3
|
||||
~ tilde
|
||||
€ @ro
|
||||
¢ sEnt
|
||||
|
||||
+10
-6
@@ -51,7 +51,7 @@ _ú $accent
|
||||
_lig l'ig&t,UR&
|
||||
_acu 'akUt
|
||||
_ac2 dv'ostr**UkI;'akUt
|
||||
//_brv
|
||||
_brv br**'Ev // ??
|
||||
_ced ts'EdIl&
|
||||
_cir ts'iRkUmflEks
|
||||
_dia 'uml&Ut
|
||||
@@ -71,8 +71,12 @@ _tld t'ild&
|
||||
_cap k'apIt&l // ?? use English until I find the correct word
|
||||
|
||||
© 'aUtoRsk&||pr*av&
|
||||
% p'osto
|
||||
+ plus
|
||||
* zvj'ezdits& $max3
|
||||
= _j'edn&ko $max3
|
||||
% p'osto $max3
|
||||
+ plus $max3
|
||||
. totSk& $max3
|
||||
?4 . tatSk& $max3
|
||||
€ 'euRo
|
||||
?4 € 'evr*o
|
||||
@ _'at
|
||||
@@ -82,9 +86,9 @@ _tld t'ild&
|
||||
?2 ! 'uzvItSnIk
|
||||
: dv'ototSk&
|
||||
?4 : dv'ot&tSk&
|
||||
# br*'oj_
|
||||
/ kr*'oz_
|
||||
\\ b'EkslES
|
||||
# br*'oj_ $max3
|
||||
/ kr*'oz_ $max3
|
||||
\ b'EkslES $max3
|
||||
^ ts'iRkumfleks
|
||||
~ t'ild&
|
||||
¤ v'alut&
|
||||
|
||||
@@ -148,25 +148,10 @@
|
||||
|
||||
$ d'ol&R
|
||||
|
||||
. totSk&
|
||||
?4 . tatSk&
|
||||
. (. _:
|
||||
\.) .
|
||||
|
||||
__) - (_D minus
|
||||
A_) - (_D _
|
||||
C_) - (_D _
|
||||
--) -
|
||||
|
||||
* zvj'ezdits&
|
||||
*) * (*
|
||||
**
|
||||
**) * (_ _::
|
||||
|
||||
= _j'edn&ko
|
||||
= (==
|
||||
=) = (=
|
||||
==) = (_ _::
|
||||
|
||||
.group 0xce // Greek letters
|
||||
|
||||
|
||||
+42
-3
@@ -50,7 +50,7 @@ _lig ligAtu:R2A
|
||||
_acu e:lES
|
||||
_ac2 kEt:Y:S
|
||||
_brv fe:lkYR2
|
||||
//_ced // cedilla
|
||||
_ced tse:dillE
|
||||
_cir tsiR2kumflEks
|
||||
_dia tR2e:mA
|
||||
//_dot // dot above
|
||||
@@ -343,10 +343,49 @@ ty ce:
|
||||
ly Ellipsilon
|
||||
ny En^
|
||||
|
||||
_. pont
|
||||
ä $accent
|
||||
æ $accent
|
||||
ç $accent
|
||||
ñ $accent
|
||||
ø $accent
|
||||
ß _^_DE
|
||||
|
||||
. pont $max3
|
||||
* tS'illAg $max3
|
||||
% sa:zAle:k $max3
|
||||
+ plus $max3
|
||||
= EJEnlY:Se:g $max3
|
||||
@ kukAts
|
||||
& e:SjEl
|
||||
€ EuR2o
|
||||
¶ bEkEzde:S
|
||||
§ pAR2AgR2AfuS
|
||||
~ tildE
|
||||
^ hia:n^
|
||||
° fokjEl
|
||||
Ft foR2int
|
||||
|
||||
|
||||
_, vEss2Y:
|
||||
_; pontoSvEss2Y:
|
||||
_: kEt:Y:Spont
|
||||
_! fElkia:lto:
|
||||
_? ke:R2dY:
|
||||
_- kYtY:jEl
|
||||
__ Ala:hu:za:S
|
||||
_' ApostR2o:f
|
||||
_– nAJkYtY:
|
||||
_— kviR2tmi:nus
|
||||
_" ide:zY:
|
||||
_( za:R2o:
|
||||
_) za:R2o:
|
||||
_[ s'YglEtES||z'a:R2o:
|
||||
_] s'YglEtES||z'a:R2o:
|
||||
_{ k'AptSoS||z'a:R2o:
|
||||
_} k'AptSoS||z'a:R2o:
|
||||
_# sa:mjEl
|
||||
_… ha:R2_mASpont
|
||||
_• di:spont
|
||||
_\ viss2ApER2
|
||||
|
||||
// Main Exceptions List
|
||||
//=====================
|
||||
|
||||
@@ -336,19 +336,3 @@ _szára) zs (ág zS
|
||||
ç tS
|
||||
ñ n^
|
||||
ø Y
|
||||
|
||||
% sa:zAle:k
|
||||
@ kukAts
|
||||
€ EuR2o
|
||||
+ plus
|
||||
§ pAR2AgR2AfuS
|
||||
|
||||
. pont
|
||||
. (. _:
|
||||
\.) .
|
||||
|
||||
|
||||
* tS'illAg // asterisk
|
||||
*) * (*
|
||||
**
|
||||
**) * (_ _::
|
||||
|
||||
@@ -441,7 +441,6 @@ principi $1
|
||||
tesser tess'ER
|
||||
uomini $1
|
||||
|
||||
|
||||
// $alt = use ò or è in the stressed syllable
|
||||
// If the final vowel is omitted, then the rule applies to 'a' 'e' 'i' 'o'
|
||||
$textmode
|
||||
|
||||
+7
-7
@@ -174,21 +174,21 @@ _{ n,av;as||klamROvy
|
||||
_} pRavy||n,av;as||klamR'Ovy
|
||||
_' ap'OstROf
|
||||
|
||||
. kR'Opka
|
||||
. kR'Opka $max3
|
||||
~ t'ylda
|
||||
= R'uvna||S;E
|
||||
/ slES
|
||||
* gv;'astka
|
||||
\ b'EkslES
|
||||
= R'uvna||S;E $max3
|
||||
/ slES $max3
|
||||
* gv;'astka $max3
|
||||
\ b'EkslES $max3
|
||||
| kR,Eska||p;On'Ova
|
||||
# haS
|
||||
# haS $max3
|
||||
_$ d'OlaR
|
||||
% pR'OtsEnt
|
||||
^ d'aSEk // what's be better?
|
||||
& and
|
||||
` 'aktsEnt
|
||||
@ m'awpa
|
||||
+ plus
|
||||
+ plus $max3
|
||||
|
||||
// other characters
|
||||
|
||||
|
||||
+14
-5
@@ -53,11 +53,11 @@ _ô $accent
|
||||
_õ $accent
|
||||
_ú $accent
|
||||
_ü $accent
|
||||
ß _^_DE
|
||||
|
||||
v ve // not Roman numbers
|
||||
x Sis#
|
||||
|
||||
|
||||
_cap maI'uskulU
|
||||
_?A l'etR&_
|
||||
_?? s'imbolU_
|
||||
@@ -65,21 +65,31 @@ _#32 esp'asU
|
||||
?1 _#32 Sp'asU
|
||||
_#9 tab
|
||||
|
||||
_. p'oNtU
|
||||
* &ste*'iskU $max3
|
||||
= __igw'&l_ $max3
|
||||
. p'oNtU $max3
|
||||
+ maIs# $max3
|
||||
% pors'eINtU $max3
|
||||
& _'e_
|
||||
@ &x'ob&
|
||||
¤ 'eU*U
|
||||
€ 'eU*U
|
||||
§ p&*'agRafU
|
||||
|
||||
|
||||
_! ,eskl&mas'&U~
|
||||
_" 'asp&s#
|
||||
|
||||
?1 _# k,ardin'al
|
||||
?2 _# k,ardZin'aU
|
||||
_$ s,ifR'&U~
|
||||
_% pors'eINtU
|
||||
_& 'e
|
||||
?1 _' ap'Ostr,ofy
|
||||
?2 _' &p'OstRofU
|
||||
_( ,abRipa*'eINtezy
|
||||
_) f,ES&pa*'eINtezy
|
||||
_* &ste*'iskU
|
||||
_+ m'aIs#
|
||||
_− m'enUs
|
||||
|
||||
_, v'irgul&
|
||||
_- 'ifeIN
|
||||
@@ -91,7 +101,6 @@ _< men'Or
|
||||
?2 _= igw'aU
|
||||
_> maI'Or
|
||||
_? ,iNtex,ogas'&U~
|
||||
_@ &x'ob&
|
||||
_[ ,abRikowS'etSi
|
||||
_\ b,ax&,iNvertS'id&
|
||||
_] f,ES&kowS'etSi
|
||||
|
||||
@@ -838,39 +838,17 @@
|
||||
ü u
|
||||
ß s
|
||||
|
||||
% pors'eINtU
|
||||
$ sifR'&U~
|
||||
_r_) $
|
||||
− m'enUs
|
||||
+ maIs#
|
||||
& 'e
|
||||
@ &x'ob&
|
||||
¤ 'eU*U
|
||||
€ 'eU*U
|
||||
§ p&*'agRafU
|
||||
|
||||
D_) º %o // ordinal
|
||||
D_) ª %a // ordinal
|
||||
|
||||
|
||||
// don't speak multiple occurances of these symbols
|
||||
, (D v'irgul&
|
||||
. p'oNtU
|
||||
. (. _:
|
||||
\.) .
|
||||
|
||||
* &ste*'iskU
|
||||
*) * (*
|
||||
**
|
||||
**) * (_ _::
|
||||
|
||||
__) - (_D m'enUs
|
||||
A_) - (_D _
|
||||
C_) - (_D _
|
||||
--) -
|
||||
|
||||
= __igw'&l_
|
||||
= (==
|
||||
=) = (=
|
||||
==) = (_ _::
|
||||
|
||||
|
||||
+10
-5
@@ -46,6 +46,7 @@ z zet
|
||||
â ,ydin'a $atend
|
||||
ă '@ $atend
|
||||
î ,ydin'i $atend
|
||||
ö $accent
|
||||
|
||||
_?? ka*akt'er
|
||||
_cap maZusk'ul@
|
||||
@@ -69,7 +70,7 @@ _tld t'ild@
|
||||
|
||||
|
||||
// punctuation and symbols
|
||||
_. punkt
|
||||
|
||||
_, v'irgul@
|
||||
_: do'u@p'unkte
|
||||
_; p'unkt||Siv'irgul@
|
||||
@@ -93,9 +94,11 @@ _| b'ar@vertik'al@
|
||||
_#9 t'ab
|
||||
_#32 sp'atsiU
|
||||
|
||||
= eg'al
|
||||
# dj'ez
|
||||
+ plus
|
||||
. punkt $max3
|
||||
* aste*isk $max3
|
||||
= eg'al $max3
|
||||
# dj'ez $max3
|
||||
+ plus $max3
|
||||
& ampersand
|
||||
© k'apiraIt
|
||||
@ a*'ond
|
||||
@@ -104,7 +107,6 @@ _#32 sp'atsiU
|
||||
° g@-*ade
|
||||
|
||||
|
||||
|
||||
// numeric
|
||||
//********
|
||||
_0 z'e*o
|
||||
@@ -180,6 +182,9 @@ _dpt _v'irgul@
|
||||
_0Z2 s'utimi
|
||||
_0Z3 m'iImi
|
||||
|
||||
// not Roman numbers
|
||||
vi vi
|
||||
vii viI
|
||||
|
||||
// Abbreviations
|
||||
//**************
|
||||
|
||||
+2
-11
@@ -7,7 +7,8 @@
|
||||
.replace
|
||||
ș ş
|
||||
ț ţ
|
||||
|
||||
Ș ş // because Windows doesn't convert upper-case Ș Ț to lower-case
|
||||
Ț ţ
|
||||
|
||||
.group a
|
||||
a a
|
||||
@@ -471,19 +472,9 @@
|
||||
|
||||
, (D v'irgul@
|
||||
|
||||
. punkt
|
||||
. (. _:
|
||||
\.) .
|
||||
|
||||
__) - (_D m'inus
|
||||
A_) - (_D _
|
||||
C_) - (_D _
|
||||
--) -
|
||||
|
||||
* aste*isk
|
||||
*) * (*
|
||||
**
|
||||
**) * (_ _::
|
||||
|
||||
|
||||
|
||||
|
||||
+18
-8
@@ -47,6 +47,8 @@ y ipsilon
|
||||
_z zet
|
||||
ž Zet
|
||||
|
||||
ě $accent
|
||||
|
||||
// accent names
|
||||
_lig l'igat,u:Rov,ane:
|
||||
_acu s_d'l:Zn^om
|
||||
@@ -72,16 +74,19 @@ _#9 t'ab
|
||||
_#32 'medzeRa
|
||||
_?A znak
|
||||
|
||||
* hviezda $max3
|
||||
+ plus $max3
|
||||
= Rovna:sa $max3
|
||||
@ zavina:tS
|
||||
& ampeRsand
|
||||
# kRi:Zik $max3
|
||||
|
||||
_! vi:kRitSn^i:k
|
||||
_" u:vodzovki
|
||||
_# kRi:Zik
|
||||
_$ dola:R
|
||||
_& ampeRsand
|
||||
_' apostRof
|
||||
_( za:tvoRka
|
||||
_) zatvoRit;
|
||||
_* hviezda
|
||||
+ plus
|
||||
_, tSiaRka
|
||||
_- poml-tSka
|
||||
__ podtSiaRknutie
|
||||
@@ -90,10 +95,8 @@ _/ lomeno
|
||||
_: dvojbodka
|
||||
_; bodkotSiaRka
|
||||
_< menSi:
|
||||
_= Rovna:sa
|
||||
_> vetSSi:
|
||||
_? ota:zn^ik
|
||||
_@ zavina:tS
|
||||
_[ hRanata:||za:tvoRka
|
||||
_\ opatSne:||lomeno
|
||||
_] hRanata:||zatvoRit;
|
||||
@@ -179,8 +182,15 @@ _2C dv'est'o
|
||||
_0M1 t;'isi:ts
|
||||
_1M1 t;'isi:ts
|
||||
_2M1 dv'et;'isi:ts
|
||||
_0M2 m'ilio:n
|
||||
_0M3 m'iljaRda
|
||||
_0M2 m'ilio:nou // others, 5-9
|
||||
_0MA2 m'ilio:ni // for 2,3,4 million
|
||||
_1M2 m'ilio:n // for 1 million
|
||||
_0M3 m'iljaRt
|
||||
_0MA3 m'iljaRdi
|
||||
_1M3 m'iljaRda
|
||||
_0M4 b'ilio:nou
|
||||
_0MA4 b'ilio:ni
|
||||
_1M4 b'ilio:n
|
||||
_dpt _:tSj,arka_
|
||||
|
||||
|
||||
|
||||
+6
-4
@@ -44,7 +44,7 @@ _?A haRf
|
||||
_acu vURg'UimI
|
||||
_ac2 tS'IftvURg'UimI
|
||||
_brv ku#s'altmaimI
|
||||
_ced tSEnJ'El
|
||||
_ced h'aRf
|
||||
_cir Sapk'a
|
||||
_dia Umla'Ut
|
||||
_dot YstnOkt'a
|
||||
@@ -75,15 +75,17 @@ _^ IndZ'EltmEiSa*et'I
|
||||
_& v'EiSa*et'I
|
||||
_* j'u#ldu#z
|
||||
_@ kUjRUkl'U'a
|
||||
_\\ t'ERs||ej,IktSIzg'I
|
||||
_\ t'ERs||ej,IktSIzg'I
|
||||
¶ pa*agR'af
|
||||
§ tSEnJ'El
|
||||
° de*edZ'E
|
||||
_# dij'Ez
|
||||
_~ jaklaS'u#k
|
||||
__ ,alttSIzg'I
|
||||
+ aRt'u#
|
||||
€ avR'O
|
||||
= ESIt $max3
|
||||
% jYzdE $max3
|
||||
+ aRtu# $max3
|
||||
€ avRO
|
||||
|
||||
|
||||
_0 su#fu#R
|
||||
|
||||
+1
-1
@@ -321,5 +321,5 @@
|
||||
|
||||
.group
|
||||
$ dolar
|
||||
' (Pb % // split a word at ' and translate the first part separately.
|
||||
' (Pb // split a word at ' and translate the first part separately.
|
||||
|
||||
|
||||
+52
-46
@@ -2,12 +2,12 @@
|
||||
new total
|
||||
base 103 103
|
||||
base2 24 122
|
||||
en 51 149
|
||||
en_n 31 149
|
||||
en_us 36 150
|
||||
en 50 149
|
||||
en_n 32 149
|
||||
en_us 37 150
|
||||
en_sc 39 151
|
||||
en_rp 34 149
|
||||
en_wm 30 149
|
||||
en_wm 31 149
|
||||
en_wi 30 149
|
||||
af 39 135
|
||||
cy 29 129
|
||||
@@ -22,12 +22,12 @@
|
||||
hu 23 119
|
||||
lv 29 126
|
||||
nl 28 126
|
||||
pl 19 116
|
||||
sk 28 134
|
||||
cs 6 134
|
||||
hr 26 139
|
||||
mk 3 140
|
||||
sr 14 139
|
||||
pl 20 117
|
||||
sk 28 135
|
||||
cs 6 135
|
||||
hr 26 140
|
||||
mk 3 141
|
||||
sr 14 140
|
||||
ru 39 134
|
||||
it 17 125
|
||||
la 21 121
|
||||
@@ -49,15 +49,15 @@
|
||||
tr 18 127
|
||||
ku 18 127
|
||||
id 15 124
|
||||
sq 35 127
|
||||
hy 24 119
|
||||
rw 15 129
|
||||
ko 18 159
|
||||
da 15 133
|
||||
sq 35 127
|
||||
ml 13 151
|
||||
kn 15 151
|
||||
bn 59 155
|
||||
ne 18 157
|
||||
hy 24 119
|
||||
om 25 125
|
||||
en_klatt 77 149
|
||||
ga 18 117
|
||||
@@ -184,6 +184,7 @@ d/xd [d] base
|
||||
[d.h] hi
|
||||
[d] hu
|
||||
[d] pl
|
||||
[dz] pl
|
||||
[d] hr
|
||||
[d] ru
|
||||
[d;] ro
|
||||
@@ -192,9 +193,9 @@ d/xd [d] base
|
||||
[d] id
|
||||
[d] sq
|
||||
[dz] sq
|
||||
[dz] hy
|
||||
[d] bn
|
||||
[d.] bn
|
||||
[dz] hy
|
||||
[d[] ga
|
||||
d/xd2 [d`] om
|
||||
d/xd3 [dh] hi
|
||||
@@ -751,10 +752,12 @@ n/nj [n] base
|
||||
[n] da
|
||||
n/n_long_ [n] zh
|
||||
nn/_nn [N] base
|
||||
[N] en
|
||||
[N] en_n
|
||||
[N] en_wm
|
||||
[N] zh
|
||||
nn/nn_ [N] base
|
||||
[N] en
|
||||
[N] en_n
|
||||
[N] en_wm
|
||||
nn/nn@ [(@)] base
|
||||
[(@)] en_klatt
|
||||
nn/nn#_ [N#] is
|
||||
@@ -945,8 +948,8 @@ ufric/s [s] base
|
||||
[z2] fr
|
||||
[s] es
|
||||
[s#] pt
|
||||
[s`] ko
|
||||
[z] sq
|
||||
[s`] ko
|
||||
[s] en_klatt
|
||||
ufric/s_ [s] base
|
||||
[z] base
|
||||
@@ -1103,10 +1106,10 @@ ustop/k_unasp [k] base
|
||||
[k] sk
|
||||
[k] el
|
||||
[k] zhy
|
||||
[k`] ko
|
||||
[k] sq
|
||||
[k] bn
|
||||
[k] hy
|
||||
[k`] ko
|
||||
[k] bn
|
||||
ustop/k_unasp_ [k] zh
|
||||
ustop/null [?] base
|
||||
ustop/p [p] base
|
||||
@@ -1119,8 +1122,8 @@ ustop/p_ [p] base
|
||||
[p2] fr
|
||||
[ph] hi
|
||||
[ph] zh
|
||||
[ph] bn
|
||||
[p#] hy
|
||||
[ph] bn
|
||||
ustop/p_asp [bh] hi
|
||||
[ph] hi
|
||||
[p#] hy
|
||||
@@ -1138,10 +1141,10 @@ ustop/pl [p] base
|
||||
[p] la
|
||||
[p;] ro
|
||||
[p] sq
|
||||
[p] bn
|
||||
[ph] bn
|
||||
[p] hy
|
||||
[p#] hy
|
||||
[p] bn
|
||||
[ph] bn
|
||||
ustop/pr [p] base
|
||||
[p] base2
|
||||
[p] fi
|
||||
@@ -1151,10 +1154,10 @@ ustop/pr [p] base
|
||||
[p] hu
|
||||
[p] la
|
||||
[p;] ro
|
||||
[p] bn
|
||||
[ph] bn
|
||||
[p] hy
|
||||
[p#] hy
|
||||
[p] bn
|
||||
[ph] bn
|
||||
ustop/p_unasp [p] base
|
||||
[p] base2
|
||||
[p] fi
|
||||
@@ -1166,10 +1169,10 @@ ustop/p_unasp [p] base
|
||||
[p] la
|
||||
[p;] ro
|
||||
[p] zh
|
||||
[p`] ko
|
||||
[p] sq
|
||||
[p] bn
|
||||
[p] hy
|
||||
[p`] ko
|
||||
[p] bn
|
||||
ustop/p_unasp_ [p] base2
|
||||
[p] fi
|
||||
[p] hi
|
||||
@@ -1179,8 +1182,8 @@ ustop/p_unasp_ [p] base2
|
||||
[p] la
|
||||
[p;] ro
|
||||
[p] sq
|
||||
[p] bn
|
||||
[p] hy
|
||||
[p] bn
|
||||
ustop/q [q] base
|
||||
ustop/q_u [q] base
|
||||
ustop/t [t] base
|
||||
@@ -1216,18 +1219,18 @@ ustop/t_dnt [t] base
|
||||
[t;] ro
|
||||
[t[] vi
|
||||
[t] sw
|
||||
[t`] ko
|
||||
[t] sq
|
||||
[t] bn
|
||||
[t] hy
|
||||
[t`] ko
|
||||
[t] bn
|
||||
[t[] ga
|
||||
ustop/t_dnt2 [t[] vi
|
||||
ustop/t_ejc [t`] om
|
||||
ustop/t_hi [t] hi
|
||||
[t] sq
|
||||
[t] hy
|
||||
[t] bn
|
||||
[th] bn
|
||||
[t] hy
|
||||
ustop/t_pzd [t;] pl
|
||||
[t;] ru
|
||||
ustop/tr [t] base
|
||||
@@ -1240,6 +1243,7 @@ ustop/ts [ts] base2
|
||||
[ts] eo
|
||||
[ts] hu
|
||||
[ts] pl
|
||||
[dz] pl
|
||||
[ts] ru
|
||||
[ts;] ro
|
||||
[z] zhy
|
||||
@@ -1254,6 +1258,7 @@ ustop/ts_ [ts] base2
|
||||
[ts] hu
|
||||
[ts] lv
|
||||
[ts] pl
|
||||
[dz] pl
|
||||
[ts] ru
|
||||
[ts;] ro
|
||||
[ts] sq
|
||||
@@ -1289,13 +1294,13 @@ ustop/ts_pzd [tS;] base
|
||||
[ch] bn
|
||||
ustop/ts_pzd_ [c] hi
|
||||
[c] hu
|
||||
[c] bn
|
||||
[c] hy
|
||||
[c] bn
|
||||
ustop/ts_pzd2 [c] hi
|
||||
[c] hu
|
||||
[c] hy
|
||||
[c`] ko
|
||||
[c] bn
|
||||
[c] hy
|
||||
ustop/ts_pzd3 [tS;] hr
|
||||
[dZ;] hr
|
||||
ustop/t_sr [d] sr
|
||||
@@ -1406,8 +1411,8 @@ vdiph/ai [aI] base2
|
||||
[aI] pt
|
||||
[a:I] vi
|
||||
[aI] id
|
||||
[aI] kn
|
||||
[aI] hy
|
||||
[aI] kn
|
||||
vdiph/ai_2 [aI] en
|
||||
[aI] cy
|
||||
[aY] cy
|
||||
@@ -1440,8 +1445,8 @@ vdiph/eei [EI] base2
|
||||
[EI] de
|
||||
[EI] nl
|
||||
[EI] vi
|
||||
[eI] ne
|
||||
[eI] hy
|
||||
[eI] ne
|
||||
vdiph/eei_2 [eI] eo
|
||||
[ei] fi
|
||||
[ei] lv
|
||||
@@ -1704,10 +1709,10 @@ vowel/@ [@] base
|
||||
[@] en_rp
|
||||
[V] cy
|
||||
[@4] hi
|
||||
[@] hy
|
||||
[@] ml
|
||||
[@] kn
|
||||
[@4] bn
|
||||
[@] hy
|
||||
[@] ga
|
||||
vowel/@- [@-] base
|
||||
[r*] hr
|
||||
@@ -1726,7 +1731,8 @@ vowel/0 [0] en
|
||||
vowel/0_2 [0] en_n
|
||||
[O] pt_pt
|
||||
[o] sw
|
||||
vowel/0_3 [O] en_sc
|
||||
vowel/0_3 [O:] en_us
|
||||
[O] en_sc
|
||||
[0] en_rp
|
||||
[A] hu
|
||||
vowel/@_2 [@] vi
|
||||
@@ -1754,7 +1760,6 @@ vowel/@_4 [@] en_us
|
||||
[@] nl
|
||||
[@] no
|
||||
vowel/@_5 [W] fr
|
||||
vowel/@_6 [@/] en_us
|
||||
vowel/8 [o-] zh
|
||||
vowel/8_2 [U] en_us
|
||||
[8] sv
|
||||
@@ -1820,8 +1825,8 @@ vowel/a_3 [a] en_sc
|
||||
[a:] la
|
||||
[a] is
|
||||
[A] zh
|
||||
[A] da
|
||||
[a] sq
|
||||
[A] da
|
||||
vowel/a#_3 [a2] en
|
||||
[a2] en_n
|
||||
[a2] en_us
|
||||
@@ -1871,8 +1876,7 @@ vowel/aa_2 [A:] en
|
||||
[A] zh
|
||||
vowel/aa_3 [A:] af
|
||||
[A] sq
|
||||
vowel/aa_4 [O:] en_us
|
||||
[A:] sv
|
||||
vowel/aa_4 [A:] sv
|
||||
[O] vi
|
||||
vowel/aa_5 [A:] en_n
|
||||
[A:] en_wm
|
||||
@@ -1915,11 +1919,11 @@ vowel/e [e] base2
|
||||
[e] grc
|
||||
[e] vi
|
||||
[e] id
|
||||
[e] sq
|
||||
[e] rw
|
||||
[e#] rw
|
||||
[e] ko
|
||||
[e] da
|
||||
[e] sq
|
||||
[e] ml
|
||||
[e:] ml
|
||||
[e:] kn
|
||||
@@ -1991,9 +1995,9 @@ vowel/e_mid [E] en_rp
|
||||
[E] tr
|
||||
[E] id
|
||||
[E2] id
|
||||
[e] hy
|
||||
[E] da
|
||||
[E] bn
|
||||
[e] hy
|
||||
vowel/e_mid2 [E] af
|
||||
[E] de
|
||||
[E2] de
|
||||
@@ -2007,8 +2011,8 @@ vowel/e_mid2 [E] af
|
||||
[e] el
|
||||
[e] sw
|
||||
[e] tr
|
||||
[E] ko
|
||||
[e#] sq
|
||||
[E] ko
|
||||
[e] kn
|
||||
[E] om
|
||||
[E#] om
|
||||
@@ -2038,13 +2042,13 @@ vowel/i [i] base2
|
||||
[i] zhy
|
||||
[i] zh
|
||||
[i] sw
|
||||
[i] hy
|
||||
[i] rw
|
||||
[i#] rw
|
||||
[i] ko
|
||||
[i:] ml
|
||||
[i:] kn
|
||||
[i] ne
|
||||
[i] hy
|
||||
[i:] om
|
||||
[i:] ga
|
||||
vowel/i# [y:] cy
|
||||
@@ -2156,6 +2160,8 @@ vowel/@_low [3] en_rp
|
||||
[@2] bn
|
||||
[V] ne
|
||||
[@/] ne
|
||||
vowel/@_low2 [@/] en_us
|
||||
[@2] en_us
|
||||
vowel/o [o] base2
|
||||
[o:] en
|
||||
[oU] en_n
|
||||
@@ -2172,6 +2178,7 @@ vowel/o [o] base2
|
||||
[o] grc
|
||||
[o:] sv
|
||||
[o] id
|
||||
[o] hy
|
||||
[o] rw
|
||||
[o#] rw
|
||||
[o] ml
|
||||
@@ -2179,7 +2186,6 @@ vowel/o [o] base2
|
||||
[o] kn
|
||||
[o:] kn
|
||||
[o] bn
|
||||
[o] hy
|
||||
[o:] ga
|
||||
vowel/o_2 [o:] cy
|
||||
[o2] fr
|
||||
@@ -2204,8 +2210,8 @@ vowel/o_7 [o] ku
|
||||
vowel/oe [W] en
|
||||
[W] af
|
||||
[W] de
|
||||
[W] da
|
||||
[W] hy
|
||||
[W] da
|
||||
vowel/oe_2 [W] no
|
||||
[W] tr
|
||||
vowel/oe_4 [W] sv
|
||||
@@ -2342,12 +2348,12 @@ vowel/u_bck [u] base2
|
||||
[u] is
|
||||
[u] zhy
|
||||
[u] zh
|
||||
[u] hy
|
||||
[u] rw
|
||||
[u#] rw
|
||||
[u] ko
|
||||
[u:] bn
|
||||
[u] ne
|
||||
[u] hy
|
||||
[u:] ga
|
||||
vowel/u_bck2 [u:] la
|
||||
[u] sq
|
||||
|
||||
@@ -27,18 +27,6 @@ phoneme t2 // [t] which doesn't reduce
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme N
|
||||
vcd vel nasal
|
||||
vowelout f1=3 f2=2300 300 400 f3=-200 80 len=40 rms=20 brk
|
||||
length 100
|
||||
formants NULL
|
||||
after _ nn/_nn
|
||||
before _ nn/nn_
|
||||
lengthmod 8 // longer than 'n'
|
||||
linkout g-
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme l
|
||||
liquid
|
||||
length 100
|
||||
|
||||
@@ -1,4 +1,16 @@
|
||||
|
||||
phoneme N
|
||||
vcd vel nasal
|
||||
vowelout f1=3 f2=2300 300 400 f3=-200 80 len=40 rms=20 brk
|
||||
length 100
|
||||
formants NULL
|
||||
after _ nn/_nn
|
||||
before _ nn/nn_
|
||||
lengthmod 8 // longer than 'n'
|
||||
linkout g-
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
//*******************************************************************
|
||||
// VOWELS
|
||||
|
||||
+13
-9
@@ -1,5 +1,4 @@
|
||||
|
||||
|
||||
//*******************************************************************
|
||||
// VOWELS
|
||||
//*******************************************************************
|
||||
@@ -10,7 +9,6 @@ phoneme 3 // Schwa, used for rhotic schwa in American
|
||||
formants vwl_en_us/3_us
|
||||
unstressed
|
||||
linkout r-
|
||||
// beforevowel @
|
||||
length 210
|
||||
endphoneme
|
||||
|
||||
@@ -19,16 +17,24 @@ phoneme @ // Schwa
|
||||
vowel starttype (@) endtype (@)
|
||||
formants vowel/@_4
|
||||
unstressed
|
||||
before_r 3
|
||||
length 130
|
||||
endphoneme
|
||||
|
||||
phoneme @/ // Schwa, end of word
|
||||
vowel starttype (@) endtype (@)
|
||||
formants vowel/@_6
|
||||
formants vowel/@_low2
|
||||
unstressed
|
||||
length 130
|
||||
endphoneme
|
||||
|
||||
phoneme @2 // Schwa, changes to I before a vowel
|
||||
vowel starttype (@) endtype (@)
|
||||
formants vowel/@_low2
|
||||
unstressed
|
||||
beforevowel I2
|
||||
length 120
|
||||
endphoneme
|
||||
|
||||
phoneme @L
|
||||
vowel starttype (@) endtype l
|
||||
@@ -137,7 +143,7 @@ endphoneme
|
||||
|
||||
phoneme A@ // Used for [A:] when followed by 'r', becomes [A:]+[r] in American
|
||||
vowel starttype (a) endtype (@)
|
||||
length 250
|
||||
length 260
|
||||
formants vwl_en_us/ar
|
||||
appendph r
|
||||
endphoneme
|
||||
@@ -160,12 +166,10 @@ endphoneme
|
||||
|
||||
|
||||
phoneme O:
|
||||
vowel starttype (a) endtype (a)
|
||||
vowel starttype (o) endtype (o)
|
||||
length 210
|
||||
formants vowel/aa_4
|
||||
// formants vowel/aa_4
|
||||
formants vowel/0_3
|
||||
before r vwl_en_us/oor
|
||||
// before r vwl_en_us/or
|
||||
reduceto @ 0
|
||||
endphoneme
|
||||
|
||||
@@ -188,7 +192,7 @@ endphoneme
|
||||
|
||||
|
||||
phoneme O
|
||||
vowel starttype (a) endtype (a)
|
||||
vowel starttype (o) endtype (o)
|
||||
length 200
|
||||
formants vowel/aa#
|
||||
reduceto @ 0
|
||||
|
||||
@@ -1,4 +1,16 @@
|
||||
|
||||
phoneme N
|
||||
vcd vel nasal
|
||||
vowelout f1=3 f2=2300 300 400 f3=-200 80 len=40 rms=20 brk
|
||||
length 100
|
||||
formants NULL
|
||||
after _ nn/_nn
|
||||
before _ nn/nn_
|
||||
lengthmod 8 // longer than 'n'
|
||||
linkout g-
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
//*******************************************************************
|
||||
// VOWELS
|
||||
|
||||
+15
-1
@@ -138,7 +138,6 @@ phoneme d;
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
phoneme ts
|
||||
vls alv afr sibilant
|
||||
vowelin f1=0 f2=1700 -300 300 f3=-100 80
|
||||
@@ -146,9 +145,24 @@ phoneme ts
|
||||
lengthmod 2
|
||||
wave ustop/ts
|
||||
before _ ustop/ts_
|
||||
switchvoicing dz
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme dz
|
||||
vcd alv afr sibilant
|
||||
vowelin f1=1 f2=1700 -300 300 f3=-100 80
|
||||
vowelout f1=2 f2=1700 -300 300 f3=-100 80
|
||||
formants d/xd+ustop/ts
|
||||
before _ d/xd+ustop/ts_
|
||||
after _ NULL
|
||||
after @ d/xd
|
||||
lengthmod 5
|
||||
switchvoicing ts
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
|
||||
phoneme w
|
||||
liquid
|
||||
|
||||
+7
-6
@@ -365,6 +365,7 @@ endphoneme
|
||||
|
||||
phoneme r
|
||||
liquid starttype #r endtype #r
|
||||
rhotic
|
||||
length 100
|
||||
lengthmod 7
|
||||
beforenotvowel r/
|
||||
@@ -1324,6 +1325,12 @@ include ph_kurdish
|
||||
phonemetable id base2
|
||||
include ph_indonesian
|
||||
|
||||
phonemetable sq base
|
||||
include ph_albanian
|
||||
|
||||
phonemetable hy base
|
||||
include ph_armenian
|
||||
|
||||
|
||||
|
||||
phonemetable rw base2
|
||||
@@ -1335,9 +1342,6 @@ include ph_korean
|
||||
phonemetable da is
|
||||
include ph_danish
|
||||
|
||||
phonemetable sq base
|
||||
include ph_albanian
|
||||
|
||||
phonemetable ml hi
|
||||
include ph_malayalam
|
||||
|
||||
@@ -1350,9 +1354,6 @@ include ph_bengali
|
||||
phonemetable ne hi
|
||||
include ph_nepali
|
||||
|
||||
phonemetable hy base
|
||||
include ph_armenian
|
||||
|
||||
phonemetable om base
|
||||
include ph_oromo
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 71 KiB |
Binary file not shown.
Binary file not shown.
+6
-2
@@ -69,6 +69,7 @@
|
||||
#define tBEFORENOTVOWEL 19
|
||||
#define tBEFORENOTVOWEL2 20
|
||||
#define tSWITCHVOICING 21
|
||||
#define tBEFORE_R 22
|
||||
|
||||
#define tLINKOUT 23
|
||||
#define tVOWELIN 24
|
||||
@@ -83,7 +84,7 @@
|
||||
#define tSTRESSTYPE 32
|
||||
|
||||
|
||||
static const int flags_alternative[] = {phBEFOREVOWEL,phBEFOREVOWELPAUSE,phBEFORENOTVOWEL,phBEFORENOTVOWEL2,phSWITCHVOICING};
|
||||
static const int flags_alternative[] = {phBEFOREVOWEL,phBEFOREVOWELPAUSE,phBEFORENOTVOWEL,phBEFORENOTVOWEL2,phSWITCHVOICING,phBEFORE_R};
|
||||
|
||||
extern void MakeVowelLists(void);
|
||||
extern void FindPhonemesUsed(void);
|
||||
@@ -243,6 +244,7 @@ static keywtab_t keywords[] = {
|
||||
{"beforevowelpause", tBEFOREVOWELPAUSE},
|
||||
{"beforenotvowel",tBEFORENOTVOWEL},
|
||||
{"beforenotvowel2",tBEFORENOTVOWEL2},
|
||||
{"before_r",tBEFORE_R},
|
||||
{"linkout",tLINKOUT},
|
||||
{"switchvoicing",tSWITCHVOICING},
|
||||
{"vowelin",tVOWELIN},
|
||||
@@ -263,6 +265,7 @@ static keywtab_t keywords[] = {
|
||||
{"palatal", 0x2000000+phPALATAL},
|
||||
{"long", 0x2000000+phLONG},
|
||||
{"brkafter", 0x2000000+phBRKAFTER},
|
||||
{"rhotic", 0x2000000+phRHOTIC},
|
||||
{"nonsyllabic",0x2000000+phNONSYLLABIC},
|
||||
{"lengthenstop",0x2000000+phLENGTHENSTOP},
|
||||
|
||||
@@ -1465,6 +1468,7 @@ int Compile::CPhoneme()
|
||||
case tBEFORENOTVOWEL:
|
||||
case tBEFORENOTVOWEL2:
|
||||
case tSWITCHVOICING:
|
||||
case tBEFORE_R:
|
||||
ph->phflags |= flags_alternative[item - tBEFOREVOWEL];
|
||||
if((phcode = NextItem(tPHONEMEMNEM)) == -1)
|
||||
phcode = LookupPhoneme(item_string,1);
|
||||
@@ -1813,7 +1817,7 @@ int LoadEnvelope2(FILE *f, const char *fname)
|
||||
n = sscanf(line_buf,"%f %f %d",&env_x[n_points],&env_y[n_points],&env_lin[n_points]);
|
||||
if(n >= 2)
|
||||
{
|
||||
env_x[n_points] *= 1.28; // convert range 0-100 to 0-128
|
||||
env_x[n_points] *= (float)1.28; // convert range 0-100 to 0-128
|
||||
n_points++;
|
||||
}
|
||||
}
|
||||
|
||||
+33
-4
@@ -1271,7 +1271,16 @@ static void output_rule_group(FILE *f_out, int n_rules, char **rules, char *name
|
||||
static int compile_lettergroup(char *input, FILE *f_out)
|
||||
{//=====================================================
|
||||
char *p;
|
||||
char *p_start;
|
||||
int group;
|
||||
int ix;
|
||||
int n_items;
|
||||
int length;
|
||||
int max_length = 0;
|
||||
|
||||
#define N_LETTERGP_ITEMS 200
|
||||
char *items[N_LETTERGP_ITEMS];
|
||||
char item_length[N_LETTERGP_ITEMS];
|
||||
|
||||
p = input;
|
||||
if(!isdigit(p[0]) || !isdigit(p[1]))
|
||||
@@ -1296,18 +1305,38 @@ static int compile_lettergroup(char *input, FILE *f_out)
|
||||
fputc(group + 'A', f_out);
|
||||
letterGroupsDefined[group] = 1;
|
||||
|
||||
for(;;)
|
||||
n_items = 0;
|
||||
while(n_items < N_LETTERGP_ITEMS)
|
||||
{
|
||||
while(isspace2(*p)) p++;
|
||||
if(*p == 0)
|
||||
break;
|
||||
|
||||
|
||||
items[n_items] = p_start = p;
|
||||
while((*p & 0xff) > ' ')
|
||||
{
|
||||
fputc(*p++, f_out);
|
||||
p++;
|
||||
}
|
||||
fputc(0,f_out);
|
||||
*p++ = 0;
|
||||
length = p - p_start;
|
||||
if(length > max_length)
|
||||
max_length = length;
|
||||
item_length[n_items++] = length;
|
||||
}
|
||||
|
||||
// write out the items, longest first
|
||||
while(max_length > 1)
|
||||
{
|
||||
for(ix=0; ix < n_items; ix++)
|
||||
{
|
||||
if(item_length[ix] == max_length)
|
||||
{
|
||||
fwrite(items[ix],1,max_length,f_out);
|
||||
}
|
||||
}
|
||||
max_length--;
|
||||
}
|
||||
|
||||
fputc(RULE_GROUP_END,f_out);
|
||||
|
||||
return(0);
|
||||
|
||||
+4
-1
@@ -829,7 +829,10 @@ static const char *M_Variant(int value)
|
||||
{//====================================
|
||||
// returns M, or perhaps MA for some cases
|
||||
|
||||
if(((value % 100)>20) || ((value % 100)<10)) // but not teens, 10 to 19
|
||||
if((translator->langopts.numbers2 & 0x100) && (value >= 2) && (value <= 4))
|
||||
return("0MA"); // Czech, Slovak
|
||||
else
|
||||
if(((value % 100) < 10) || ((value % 100) > 20)) // but not teens, 10 to 19
|
||||
{
|
||||
if ((translator->langopts.numbers2 & 0x40) &&
|
||||
((value % 10)>=2) &&
|
||||
|
||||
@@ -55,10 +55,12 @@
|
||||
#define phBEFORENOTVOWEL 0x0c00
|
||||
#define phBEFORENOTVOWEL2 0x1000
|
||||
#define phSWITCHVOICING 0x0800
|
||||
#define phBEFORE_R 0x1400
|
||||
|
||||
#define phNONSYLLABIC 0x100000 // don't count this vowel as a syllable when finding the stress position
|
||||
#define phLONG 0x200000
|
||||
#define phLENGTHENSTOP 0x400000 // make the pre-pause slightly longer
|
||||
#define phRHOTIC 0x800000
|
||||
|
||||
// fixed phoneme code numbers, these can be used from the program code
|
||||
#define phonCONTROL 1
|
||||
|
||||
@@ -427,6 +427,13 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
|
||||
if(next->type == phVOWEL)
|
||||
alternative = ph->alternative_ph;
|
||||
break;
|
||||
|
||||
case phBEFORE_R:
|
||||
if(next->phflags & phRHOTIC)
|
||||
{
|
||||
alternative = ph->alternative_ph;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(ph->phflags & phBEFOREPAUSE)
|
||||
|
||||
+1
-1
@@ -1750,7 +1750,7 @@ static int ProcessSsmlTag(wchar_t *xml_buf, char *outbuf, int &outix, int n_outb
|
||||
}
|
||||
if((attr2 = GetSsmlAttribute(px,"time")) != NULL)
|
||||
{
|
||||
value = (attrnumber(attr2,0,1) * 25) / speed_factor1; // compensate for speaking speed to keep constant pause length
|
||||
value = (attrnumber(attr2,0,1) * 25) / speed.speed_factor1; // compensate for speaking speed to keep constant pause length
|
||||
|
||||
if(terminator == 0)
|
||||
terminator = CLAUSE_NONE;
|
||||
|
||||
+21
-9
@@ -136,24 +136,37 @@ void SetSpeed(int control)
|
||||
{
|
||||
// these are used in synthesis file
|
||||
s1 = (x * voice->speedf1)/256;
|
||||
speed_factor1 = (256 * s1)/115; // full speed adjustment, used for pause length
|
||||
if(speed_factor1 < 15)
|
||||
speed_factor1 = 15;
|
||||
speed.speed_factor1 = (256 * s1)/115; // full speed adjustment, used for pause length
|
||||
if(speed.speed_factor1 < 15)
|
||||
speed.speed_factor1 = 15;
|
||||
if(wpm >= 170)
|
||||
// speed_factor2 = 100 + (166*s1)/128; // reduced speed adjustment, used for playing recorded sounds
|
||||
speed_factor2 = 110 + (150*s1)/128; // reduced speed adjustment, used for playing recorded sounds
|
||||
speed.speed_factor2 = 110 + (150*s1)/128; // reduced speed adjustment, used for playing recorded sounds
|
||||
else
|
||||
speed_factor2 = 128 + (128*s1)/130; // = 215 at 170 wpm
|
||||
speed.speed_factor2 = 128 + (128*s1)/130; // = 215 at 170 wpm
|
||||
|
||||
if(wpm2 > 369)
|
||||
{
|
||||
if(wpm2 > 390)
|
||||
wpm2 = 390;
|
||||
speed_factor2 = faster[wpm2 - 370];
|
||||
speed.speed_factor2 = faster[wpm2 - 370];
|
||||
}
|
||||
}
|
||||
|
||||
speed_min_sample_len = 450;
|
||||
speed.min_sample_len = 450;
|
||||
speed.speed_factor3 = 110; // controls the effect of FRFLAG_LEN_MOD reduce length change
|
||||
|
||||
if(wpm2 >= 370)
|
||||
{
|
||||
// TESTING
|
||||
// use experimental fast settings if they have been specified in the Voice
|
||||
if(speed.fast_settings[0] > 0)
|
||||
speed.speed_factor1 = speed.fast_settings[0];
|
||||
if(speed.fast_settings[1] > 0)
|
||||
speed.speed_factor2 = speed.fast_settings[1];
|
||||
if(speed.fast_settings[2] > 0)
|
||||
speed.speed_factor3 = speed.fast_settings[2];
|
||||
}
|
||||
} // end of SetSpeed
|
||||
|
||||
|
||||
@@ -528,8 +541,7 @@ void CalcLengths(Translator *tr)
|
||||
length_mod *= speed3;
|
||||
|
||||
length_mod = length_mod / 128;
|
||||
// if(length_mod < 9)
|
||||
// length_mod = 9; // restrict how much lengths can be reduced
|
||||
|
||||
if(length_mod < 8)
|
||||
length_mod = 8; // restrict how much lengths can be reduced
|
||||
|
||||
|
||||
@@ -597,13 +597,13 @@ void MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, FILE *f_mbrola)
|
||||
{
|
||||
// a pause phoneme, which has not been changed by the translation
|
||||
name = '_';
|
||||
len = (p->length * speed_factor1)/256;
|
||||
len = (p->length * speed.speed_factor1)/256;
|
||||
// if(len == 0) continue;
|
||||
if(len == 0)
|
||||
len = 1;
|
||||
}
|
||||
else
|
||||
len = (80 * speed_factor2)/256;
|
||||
len = (80 * speed.speed_factor2)/256;
|
||||
|
||||
#ifdef USE_MBROLA_LIB
|
||||
MbrolaMarker(espeakEVENT_PHONEME, (p->sourceix & 0x7ff) + clause_start_char, 0, ph->mnemonic);
|
||||
@@ -664,7 +664,7 @@ void MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, FILE *f_mbrola)
|
||||
break;
|
||||
|
||||
case phVSTOP:
|
||||
len = (80 * speed_factor2)/256;
|
||||
len = (80 * speed.speed_factor2)/256;
|
||||
break;
|
||||
|
||||
case phFRICATIVE:
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@
|
||||
#include "translate.h"
|
||||
#include "wave.h"
|
||||
|
||||
const char *version_string = "1.39.42 17.Dec.08";
|
||||
const char *version_string = "1.39.48 19.Dec.08";
|
||||
const int version_phdata = 0x013900;
|
||||
|
||||
int option_device_number = -1;
|
||||
|
||||
+6
-8
@@ -45,9 +45,7 @@ PHONEME_LIST phoneme_list[N_PHONEME_LIST];
|
||||
int mbrola_delay;
|
||||
char mbrola_name[20];
|
||||
|
||||
int speed_factor1;
|
||||
int speed_factor2;
|
||||
int speed_min_sample_len;
|
||||
SPEED_FACTORS speed;
|
||||
|
||||
static int last_pitch_cmd;
|
||||
static int last_amp_cmd;
|
||||
@@ -192,9 +190,9 @@ int PauseLength(int pause, int control)
|
||||
int len;
|
||||
|
||||
if(control == 0)
|
||||
len = (pause * speed_factor1)/256;
|
||||
len = (pause * speed.speed_factor1)/256;
|
||||
else
|
||||
len = (pause * speed_factor2)/256;
|
||||
len = (pause * speed.speed_factor2)/256;
|
||||
|
||||
if(len < 5) len = 5; // mS, limit the amount to which pauses can be shortened
|
||||
return(len);
|
||||
@@ -253,8 +251,8 @@ static int DoSample2(int index, int which, int length_mod, int amp)
|
||||
length = length1;
|
||||
|
||||
|
||||
length = (length * speed_factor2)/256;
|
||||
min_length = speed_min_sample_len;
|
||||
length = (length * speed.speed_factor2)/256;
|
||||
min_length = speed.min_sample_len;
|
||||
if(format==0)
|
||||
min_length *= 2;
|
||||
|
||||
@@ -982,7 +980,7 @@ if(which==1)
|
||||
length_factor = length_mod;
|
||||
if(frame1->frflags & FRFLAG_LEN_MOD) // reduce effect of length mod
|
||||
{
|
||||
length_factor = (length_mod*4 + 256*3)/7;
|
||||
length_factor = (length_mod*(256-speed.speed_factor3) + 256*speed.speed_factor3)/256;
|
||||
}
|
||||
len = (frame_length * samplerate)/1000;
|
||||
len = (len * length_factor)/256;
|
||||
|
||||
+9
-3
@@ -213,6 +213,14 @@ typedef struct {
|
||||
int control;
|
||||
} MBROLA_TAB;
|
||||
|
||||
typedef struct {
|
||||
int speed_factor1;
|
||||
int speed_factor2;
|
||||
int speed_factor3;
|
||||
int min_sample_len;
|
||||
int fast_settings[8];
|
||||
} SPEED_FACTORS;
|
||||
|
||||
|
||||
// phoneme table
|
||||
extern PHONEME_TAB *phoneme_tab[N_PHONEME_TAB];
|
||||
@@ -304,9 +312,7 @@ int CompileDictionary(const char *dsource, const char *dict_name, FILE *log, cha
|
||||
|
||||
extern unsigned char *envelope_data[18];
|
||||
extern int formant_rate[]; // max rate of change of each formant
|
||||
extern int speed_factor1;
|
||||
extern int speed_factor2;
|
||||
extern int speed_min_sample_len;
|
||||
extern SPEED_FACTORS speed;
|
||||
|
||||
extern long count_samples;
|
||||
extern int outbuf_size;
|
||||
|
||||
@@ -282,7 +282,7 @@ Translator *SelectTranslator(const char *name)
|
||||
SetLetterBitsRange(tr,LETTERGP_F,0x3e,0x4c); // vowel signs, but not virama
|
||||
|
||||
tr->langopts.numbers = 0x1;
|
||||
tr->langopts.numbers2 = 0x100;
|
||||
tr->langopts.numbers2 = NUM2_100000;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -849,13 +849,13 @@ SetLengthMods(tr,3); // all equal
|
||||
tr->langopts.param[LOPT_COMBINE_WORDS] = 4; // combine some prepositions with the following word
|
||||
|
||||
tr->langopts.numbers = 0x0401 + 0x4000 + NUM_ROMAN;
|
||||
tr->langopts.numbers2 = 0x40;
|
||||
tr->langopts.numbers2 = 0x100;
|
||||
tr->langopts.thousands_sep = 0; //no thousands separator
|
||||
tr->langopts.decimal_sep = ',';
|
||||
|
||||
if(name2 == L('c','s'))
|
||||
{
|
||||
tr->langopts.numbers2 = 0x48; // variant numbers before milliards
|
||||
tr->langopts.numbers2 = 0x108; // variant numbers before milliards
|
||||
}
|
||||
|
||||
SetLetterVowel(tr,'y');
|
||||
|
||||
+4
-3
@@ -349,14 +349,15 @@ typedef struct {
|
||||
// bit21= say "roman" after the number, not before
|
||||
int numbers;
|
||||
|
||||
#define NUM2_100000 0x100 // numbers for 100,000 and 10,000,000
|
||||
#define NUM2_100000a 0x500 // numbers for 100,000 and 1,000,000
|
||||
#define NUM2_100000 0x800 // numbers for 100,000 and 10,000,000
|
||||
#define NUM2_100000a 0xc00 // numbers for 100,000 and 1,000,000
|
||||
// bits 1-4 use variant form of numbers before thousands,millions,etc.
|
||||
// bit6=(LANG=pl) two forms of plural, M or MA
|
||||
// bit7=(LANG-ru) use MB for 1 thousand, million, etc
|
||||
// bit8=(LANG=hi) special word for 100,000 and 10,000,000
|
||||
// bit8=(LANG=cs,sk) two forms of plural, M or MA
|
||||
// bit9=(LANG=rw) say "thousand" and "million" before its number, not after
|
||||
// bit10=(LANG=sw) special word for 100,000 and 1,000,000
|
||||
// bit11=(LANG=hi) special word for 100,000 and 10,000,000
|
||||
int numbers2;
|
||||
|
||||
int max_roman;
|
||||
|
||||
+40
-31
@@ -69,44 +69,46 @@ static int len_path_voices;
|
||||
espeak_VOICE voice_selected;
|
||||
|
||||
|
||||
|
||||
#define V_NAME 1
|
||||
#define V_LANGUAGE 2
|
||||
#define V_GENDER 3
|
||||
#define V_TRANSLATOR 4
|
||||
#define V_PHONEMES 5
|
||||
#define V_DICTIONARY 6
|
||||
enum {
|
||||
V_NAME = 1,
|
||||
V_LANGUAGE,
|
||||
V_GENDER,
|
||||
V_TRANSLATOR,
|
||||
V_PHONEMES,
|
||||
V_DICTIONARY,
|
||||
|
||||
// these affect voice quality, are independent of language
|
||||
#define V_FORMANT 7
|
||||
#define V_PITCH 8
|
||||
#define V_ECHO 9
|
||||
#define V_FLUTTER 10
|
||||
#define V_ROUGHNESS 11
|
||||
#define V_CLARITY 12
|
||||
#define V_TONE 13
|
||||
#define V_VOICING 14
|
||||
#define V_BREATH 15
|
||||
#define V_BREATHW 16
|
||||
V_FORMANT,
|
||||
V_PITCH,
|
||||
V_ECHO,
|
||||
V_FLUTTER,
|
||||
V_ROUGHNESS,
|
||||
V_CLARITY,
|
||||
V_TONE,
|
||||
V_VOICING,
|
||||
V_BREATH,
|
||||
V_BREATHW,
|
||||
|
||||
// these override defaults set by the translator
|
||||
#define V_WORDGAP 17
|
||||
#define V_INTONATION 18
|
||||
#define V_STRESSLENGTH 19
|
||||
#define V_STRESSAMP 20
|
||||
#define V_STRESSADD 21
|
||||
#define V_DICTRULES 22
|
||||
#define V_STRESSRULE 23
|
||||
#define V_CHARSET 24
|
||||
#define V_NUMBERS 25
|
||||
#define V_OPTION 26
|
||||
V_WORDGAP,
|
||||
V_INTONATION,
|
||||
V_STRESSLENGTH,
|
||||
V_STRESSAMP,
|
||||
V_STRESSADD,
|
||||
V_DICTRULES,
|
||||
V_STRESSRULE,
|
||||
V_CHARSET,
|
||||
V_NUMBERS,
|
||||
V_OPTION,
|
||||
|
||||
#define V_MBROLA 27
|
||||
#define V_KLATT 28
|
||||
V_MBROLA,
|
||||
V_KLATT,
|
||||
V_FAST,
|
||||
|
||||
// these need a phoneme table to have been specified
|
||||
#define V_REPLACE 29
|
||||
#define V_CONSONANTS 30
|
||||
V_REPLACE,
|
||||
V_CONSONANTS
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -147,6 +149,7 @@ static keywtab_t keyword_tab[] = {
|
||||
{"mbrola", V_MBROLA},
|
||||
{"consonants", V_CONSONANTS},
|
||||
{"klatt", V_KLATT},
|
||||
{"fast_test", V_FAST},
|
||||
|
||||
// these just set a value in langopts.param[]
|
||||
{"l_dieresis", 0x100+LOPT_DIERESES},
|
||||
@@ -385,6 +388,7 @@ void VoiceReset(int tone_only)
|
||||
voice->consonant_amp = 100;
|
||||
voice->consonant_ampv = 100;
|
||||
memset(voice->klatt,0,sizeof(voice->klatt));
|
||||
memset(speed.fast_settings,0,sizeof(speed.fast_settings));
|
||||
|
||||
#ifdef PLATFORM_RISCOS
|
||||
voice->roughness = 1;
|
||||
@@ -880,6 +884,11 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
voice->klatt[KLATT_Kopen] -= 40;
|
||||
break;
|
||||
|
||||
case V_FAST:
|
||||
Read8Numbers(p,speed.fast_settings);
|
||||
SetSpeed(2);
|
||||
break;
|
||||
|
||||
default:
|
||||
if((key & 0xff00) == 0x100)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user