Windows SAPI5 installer: Remove the limit on the number of voices specified for inclusion in the Windows Registry. voices.cpp: Widen formant peaks F3 F4 F5. Reduce slightly the difference in amplitude between stressed and unstressed vowels. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@208 d46cf337-b52f-0410-862d-fd96e6ae7743master
@@ -1,4 +1,4 @@ | |||
//maintainer: Willem van der Walt | |||
//maintainer: Willem van der Walt | |||
// email: [email protected] | |||
// tel: +27 12 8413996 | |||
// Meraka Institute, CSIR | |||
@@ -33,6 +33,7 @@ sms'e Es_Em_'Es@ | |||
sauk $abbrev | |||
st s@nt $dot | |||
supt suprEntEnd'Ent $dot | |||
tv te@fe@_ | |||
vsa $abbrev | |||
// letter names | |||
@@ -156,10 +157,9 @@ alaska al'aska | |||
algerië alx2'e@re@:@- | |||
antwerpen antv&rp@n | |||
babilon babilOn | |||
bangladesh baNglad'ES | |||
bangladesj baNglad'ES | |||
bastille bast'il | |||
bellevue b&lvju: | |||
berlyn $2 | |||
bermuda $2 | |||
bethlehem bEt_liEm | |||
boedapest budapEst | |||
@@ -233,8 +233,9 @@ nigel _^_EN | |||
outeniekwa @Ut@n'ikwa | |||
oxford _^_EN | |||
pelindaba p&l@nd'A:ba | |||
portugal $1 | |||
portugal pOrtyx2al | |||
potchefstroom pOtSIfstr'o@m | |||
richardsbaai ritS@dsb'AI | |||
robertson _^_EN | |||
sahara sah'A:ra | |||
secunda s@kunda | |||
@@ -244,6 +245,7 @@ soshanguve sOSaNg'u:vE | |||
soweto suw'E:tu | |||
springs _^_EN $capital | |||
sunnyside _^_EN | |||
suriname syrin'A:m@ | |||
swellendam $3 | |||
tokio to@kiu | |||
tunisië $2 | |||
@@ -292,6 +294,7 @@ cecilia s@si:lia | |||
charl SA:l | |||
charles _^_EN | |||
charlie tSA:li | |||
charmaine SA:m'eI:n | |||
chopin S%OpA~ | |||
conradie $2 | |||
chris krIs | |||
@@ -376,9 +379,11 @@ jones _^_EN | |||
jordaan $2 | |||
josef jo@s@f | |||
juanita juan'ita | |||
julia _^_EN | |||
kelvin _^_EN | |||
kim _^_EN $capital | |||
krige krix2@ | |||
labuschagne labWsk'ax2ni | |||
langenhoven laN@nho@f@n | |||
lasarus lA:s@r%Ws | |||
lategan lA:t@x2an | |||
@@ -497,7 +502,6 @@ schalkwyk skalkveIk | |||
schreiner SraIn@r | |||
tony t@Uni | |||
trichardt trix2A:rt | |||
xhosa kO:za | |||
khumalo kum'A:lu | |||
zuma zu:ma | |||
@@ -510,6 +514,7 @@ checkers tSEk@rs | |||
chrysler kraIsl@r | |||
ferrari f@rA:ri | |||
martini mart'i:ni | |||
naspers nasp&rs | |||
venda vEnda | |||
wimpy wImpi | |||
@@ -626,7 +631,7 @@ julle $u $verbf | |||
hulle $u $verbf | |||
hulleself hWl@s&lf $verbf | |||
my $u $verbf | |||
jou $u $verbf | |||
jou $u $only $verbf | |||
hom $u $verbf | |||
haar $u $only $verbf | |||
se Es@ $capital | |||
@@ -690,10 +695,12 @@ boskaas $2 | |||
bostaande b'o@stA:nd@ | |||
bourgeois _^_FR | |||
bourgeoisie _^_FR | |||
briewemes briv@mEs | |||
cabernet kab@rn'eI | |||
camembert kam@mb'&:r | |||
camouflage kamufl'A:Z | |||
capita kapita | |||
casino kas'i:n@U | |||
charisma kar'Isma | |||
chemikalieë $3 | |||
@@ -773,6 +780,7 @@ hokaai hOkAI | |||
hoofsaaklik $2 | |||
hoogedele ho@x2 _e@d@l@ | |||
hosanna hus'ana | |||
hotagter hOt_ax2t@r | |||
ibis $1 | |||
idee $2 | |||
@@ -816,7 +824,6 @@ lord _^_EN | |||
macaroni makar'o@ni | |||
madame mad'A:m | |||
madamoiselle _^_FR | |||
malles mal@s | |||
maskering mask'e@r@N $only | |||
massaal $2 | |||
massale $2 | |||
@@ -915,7 +922,7 @@ parkie $1 | |||
patos pA:tOs | |||
patriotisme patri|ut'Ism@ | |||
penorent pEno@rEnt | |||
per pIr | |||
per p@r $only | |||
persent p@rsEnt | |||
petite p@tit | |||
pinotage pinut'A:Z | |||
@@ -926,6 +933,7 @@ primate $2 | |||
rebelleer r@b@le@r | |||
rededele re@d@de@l@ | |||
regie r@Zi: | |||
renaissance rEn@s'A~ns | |||
retoriek r@tur'ik | |||
rimpeling rImp@l@N |
@@ -140,6 +140,7 @@ | |||
apart %apart // fix stress: (bus-/klein)apartheid | |||
_) a (po %a // apollo/apostel | |||
apo (krieC %ap%u // fix stress and vowel sounds: apokrief/-iewe | |||
a (politi %A: // lengthen a sound: apolitiek/apolities/-e | |||
apolog (A %ap%Ol%ux2 // fix stress and vowel sounds: apologie/apologeer/-gering/-geties/-getika/-geet/-gete | |||
C) ap (oor ap_ // fix stress and a sound: flap-/lap-/pap-/slapoor(hond) | |||
C) ap (ore_ ap_ // fix a sound: flap-/lapore | |||
@@ -502,6 +503,7 @@ | |||
boulevard bul@vard // boulevard/-s | |||
_) bowe b''o@v@ // fix e sound in compounds: boweaards/bowemaans/bowetoon | |||
_) breda br@dA: // move default stress: (van )Breda/Bredasdorp | |||
_) briewe (C br''iv@ // fix stress and e sound: briewekolom/-literatuur/-redakteur/-tas | |||
bril (jant br@l // move default stress: briljant/-e/-heid/-ste | |||
bro (mi br%o@ // fix stress: bromide/bromied(papier)/silwerbromide/ied | |||
bru (ta br%y // move default stress: brutaal/brutale/brutaliteit | |||
@@ -537,6 +539,7 @@ | |||
bene (dy b%e@n@ // fix stress and e sounds: gebenedy/-de | |||
_) ben (ga b%EN // fix stress and n/g sounds: Bengaalse/Bengale | |||
beni (g be@n@ // fix stress and e sound: (swaar/twee/vier)benig, etc. | |||
ber (lyn b%&r // move default stress: Berlyn/-er/-se | |||
ber (serk b@r // fix stress and 1st e sound: berserk/-er | |||
C) be (rsie b'&: //kombersie etc. | |||
bene (r be@n@ //benerig/e | |||
@@ -730,6 +733,7 @@ | |||
deur (waaid d%Y@r // move default stress: deurwaaid/-e | |||
deur (weeC d%y@r // move default stress: deurweef/deurweek/-te | |||
deur (winter d%y@r // move default stress: deurwinter/-de | |||
dewe (tK d@vE // fix stress and vowel sounds: Groepsgebiedewet/Dewetsdorp/-hof | |||
dia (C d%i%a // diabeet/diafragma/diagnose/dialek/dialoog/diamant | |||
diaken d%iA:k@n // diaken and compounds | |||
diako (nie d%i%ak%u // fix stress and o sound: diakonie/-ë | |||
@@ -789,7 +793,7 @@ | |||
detail d'i:teIl | |||
detai (lleer d%i:t%eI // fix stress: (ge)detailleer(d/-e) | |||
di (ssi d@ // move default stress: dissipel/-s | |||
dissipline d@s@plin@ // fix stress and e sound: dissipline/-s/dissiplinebeleid, etc. | |||
dissipline (K d@s@plin@ // fix stress and e sound: dissipline/-s/dissiplinebeleid, etc. | |||
distri (bu d@str@ // distribusie/distribueer and compounds | |||
_) dis (t d@s // stress: distrik/-te and compounds/distansie/distinksie/distorsie/distraksie | |||
distel dIst@l // restore default stress: distel and compounds | |||
@@ -1055,7 +1059,7 @@ | |||
eind (eks eInt_ // fix d sound and make short pause: eindeksamen/-s and compounds | |||
sirk) e (l @ // compounds: sirkelgang/sirkelvormig | |||
nk) e (lC @ // onwankelbaar/skenkelbeen/sprinkelbesproeiing/kinkeldraai/kronkelpad/seunsenkelspel | |||
u) ele (K+ 'e@l@ // words ending in uele take stress on penultimate slb | |||
Cu) ele (K+ 'e@l@ // words ending in uele take stress on penultimate slb | |||
_) erde (C &rd@ // fix connecting e in compounds: erdekruik/-ware and similar | |||
_) ere e@r@ // ereamp/erediens/ererol/erevoorsitter | |||
ere (ksiA %e@rE // fix stress and e sounds: ereksie/ereksionele | |||
@@ -1251,8 +1255,6 @@ | |||
&) etjie (+ ici | |||
Cn) etjies Eicis // kraaknetjies/hipernetjies | |||
nn) etjies icis // kannetjies/mannetjies/pennetjies, etc. | |||
&) elik (_S4 @l@k | |||
&) elike (_S5 @l@k@ // to go with suffixes elik/elikheid | |||
&) elikheid (_S8 @l@keIt // vriendelikheid/duidelikheid | |||
epi (deC %Ep%i // epidemie/-s/-e/epidermies/epidermis | |||
@@ -1352,7 +1354,7 @@ | |||
ar) e (sse_ 'E // bibliotekaresse/sekretaresse | |||
Ks) e (na @ //senator and friends/watsenaam | |||
p) e (talje @ // fix stress and 1st e sound: petalje and compounds | |||
interpr) e (teer @' //stress and e sound interpreteer | |||
interpr) e (tA @' //stress and e sound interpreteer/interpretasie | |||
_) e (ks %E //move default stress in words starting with eks | |||
_C) e (on_ 'i //Leon, Deon etc. | |||
@C) e (oor @_ // fix e sound: boekbeoordelaar/klasseoorheersing/tarieweoorlog/waardeoordeel | |||
@@ -1584,6 +1586,7 @@ | |||
gewe (_ x2'e@v@ // begewe/gegewe | |||
@) gewende (_ x2'e@v@nd@ | |||
@) gewend (_ x2'e@v@nt // insiggewend/deurslaggewend/liggewend | |||
@) gewend (ste x2'e@v@nt // fix stress and e sound: toonaangewendste and similar | |||
gewel (d x2@v&l //geweld/ig/gewelddadig | |||
gewel (f x2@v&l //gewelf/boog | |||
gewel (w x2@v'&l //gewelwe | |||
@@ -1898,7 +1901,7 @@ | |||
&C) ikend @k@nt // grinnikend/runnikend/sanikend | |||
&C) ikende @k@nd@ // grinnikende/runnikende/sanikende | |||
ingenieur @nx2@n'y@r | |||
insurgen (s @ns%Wrx2En // fix stress and e sound: (teen)insurgensie and compounds | |||
insurgen (C @ns%Wrx2En // fix stress and e sound: (teen)insurgensie and compounds/insurgent/-e | |||
inten (s @ntEn // move default stress | |||
in (tussen @n // move default stress | |||
_) iri (s ir@ // restore stress on 1st slb.: iris/-se | |||
@@ -1974,6 +1977,7 @@ | |||
jag (ing jA:x2 // long a in (ver)jaging and similar | |||
jaguar jagwar // fix a, g and u sounds: jaguar and compounds | |||
_) ja (CobA j%a // fix stress and a sound: Jacoba/Jacobus/Jakobus | |||
jacaranda j%ak%ar'anda //jacaranda and compounds | |||
jakaranda j%ak%ar'anda //jakaranda and compounds | |||
jakopewer j%ak%Ope@v@r_ // fix stress and vowel sounds: jakopewer/-oë | |||
jaloe (sie j%al%u // stress: jaloesie/beroepsjaloesie | |||
@@ -2148,6 +2152,7 @@ | |||
kanfer kA~nf@r_ // fix e sound: kanferboom/-bos/-hout/-olie, etc. | |||
kanfer (foel k%A~nf@r // move default stress: kanferfoelie and compounds | |||
kanni (ba k%an%i // move default stress: kannibaal/kannibale/kannibalisme | |||
@) ka (non k%a // shorten a sound in compounds like waterkanon/-ne | |||
_) kano (vaar k%ano@ // fix stress and vowel sounds: kanovaarder/vaart, etc. | |||
kano (_ k%ano@ // fix last o sound: (opblaas)kano/-'s | |||
kan (tien k%an // move default stress: kantien and compounds | |||
@@ -2429,12 +2434,14 @@ | |||
makaber m%akA:b@r // fix stress and vowel sounds: makaber/-e/-heid | |||
maka (paan m%ak%a // fix stress and a sounds: Makapaan/-s/-grot and compounds | |||
@) makie (sie mak'i // fix a sound and stress: bol(le)makiesie/-slanery | |||
ma (kietie m%a // fix stress and a sound: makietie and compounds: verjaardagmakietie/-s | |||
@) makranka makr'anka // fix stress and vowel sounds: koek(e)makranka/-s | |||
ma (kriel m%a // move default stress: makriel/-e | |||
maksi (ma@ m%aks%i // move default stress: maksimaal/-male | |||
&) mal (_S3 mal | |||
malaria mal'A:ria | |||
mal (gas m%al // move default stress: Malgas/-se/-sies | |||
malles (_ mal@s // fix e sound: (mags)malles and similar | |||
_) malte (sA m%alte@ // move default stress and fix e sound: maltese/maltesies | |||
mam (poer m%am // move default stress: mampoer and compounds | |||
man (da m%an //mandaat and compounds | |||
@@ -2483,8 +2490,9 @@ | |||
CA) mme (C m@ | |||
CA) mme (tjie mi // lemmetjie/stemmetjie and similar | |||
middagete m'Idax2_e@t@ // middagete/s | |||
middel mId@l // middellyf/middelpunt/middelste/bemiddelend | |||
midde (l mId@ // middellyf/middelpunt/middelste/bemiddelend | |||
middel (jari m@d@l // move default stress: middeljarig and derivatives | |||
middelli (k mId@l@ // drop one l: (on)middellik/-e | |||
milit m@l@t // militêr/militaris | |||
mil (jA m@l // move default stress: miljoen/-e/miljard/-e | |||
mille (nniA m@lE // millennium/millennia | |||
@@ -2731,6 +2739,7 @@ | |||
n (_n //cause one n sound kan nie doen nie etc. | |||
n (_n_ n // fix n in phrases like: afkappingsteken n | |||
neer (drukk n%e@r // move default stress: neerdrukkend/-e | |||
_) neerge (C@P6 n''e@rx2@ // fix e sound: neergepen/neergetel | |||
neer (halend n%e@r // move default stress: neerhalend/-e | |||
@) nees (_ n'e@s // fix stress: Soedanees and similar | |||
&) nele (_ n'e@l@ | |||
@@ -3686,8 +3695,10 @@ | |||
seku (l s%Ek%y // sekulër/sekulariseer | |||
sekwe (strA s%Ekw@ // fix e sounds: sekwestrasie/sekwestreer and compounds | |||
bloed) se (l s& // fix e sound: (wit)bloedsel(le)(telling and similar compounds | |||
braille) se (l s& // fix e sound: braillesel/-le | |||
heuning) se (lK s& // fix e sound: heuningsel/-le | |||
liggaam) se (lK s& // fix e sound: liggaamsel/-le | |||
stam) se (l s& // fix e sound: stamsel/-le/stamselnavorsing, etc. | |||
sela (kant s%e@l@ // fix stress and vowel sounds: selakant/-e | |||
selder (y s%&ld@r // move default stress: seldery and compounds | |||
&) sele (_ s'e@l@ | |||
@@ -3704,6 +3715,7 @@ | |||
_) seme (Ct s@mE // sementtafel/blad/vierkant/semester/-s | |||
_) semi (_ sEmi // fix e sound: semi/semi-formeel, etc. | |||
semi (na s%Em%i // seminaar/seminare/seminarium | |||
_) semi (C sEmi // fix vowel sounds: semistaatsinstellings and similar | |||
sening se@n@N // sening/haaksening/heupsening | |||
_) se (ni@ s@ // fix stress and e sound: seniel/-e/seniliteit | |||
@@ -3736,6 +3748,8 @@ | |||
skaker (ing sk%ake@r // skakering/-s/kleurskakering | |||
skan (da sk%an // move default stress: skandaal/skandale/skandalig and compounds | |||
skande (ring sk%ande@ // fix stress and e sound: (brein)skandering and similar compounds | |||
@) skap (in@ skap_ // shorten a sound, pause: leierskapinstituut and similar | |||
@) skap (o skap_ // shorten a sound: entrepreneur-/leierskapontwikkeling/wetenskaponderrig/-onderwyser, etc. | |||
_) skar (C sk%ar // move default stress: skarlaken/skarminkel/skarnier and many compounds | |||
skarrel skar@l // restore default stress: (ge)skarrel/-ing | |||
ska (vot sk%a // fix stress and a sound: skavot and compounds | |||
@@ -3859,6 +3873,7 @@ | |||
nd) ste (r st& // fix e sound: aandster/oggendster | |||
pool) ste (r st& // fix e sound: poolster | |||
see) ste (r st& // fix e sound: seester/-re/seesterpunte and similar compounds | |||
sepie) ste (r st& // fix e sound: sepiester/-re | |||
sewe) ste (r st& // fix e sound: sewester and compounds | |||
visie) ste (r st& // fix e sound: televisiester/-re | |||
_) ste (ri st%E // fix stress and e sound: steriel/-e/steriliteit | |||
@@ -4155,6 +4170,7 @@ | |||
teleks t&lEks // fix stress and vowel sounds: teleks and compounds | |||
_) teler te@l@r // fix stress and vowel sounds: teler/-s/-y/-svereniging, etc. | |||
ten (der tEn // fix e sound in compounds: regeringstenders and similar | |||
@) ten (derwyK t@n // fix e sound: spottenderwys/-e/uitsluitenderwys/-e/verkortenderwys/-e | |||
@C) te (nk t& ++ //tenk and friends | |||
_) te (no t@ //tenoor, tenore etc. | |||
@C) te (C t@ /// | |||
@@ -4240,7 +4256,7 @@ | |||
&) tert (r t@rt // fix e sound: pleistertroffel/venstertralie/ystertralies/ystertrap | |||
&s) tert (aan t&:rt // fix e sound: swa(w)elstertaandpak/-ke | |||
&s) tert (e_ t&:rt // fix e sound: swa(w)elsterte/vissterte | |||
wa) tert t@rt | |||
wa) ter (t t@r // fix last e sound: watertekort and similar | |||
&) tert t&rt | |||
&) tertjie t@rki | |||
@) ter (tyd t@r // mettertyd/pinkstertyd/toentertyd | |||
@@ -4325,6 +4341,7 @@ | |||
_b) us (A ''Ws_ //busongeluk/-operateur/-uitstappie, etc. | |||
utjie Yyci | |||
univers (A@ %yn%iv%&rs // universiteit and compounds/universeel/-ele | |||
C) untjie YyNci // muntjie/puntjie/-s | |||
C) uwelik yv@l@k // gruwelik/huwelik/afskuwelik | |||
m) u (skiet %W //change stress for muskiet compounds | |||
n) uwe (C yv@ // nuwelinge/nuwemaan | |||
@@ -4744,6 +4761,7 @@ | |||
x ks | |||
x (x | |||
xen (o z%En // xeno-/fiel/-filie/-fobie/-fobies/-e | |||
xhosa k''O:sa // (ama)Xhosa/-s; xh click does not yet work | |||
.group y | |||
y eI | |||
@@ -4757,6 +4775,45 @@ | |||
zambesi z%ambe@s%i // fix stress and e sound: Zambesi(rivier) | |||
zebra ze@bra // fix vowel sounds: zebra/-strepe | |||
.group 0xce // Greek letters | |||
// 0xce is the first byte of the utf-8 code for these characters | |||
α 'alfa_ | |||
ά 'alfa_ | |||
β b'e@ta_ | |||
γ g'ama_ | |||
δ d'<a_ | |||
ε 'EpsilOn_ | |||
έ 'EpsilOn_ | |||
ζ z'e@ta_ | |||
η 'e@ta_ | |||
ή 'e@ta_ | |||
θ T'e@ta_ | |||
ι i'o@ta_ | |||
ί i'o@ta_ | |||
κ k'apa_ | |||
λ l'ambda_ | |||
μ m'y:_ | |||
ν n'y:_ | |||
ξ ks'i_ | |||
ο 'OmikrOn_ | |||
.group 0xcf // Greek letters | |||
π p'i_ | |||
ρ r'o@_ | |||
σ s'igma_ | |||
ς s'igma_ | |||
τ t'aU_ | |||
υ 'upsilOn_ | |||
ύ 'upsilOn_ | |||
φ f'i_ | |||
χ x'i_ | |||
ψ ps'i_ | |||
ω o@m'e@x2a_ | |||
ώ o@m'e@x2a_ | |||
ό 'OmikrOn_ | |||
.group | |||
@) 's (S2 s // plurals of wrds ending in vowels: crescendo's/innuendo's/okapi's, etc. | |||
@) 'tjie %ici // foto'tjie/ma'tjie, etc. |
@@ -30,13 +30,13 @@ t. t.h th tS x z | |||
Dictionary ca_dict | |||
@ a a# aI e E i o | |||
O u U | |||
@ a a# aI e E E2 i | |||
o O u U | |||
* ** : b B d D dZ; | |||
f g j J J^ k l l^ | |||
m n N n^ p Q r R | |||
R2 s S; t T tS ts tS; | |||
* ** : ; b B d D | |||
dZ; f g j J J^ k l | |||
l^ m n N n^ p Q r | |||
R R2 s S; t T ts tS; | |||
v v# w z Z Z; | |||
@@ -181,9 +181,9 @@ 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 l^ m n | |||
N n^ p r R R2 s S | |||
t tS ts tS; v x z Z | |||
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 | |||
@@ -218,8 +218,8 @@ Dictionary hy_dict | |||
u W y | |||
** b d dZ f g h j | |||
k l m n p R3 s S | |||
t tS ts v x z Z | |||
k l m n p R R3 s | |||
S t tS ts v x z Z | |||
Dictionary id_dict | |||
@@ -485,10 +485,10 @@ Dictionary sq_dict | |||
eI i I I# O OI u V | |||
y yE | |||
** b c d D dZ f g | |||
h j J k l ll m n | |||
n^ p r R R2 s S t | |||
T tS ts v w z Z | |||
** b c d D dZ dZ; f | |||
g h j k l L ll m | |||
n n^ p r R R2 s S | |||
t T tS ts v w z Z | |||
Dictionary sv_dict | |||
@@ -555,8 +555,8 @@ i i. i[ iA iE io iou N- | |||
o o- ou u u@ ua uai uei | |||
uo y y& y@ yE yi yu | |||
(u) ; C f h j k kh | |||
l m n N p ph q r | |||
; C f h j k kh l | |||
L m n N p ph r R | |||
s s. S; t th ts ts. ts. | |||
tS; tS; tsh v w x X z. | |||
@@ -672,7 +672,7 @@ breakfast brEkf@st | |||
breath brET $onlys | |||
breath bri:D $verb $onlys | |||
brethren brEDr@n | |||
bridesmaid braIdzmeId | |||
bridal braId@L | |||
brigade $2 | |||
brigadier brIga2d'i@3 | |||
brochure broUS3 | |||
@@ -1157,7 +1157,6 @@ havoc hav@k | |||
hasty heIstI | |||
hatred heItrI2d | |||
hazardous haz3d@s | |||
hedgehog hEdZh0g | |||
hehe hi:h'i: | |||
heifer hEf@ | |||
helium hi:li@m | |||
@@ -1284,6 +1283,7 @@ japan dZ@pan | |||
jasmine dZazmIn | |||
jesus dZi:z@s | |||
joky dZoUkI | |||
jukebox dZu:kb0ks | |||
july dZu:l'aI | |||
kaput ka2pUt | |||
@@ -1352,6 +1352,7 @@ looser lu:z3 | |||
lorenz l0r@nts | |||
los ,l0s $only | |||
losing lu:zI2N // misspell | |||
lukewarm lu:kwO@m | |||
lullaby lVl@baI | |||
lunatic lu:n@tIk | |||
@@ -1712,6 +1713,7 @@ rainforest r'eInf,0rI2st | |||
rajah rA:dZA: | |||
rapier reIpi@3 | |||
rapport rap'o@ | |||
rarity re@r@tI | |||
rascal raask@L | |||
ratatouille rat@t'u:I | |||
?!3 rather rA:D3 | |||
@@ -1863,7 +1865,10 @@ segue sEgweI | |||
separate sEp@-r@t | |||
separate sEp3reIt $verb | |||
semen si:m@n | |||
semibreve $1 | |||
semicircle $1 | |||
semicolon sEmIk'oUl@n | |||
semitone $1 | |||
senator sEn@t3 | |||
sens sEns // for sensible | |||
sentient sEnti@nt | |||
@@ -2018,6 +2023,7 @@ tiny taInI | |||
tirade taIr'eId | |||
tis tIz | |||
titan taIt@n | |||
toboggan t@b0g@n | |||
today t@deI | |||
todo t@du: | |||
tombola t0mb'oUl@ | |||
@@ -2043,6 +2049,7 @@ trilogy trIl@dZI | |||
trio tri:oU | |||
trojan troUdZ@n | |||
trophy troUfI | |||
troubadour tru:b@do@ | |||
truely tru:lI2 $verbf | |||
truest tru:@st | |||
tryst trIst | |||
@@ -2558,6 +2565,7 @@ Seamus SeIm@s | |||
Sean SO:n | |||
Sebastian $2 | |||
Sheila Si:l@ | |||
Sinead SI2neId | |||
Sonia s0nj@ | |||
Sophie soUfI | |||
Stephen sti:v@n | |||
@@ -2928,6 +2936,7 @@ whilst waIlst $pause | |||
just $verbf | |||
never $verbf | |||
now $verbf | |||
now naU $verbf $allcaps | |||
soon $verbf | |||
still $verbf | |||
already O:lr,EdI $verbf $strend2 |
@@ -615,7 +615,7 @@ | |||
&) am (o_ @m | |||
&d) am (_ @m | |||
@erd) am (_ am | |||
&h) am (_ @m | |||
?!3 &h) am (_N @m | |||
&s) am (_ @m | |||
@r) am (a 'A:m | |||
_) am (al a2m | |||
@@ -733,6 +733,8 @@ | |||
m) anoeu (v @nu: | |||
_qu) an 0n | |||
_w) an 0n | |||
_w) an (g an | |||
_w) an (k an | |||
_tr) an (s %an | |||
tr) ansfer %ansf3: | |||
tr) an (si an | |||
@@ -1882,6 +1884,7 @@ | |||
@) ed (ien 'i:d | |||
m) ed (io i:d | |||
m) ed (iu i:d | |||
edg (e# EdZ | |||
@m) ediate i:dI2@t | |||
cr) edib EdIb | |||
@dr) ed (_ Id | |||
@@ -1980,6 +1983,8 @@ | |||
em (uls I2m | |||
h) em (o i:m | |||
h) emorrh Em@r | |||
sph) em @m | |||
sph) em (e 'i:m | |||
.group en | |||
_) en (@ %En | |||
@@ -2175,7 +2180,7 @@ | |||
er (ent_ r | |||
adh) er (e 'i@3 | |||
coh) er (e 'i@3 | |||
h) er (ed I2r | |||
_h) er (ed I2r | |||
c) ere (mon ErI2 | |||
h) er (en i@r | |||
st) ereo ErI2oU | |||
@@ -2456,8 +2461,6 @@ | |||
h (h | |||
h (_ | |||
_B) h | |||
&) ham (_ @m | |||
?3 &) ham (_ ham | |||
@) hammed h'amId | |||
A) han (_ h'an // places | |||
ha (st heI | |||
@@ -2564,9 +2567,7 @@ | |||
br) i (dl aI | |||
_s) i (dl aI | |||
f) i (del I2 | |||
br) i (dA aI | |||
br) i (dg I | |||
ybr) i (d I | |||
_s) i (der aI | |||
i (der_+ aI | |||
@) i (do_ 'i: | |||
@@ -4489,6 +4490,8 @@ | |||
secur sI2kjU@ | |||
self (_ 'sElf | |||
selves (_ 'sElvz | |||
_) semi (@@P4 s,EmI2 | |||
_) semin sEmIn | |||
sh S | |||
_mi) s (h s | |||
@) s (head_ s | |||
@@ -4675,10 +4678,12 @@ | |||
theless D@l'Es | |||
theque tEk | |||
ther (_ D3 | |||
ther (er D3 | |||
th (erC D | |||
there (_ D3 // thering | |||
th (est D | |||
n) th (er T | |||
ea) th (er D | |||
n) th (er+ T | |||
therap TEr@p | |||
th (erm T | |||
ca) th (eri T |
@@ -30,16 +30,27 @@ _0M4 duili'ono | |||
_dpt _komo_ | |||
// accent names | |||
_acu dekst@-*akoRno | |||
_brv hoko | |||
_cir tsiRkumflekso | |||
_dia dupunktasupeRsigno | |||
_grv maldekst@-*akoRno | |||
_tld tildo | |||
_lig ligat'uRa | |||
_acu dekst@-*ak'oRna | |||
_ac2 duoblak'oRna | |||
_brv h'oka | |||
_ced tsed'ila | |||
_cir tsiRkumfl'eksa | |||
_dia dupunkta | |||
_dot p'unkta | |||
_grv maldekst@-*ak'oRna | |||
_hac hatS'eka | |||
_mcn st@-*'ia | |||
_ogo subh'oka | |||
_rng R'inga | |||
_stk st@-*eka | |||
_tld t'ilda | |||
_cap maI,uskla | |||
_?? lit,eRo | |||
_#9 t'abo | |||
_#32 sp'atso | |||
_?? liteRo | |||
_. punkto | |||
_: dupunkto | |||
_; punktokomo | |||
@@ -59,16 +70,16 @@ __ subst@-*eko | |||
| duktosigno | |||
* asteRisko | |||
© kopiRaIto | |||
_( Rondak@-*'ampo | |||
_) feRm'itaRondak@-*'ampo | |||
_[ Rektak@-*'ampo | |||
_( R'ondak@-*'ampo | |||
_) f'eRmaRondak@-*'ampo | |||
_[ R'ektak@-*'ampo | |||
_] f'eRmaRektak@-*'ampo | |||
_{ k'u@-*bak@-*'ampo | |||
_} f'eRmaku@-*bak@-*'ampo | |||
_{ k'uRbak@-*'ampo | |||
_} f'eRmakuRbak@-*'ampo | |||
_< angulk@-*'ampo | |||
_> f'eRmaangulk@-*'ampo | |||
_« du'oblaangulk@-*'ampo | |||
_» f'eRmadu,oblaangulk@-*'ampo | |||
_« du'oblak@-*'ampo | |||
_» f'eRmadu,oblak@-*'ampo | |||
v vo // not Roman numbers | |||
@@ -83,6 +94,7 @@ anst anstataU $dot | |||
bea $abbrev | |||
bv bon,volu% | |||
ekz ekzemple $dot | |||
(ekz-e) ekzemple | |||
i.a 'i'a | |||
k.a kaIal'iaI | |||
k.c kaItset'eRe | |||
@@ -148,6 +160,8 @@ je $u $brk | |||
kun $u+ $pause | |||
laŭ $u+ $brk | |||
per $u+ $brk | |||
(pere de) pe@-*e%d'e $u+ $brk | |||
(fare de) fa@-*e%d'e $u+ $brk | |||
preter $u+ $brk | |||
pri $u+ $pause | |||
por $u+ $pause |
@@ -7,8 +7,6 @@ _cap m'aJ^us // should be "mayúscula" after the letter? | |||
_?? s'imbOlo | |||
_#32 Esp'aTjo | |||
// NOTE: Some of these pronunciations may still be in | |||
// Spanish, and need to be changed. | |||
// accent names | |||
_lig liQaD'u**a | |||
@@ -38,15 +36,11 @@ _! TE*R'aRaDmi**aTj'On | |||
_? TE*R'aRintE*R,oQaTj'On | |||
_¡ aB**'iRaDmi**aTj'On | |||
_¿ aB**'iRintE*R,oQaTj'On | |||
_= iQw'al | |||
_< men'ORke | |||
_> maJ^'ORke | |||
_' apOst**'ofo | |||
_" kom'iJ^as | |||
_+ s'iQnOdesum'aR | |||
_$ dolar | |||
_# almoaD'iJ^a | |||
_* aste*'isko | |||
_- gJ^On | |||
__ suB**aJ^'aDo | |||
_/ ba*Ra | |||
@@ -61,9 +55,15 @@ _} Tj,E*RaJ^'aBe | |||
_« kom'iJ^as||iTkJ^'ERDas | |||
_» kom'iJ^as||dE**'EtSas | |||
= iQw'al $max3 | |||
+ m'as $max3 | |||
# almOaD'iJ^a $max3 | |||
* astE*'isko $max3 | |||
. punto $max3 | |||
^ TiRkumfl'exo | |||
€ eU**o | |||
% pOrTj'Ento | |||
% pOrTj'Ento $max3 | |||
& ampERs'ant | |||
@ a*R'oBa | |||
/ ba*Ra |
@@ -214,25 +214,8 @@ | |||
$ d'Olar | |||
+ m'as | |||
_) ++ (_ masm'as | |||
\+\+\+) + // ignore + after the first 3 | |||
# almOaD'iJ^a | |||
\#) # | |||
__) - (_D m'EnOs | |||
_) - (_D m'EnOs | |||
A_) - (_D _ | |||
C_) - (_D _ | |||
--) - | |||
* astE*'isko | |||
*) * (* | |||
** | |||
**) * (_ _:: | |||
. punto | |||
. (. _: | |||
\.) . | |||
, (D kOma |
@@ -24,7 +24,7 @@ | |||
// 2006-11-18 Gilles Casse <[email protected]> | |||
// | |||
// Updated 2008-12-03 Michel Such <[email protected]> | |||
// Updated 2008-12-09 Michel Such <[email protected]> | |||
// | |||
// * Numbers, a few abbreviations and exceptions. | |||
// | |||
@@ -762,7 +762,6 @@ sun _^_en | |||
(text aloud) tEkst||@la=wd | |||
ubuntu ubuntu | |||
up _^_en | |||
yacht jO2t | |||
yes _^_en | |||
@@ -23,7 +23,7 @@ | |||
// 2006-11-18 Gilles Casse <[email protected]> | |||
// | |||
// Updated: 2008-11-28 Michel Such <[email protected]> | |||
// Updated: 2008-12-09 Michel Such <[email protected]> | |||
// | |||
// Letter classes: | |||
@@ -964,14 +964,15 @@ C) oing (_ _^_en // going | |||
.group q | |||
q k // coq | |||
_) qu' (AP3 k | |||
_a) qu (a kw // aquarium | |||
_a) qu (if kw // aquifère | |||
_A) qu (idist ky // équidistant | |||
_A) qu (ilat ky // équilatéral | |||
_C) qu (a kw // squale square | |||
_A) qu (a kw // équateur | |||
dé) qu (a kw // adequate | |||
_) qu (artz kw // quartz | |||
_) qua (d kwA // quadrature | |||
_a) qua kwA // aquarium | |||
_a) qu (if ku // aquifère | |||
_A) qui (dist kw^i // équidistant | |||
_A) qui (lat kw^i // équilatéral | |||
_C) qua kwA // squale square | |||
_A) qua kwA // équateur | |||
dé) qua kwA // adequate | |||
_) qua (rtz kwA // quartz | |||
qu k // quatre | |||
_) que (_ k@ // que | |||
n) q (_ k // cinq cent | |||
@@ -1318,6 +1319,7 @@ Vn) t (_ t2 | |||
.group y | |||
y i // cryogénique myope | |||
_) y (A j // yak, yacht | |||
_) yacht _^_en // yacht, yachtman | |||
_) y (eu i // yeux | |||
_) yahoo (P5 ia'u |
@@ -218,7 +218,7 @@ _tld t'ild& | |||
?2 _0M1 h'il^,&d& | |||
?2 _0MA1 h'il^,&de | |||
?2 _1M1 h'il^,&dU | |||
?2 _1MA1 jedn&||hiL&d& | |||
?2 _1MA1 jedn&||hil^&d& | |||
?3 _0M1 h'il^ad& | |||
?3 _0MA1 h'il^ade | |||
?3 _1M1 h'il^adU |
@@ -20,7 +20,7 @@ | |||
hi 59 148 | |||
ta 17 151 | |||
hu 23 119 | |||
lv 28 125 | |||
lv 29 126 | |||
nl 28 126 | |||
pl 19 116 | |||
sk 28 134 | |||
@@ -33,7 +33,7 @@ | |||
la 21 121 | |||
es 9 123 | |||
es_la 1 123 | |||
ca 9 124 | |||
ca 11 125 | |||
pt 28 139 | |||
pt_pt 20 139 | |||
ro 36 146 | |||
@@ -52,7 +52,7 @@ | |||
rw 15 129 | |||
ko 18 158 | |||
da 15 133 | |||
sq 31 127 | |||
sq 35 130 | |||
ml 13 150 | |||
kn 15 150 | |||
bn 59 153 | |||
@@ -117,6 +117,7 @@ d/d [d] base | |||
[d] el | |||
[d] sw | |||
[d] id | |||
[d] sq | |||
[d] bn | |||
[d.] bn | |||
[d`] om | |||
@@ -138,6 +139,7 @@ d/d_ [d] base | |||
[d] el | |||
[d] sw | |||
[d] id | |||
[d] sq | |||
[d] bn | |||
[d.] bn | |||
[d`] om | |||
@@ -161,6 +163,7 @@ d/dr [*] base | |||
[d] el | |||
[d] sw | |||
[d] id | |||
[d] sq | |||
[d] bn | |||
[d.] bn | |||
[d[] ga | |||
@@ -186,6 +189,7 @@ d/xd [d] base | |||
[d] el | |||
[d] sw | |||
[d] id | |||
[d] sq | |||
[d] bn | |||
[d.] bn | |||
[d[] ga | |||
@@ -631,7 +635,8 @@ l/l_e [(e)] base | |||
[(e)] en_klatt | |||
l/L_eL_af [&] af | |||
[&:] af | |||
l/l_front [l] sq | |||
l/l_front [L] sq | |||
l/l_front_ [l/4] sq | |||
l/li [(i)] base | |||
[i] fr | |||
[i:] fr | |||
@@ -647,7 +652,7 @@ l/l_long [l] base | |||
[l] fr | |||
[l] la | |||
[l;] ro | |||
[l] sq | |||
[L] sq | |||
l/lo [(o)] base | |||
[O] fr | |||
[o] fr | |||
@@ -661,7 +666,6 @@ l/l_o [(o)] base | |||
[o2] fr | |||
[(o)] en_klatt | |||
l^/l_rfx [l.] hi | |||
[l.] sq | |||
[l.] bn | |||
l/lu [(u)] base | |||
[u] fr | |||
@@ -687,7 +691,7 @@ l/tl [l] base | |||
[l] ca | |||
[l] pt | |||
[l;] ro | |||
[l] sq | |||
[L] sq | |||
l/xl [(@)] base | |||
[(a)] base | |||
[(e)] base | |||
@@ -828,6 +832,7 @@ r3/r_trill.wav [R2] base | |||
r3/r_u [(u)] base | |||
[(u)] en_klatt | |||
r3/r_uvl [r"] base | |||
r3/r_uvl.wav [r"] base | |||
r3/rx [*] base | |||
[r/] base | |||
[r/] af | |||
@@ -914,6 +919,7 @@ r/xr [(@)] base | |||
[o2] fr | |||
[i:] fr | |||
[u:] fr | |||
[wA] fr | |||
[A~] fr | |||
ufric/ch [C] base | |||
[J^] base | |||
@@ -1184,7 +1190,7 @@ ustop/t_ [t] base | |||
[t] sk | |||
[t] el | |||
[th] zh | |||
[t2] sq | |||
[t3] sq | |||
[t.] bn | |||
[t.h] bn | |||
ustop/t_dnt [t] base | |||
@@ -1203,11 +1209,15 @@ ustop/t_dnt [t] base | |||
[t[] vi | |||
[t] sw | |||
[t`] ko | |||
[t5] sq | |||
[t] bn | |||
[t[] ga | |||
ustop/t_dnt2 [t[] vi | |||
ustop/t_ejc [t`] om | |||
ustop/t_hard [t2] sq | |||
ustop/t_hard_ [t2] sq | |||
ustop/t_hi [t] hi | |||
[t5] sq | |||
[t] bn | |||
[th] bn | |||
ustop/t_pzd [t;] pl | |||
@@ -1253,7 +1263,7 @@ ustop/t_short [t] fr | |||
[t] lv | |||
[t] sk | |||
[t] el | |||
[t2] sq | |||
[t3] sq | |||
[t.] bn | |||
ustop/tsh_pzd [tS;] zh | |||
ustop/tsh_pzd_unasp [tS;] zh | |||
@@ -1275,6 +1285,7 @@ ustop/ts_pzd3 [tS;] hr | |||
[dZ;] hr | |||
ustop/t_sr [d] sr | |||
[t] sr | |||
[t4] sq | |||
ustop/ts_rfx [ts.] zh | |||
ustop/ts_rfx_unasp [ts.] zh | |||
ustop/ts_sr [tS;] sr | |||
@@ -1297,6 +1308,7 @@ vdiph2/ei_2 [eI] en_rp | |||
vdiph2/ei_3 [i:] en_wm | |||
vdiph2/ei_4 [eI] en_us | |||
[ei] zh | |||
[eI] sq | |||
vdiph2/eo [eo] ro | |||
vdiph2/e[u [e[u] ro | |||
vdiph2/i@ [i@] en_n | |||
@@ -1439,7 +1451,6 @@ vdiph/ei [eI] base2 | |||
[eI] is | |||
[eI] vi | |||
[ei] zhy | |||
[eI] sq | |||
vdiph/eu [eU] base2 | |||
[eU] en | |||
[eU] cy | |||
@@ -1742,7 +1753,6 @@ vowel/a [a] en | |||
[aa] en_wm | |||
[a] cy | |||
[a] de | |||
[A] fr | |||
[a] ta | |||
[a:] hu | |||
[a:] nl | |||
@@ -1772,7 +1782,6 @@ vowel/a_2 [a] base2 | |||
[A@] en_wi | |||
[aa] en_wi | |||
[a] eo | |||
[a] ca | |||
[A] pt | |||
[a] pt_pt | |||
[a] ro | |||
@@ -1824,6 +1833,7 @@ vowel/a_5 [a:] ta | |||
[A] om | |||
vowel/a_6 [a] fr | |||
[a2] fr | |||
[a] ca | |||
[a:] vi | |||
vowel/aa [a] fi | |||
[A] fr_ca | |||
@@ -1859,6 +1869,7 @@ vowel/aa_8 [0] en_us | |||
vowel/aa_9 [a:] hi | |||
[a:] bn | |||
[a] ne | |||
vowel/a_en [A] fr | |||
vowel/@_bck [@] hi | |||
[@/] hi | |||
[@] zh | |||
@@ -1954,6 +1965,7 @@ vowel/e_mid [E] en_rp | |||
[E] it | |||
[E] es | |||
[E] ca | |||
[E2] ca | |||
[E] pt_pt | |||
[E] no | |||
[E] is | |||
@@ -2096,12 +2108,12 @@ vowel/ii#_3 [I2] en_us | |||
vowel/ii_4 [I] en | |||
[I2] en | |||
[I] en_us | |||
vowel/ii_5 [I] en_wi | |||
[I2] en_wi | |||
[I] la | |||
vowel/ii_5 [I] la | |||
[i] zh | |||
vowel/ii_6 [I] en_wm | |||
[I2] en_wm | |||
[I] en_wi | |||
[I2] en_wi | |||
[I] sr | |||
[I] pt | |||
[y] pt | |||
@@ -2306,6 +2318,7 @@ vowel/u_bck [u] base2 | |||
[u] hr | |||
[U] it | |||
[u] it | |||
[u] ca | |||
[u] pt | |||
[u:] sv | |||
[u:] no | |||
@@ -2360,6 +2373,7 @@ vowel/V_3 [V] en_rp | |||
vowel/V_4 [V] en_sc | |||
[V] da | |||
vowel/V_6 [V] en_us | |||
[a#] lv | |||
vowel/y [y:] en | |||
[y:] de | |||
[y] fi | |||
@@ -2456,7 +2470,6 @@ vwl_fr/@R3 [R] fr | |||
[r] fr | |||
[Q2] hy | |||
vwl_fr/@R4 [R] fr | |||
[r] fr | |||
[r2] fr | |||
[Q2] hy | |||
vwl_fr/@R5 [r] fr | |||
@@ -2581,6 +2594,7 @@ x/d [d] base | |||
[d] el | |||
[d] is | |||
[d] id | |||
[d] sq | |||
[d.] bn | |||
[d`] om | |||
[d] en_klatt | |||
@@ -2600,6 +2614,7 @@ x/d_ [d] base | |||
[d] is | |||
[d] sw | |||
[d] id | |||
[d] sq | |||
[d] bn | |||
[d.] bn | |||
[d`] om |
@@ -6,7 +6,7 @@ | |||
phoneme a | |||
vowel starttype (a) endtype (a) | |||
length 180 | |||
formants vowel/a_2 | |||
formants vowel/a_6 | |||
reduceto a# 2 | |||
endphoneme | |||
@@ -31,6 +31,12 @@ phoneme E | |||
reduceto @ 2 | |||
endphoneme | |||
phoneme E2 // don't reduce | |||
vowel starttype (e) endtype (e) | |||
length 180 | |||
formants vowel/e_mid | |||
endphoneme | |||
phoneme O | |||
vowel starttype (o) endtype (o) | |||
length 170 | |||
@@ -52,6 +58,13 @@ phoneme U | |||
unstressed | |||
endphoneme | |||
phoneme u | |||
vowel starttype (u) endtype (u) | |||
length 160 | |||
formants vowel/u_bck | |||
reduceto U 2 | |||
endphoneme | |||
phoneme l |
@@ -22,7 +22,7 @@ phoneme @ // Schwa | |||
length 130 | |||
endphoneme | |||
phoneme @/ // Schwa, ebd of word | |||
phoneme @/ // Schwa, end of word | |||
vowel starttype (@) endtype (@) | |||
formants vowel/@_6 | |||
unstressed |
@@ -40,7 +40,7 @@ endphoneme | |||
phoneme I | |||
vowel starttype (i) endtype (i) | |||
length 140 | |||
formants vowel/ii_5 | |||
formants vowel/ii_6 | |||
linkout ; | |||
endphoneme | |||
@@ -48,7 +48,7 @@ phoneme I2 | |||
vowel starttype (i) endtype (i) | |||
unstressed | |||
length 140 | |||
formants vowel/ii_5 | |||
formants vowel/ii_6 | |||
linkout ; | |||
endphoneme | |||
@@ -212,6 +212,7 @@ phoneme wA | |||
formants vwl_fr/w_a | |||
after l l/lo-10 | |||
before l/ DFT-10+l/l_a | |||
before (r) DFT+r/xr | |||
before r/2 DFT+vwl_fr/r_a | |||
endphoneme | |||
@@ -289,7 +290,7 @@ endphoneme | |||
phoneme A // same as [a] | |||
vowel starttype (a) endtype (a) | |||
length 166 | |||
formants vowel/a | |||
formants vowel/a_en | |||
endphoneme | |||
@@ -418,15 +419,15 @@ endphoneme | |||
phoneme r | |||
liquid rfx starttype (r) endtype (r) | |||
vowelin f1=0 f2=1600 -300 300 f3=-200 80 | |||
vowelout f1=2 f2=1600 -300 300 f3=-200 80 brk | |||
vowelin f1=0 f2=1600 -300 300 f3=100 80 | |||
vowelout f1=1 f2=1600 -300 300 f3=100 80 brk | |||
length 100 | |||
lengthmod 7 | |||
beforenotvowel r/2 | |||
formants vwl_fr/@R3+r3/rx%30 | |||
after @2 vwl_fr/@R5+r3/rx%40 | |||
after (u) vwl_fr/@R5+r3/rx%30 | |||
after (e) vwl_fr/@R4+r3/rx%20 | |||
after (e) vwl_fr/@R5+r3/rx%25 | |||
endphoneme | |||
@@ -437,13 +438,13 @@ phoneme r2 // silent unless followed by vowel | |||
length 100 | |||
lengthmod 7 | |||
beforenotvowel NULL | |||
formants vwl_fr/@R4+r3/rx%15 | |||
formants vwl_fr/@R4+r3/rx%20 | |||
endphoneme | |||
phoneme R // After consonnants | |||
vcd frc | |||
vowelin f1=0 f2=1600 -300 300 f3=-200 80 | |||
vowelin f1=0 f2=1600 -300 300 f3=100 80 | |||
length 100 | |||
lengthmod 7 | |||
beforenotvowel r/2 | |||
@@ -454,7 +455,7 @@ endphoneme | |||
phoneme r/2 // variant of [r] when not preceding a vowel | |||
liquid | |||
vowelout f1=2 f2=1600 -300 300 f3=-200 80 brk | |||
vowelout f1=2 f2=1600 -300 300 f3=100 80 brk | |||
length 100 | |||
lengthmod 2 | |||
formants r3/r_2+r3/rx%20 |
@@ -50,6 +50,7 @@ phoneme a | |||
vowel starttype (a) endtype (a) | |||
length 120 | |||
formants vowel/aa | |||
reduceto a# 0 | |||
endphoneme | |||
phoneme a: | |||
@@ -58,6 +59,11 @@ phoneme a: | |||
formants vowel/aa | |||
endphoneme | |||
phoneme a# | |||
vowel starttype (a) endtype (a) | |||
length 120 | |||
formants vowel/V_6 | |||
endphoneme | |||
phoneme o | |||
vowel starttype (o) endtype (o) |
@@ -215,7 +215,6 @@ phoneme (@) virtual | |||
after ; j2/j2@ | |||
after w w/w@ | |||
after l l/l@ | |||
after L l/l@ | |||
after l^ l^/j2@ | |||
after #r r/r@-15 | |||
after r- r2/r2@ | |||
@@ -239,7 +238,6 @@ phoneme (a) virtual | |||
after ; j2/j2a | |||
after w w/wa | |||
after l l/la | |||
after L l/la | |||
after l^ l^/j2a | |||
after #r r/ra-15 | |||
after r- r2/r2a | |||
@@ -263,7 +261,6 @@ phoneme (e) virtual | |||
after ; j2/j2e | |||
after w w/we | |||
after l l/le | |||
after L l/le | |||
after l^ l^/j2e | |||
after #r r/re-15 | |||
after r- r2/r2e | |||
@@ -287,7 +284,6 @@ phoneme (i) virtual | |||
after ; j2/j2i | |||
after w w/wi | |||
after l l/li-10 | |||
after L l/li | |||
after l^ l^/j2i | |||
after #r r/ri-15 | |||
after r- r2/r2i | |||
@@ -312,7 +308,6 @@ phoneme (o) virtual | |||
after ; j2/j2o | |||
after w w/wo | |||
after l l/lo | |||
after L l/lo | |||
after l^ l^/j2o | |||
after #r r/ro-15 | |||
after r- r2/r2o | |||
@@ -336,7 +331,6 @@ phoneme (u) virtual | |||
after ; j2/j2u | |||
after w w/wu | |||
after l l/lu | |||
after L l/lu | |||
after l^ l^/j2u | |||
after #r r/ru-15 | |||
after r- r2/r2u | |||
@@ -437,8 +431,8 @@ endphoneme | |||
phoneme r" // uvular trill | |||
vcd uvl frc | |||
formants r3/r_uvl+r3/r_uvl%75 | |||
before _ r3/r_uvl+r3/r_uvl%50 | |||
formants r3/r_uvl+r3/r_uvl.wav%75 | |||
before _ r3/r_uvl+r3/r_uvl.wav%50 | |||
lengthmod 6 | |||
endphoneme | |||
@@ -1125,6 +1119,7 @@ endphoneme | |||
phoneme L // Welsh "ll" | |||
vls alv frc | |||
starttype l endtype l | |||
length 100 | |||
lengthmod 3 | |||
wave ufric/ll%80 |
@@ -1223,6 +1223,12 @@ void Compile::VowelTransition(int which, unsigned int *trans) | |||
{ | |||
len = 50 / 2; // defaults for transition into vowel | |||
rms = 25 / 2; | |||
if(ph->type == phSTOP) | |||
{ | |||
len = 42 / 2; // defaults for transition into vowel | |||
rms = 30 / 2; | |||
} | |||
} | |||
else | |||
if(which==2) |
@@ -684,7 +684,7 @@ int Translator::IsLetterGroup(char *word, int group, int pre) | |||
// match the word against a list of utf-8 strings | |||
char *p; | |||
char *w; | |||
int len; | |||
int len=0; | |||
p = letterGroups[group]; | |||
if(p == NULL) |
@@ -278,9 +278,9 @@ void FormantDlg::ShowFrame(SpectSeq *spectseq, int frame, int pk, int field) | |||
} | |||
if(field & 4) | |||
{ | |||
value.Printf(_T("%3d"),sf->peaks[ix].pkwidth); | |||
value.Printf(_T("%3d"),sf->peaks[ix].pkwidth/2); | |||
t_pkwidth[ix]->SetValue(value); | |||
value.Printf(_T("%3d"),sf->peaks[ix].pkright); | |||
value.Printf(_T("%3d"),sf->peaks[ix].pkright/2); | |||
t_pkright[ix]->SetValue(value); | |||
} | |||
} |
@@ -1120,7 +1120,7 @@ void SetSynth_Klatt(int length, int modn, frame_t *fr1, frame_t *fr2, voice_t *v | |||
} | |||
{ | |||
FILE *f; | |||
//FILE *f; | |||
//f=fopen("klatt_log","a"); | |||
//fprintf(f,"len %4d (%3d %4d %4d) (%3d %4d %4d)\n",length,fr1->ffreq[1],fr1->ffreq[2],fr1->ffreq[3],fr2->ffreq[1],fr2->ffreq[2],fr2->ffreq[3]); | |||
//fclose(f); |
@@ -483,7 +483,7 @@ void Translator::LookupAccentedLetter(unsigned int letter, char *ph_buf) | |||
if((langopts.accents & 1) || (accents_tab[accent1].flags & 1)) | |||
sprintf(ph_buf,"%s%c%c%s", ph_accent1, phonPAUSE_VSHORT, phonSTRESS_P, ph_letter1); | |||
else | |||
sprintf(ph_buf,"%s%c%s%c", ph_letter1, phonPAUSE_VSHORT, ph_accent1, phonPAUSE_VSHORT); | |||
sprintf(ph_buf,"%c%s%c%s%c", phonSTRESS_2, ph_letter1, phonPAUSE_VSHORT, ph_accent1, phonPAUSE_VSHORT); | |||
} | |||
} | |||
} |
@@ -131,7 +131,7 @@ public: | |||
void ToggleMarker(int n); | |||
void ApplyVoiceMods(); | |||
void MakeWave(int peaks, PitchEnvelope &pitch, int amplitude, int duration); | |||
void MakeWaveF(int peaks, PitchEnvelope &pitch, int amplitude, int duration); | |||
void MakeHtab(int numh, int *htab, int pitch); | |||
double GetRms(int amp); | |||
void KlattDefaults(); |
@@ -831,12 +831,12 @@ void SpectDisplay::OnKey(wxKeyEvent& event) | |||
case WXK_F1: | |||
// make and play selected | |||
ReadDialogValues(); | |||
sf->MakeWave(0,voicedlg->pitchenv,spectseq->amplitude,spectseq->duration); | |||
sf->MakeWaveF(0,voicedlg->pitchenv,spectseq->amplitude,spectseq->duration); | |||
break; | |||
case WXK_F3: | |||
// make and play selected | |||
ReadDialogValues(); | |||
sf->MakeWave(1,voicedlg->pitchenv,spectseq->amplitude,spectseq->duration); | |||
sf->MakeWaveF(1,voicedlg->pitchenv,spectseq->amplitude,spectseq->duration); | |||
break; | |||
default: |
@@ -1056,7 +1056,7 @@ KlattInit(); | |||
if((start==end) || (total_length == 0)) | |||
{ | |||
sp1->MakeWave(0,voicedlg->pitchenv,amplitude,duration); | |||
sp1->MakeWaveF(0,voicedlg->pitchenv,amplitude,duration); | |||
return; | |||
} | |||
@@ -1071,7 +1071,7 @@ KlattInit(); | |||
// if((start==end) || (total_length == 0)) | |||
// { | |||
// sp1->MakeWave(1, pitch, amplitude, duration); | |||
// sp1->MakeWaveF(1, pitch, amplitude, duration); | |||
// return; | |||
// } | |||
@@ -1144,7 +1144,7 @@ void SpectFrame::MakeHtab(int numh, int *htab, int pitch) | |||
} // end of SpectFrame::MakeHtab | |||
void SpectFrame::MakeWave(int control, PitchEnvelope &pitche, int amplitude, int duration) | |||
void SpectFrame::MakeWaveF(int control, PitchEnvelope &pitche, int amplitude, int duration) | |||
{//====================================================================================== | |||
// amplitude: percentage adjustment | |||
@@ -1157,7 +1157,6 @@ void SpectFrame::MakeWave(int control, PitchEnvelope &pitche, int amplitude, int | |||
int ipitch; | |||
int pbase; | |||
char *fname_speech; | |||
// USHORT htab0[600]; | |||
KlattInit(); | |||
SpeakNextClause(NULL,NULL,2); // stop speaking file | |||
@@ -1204,18 +1203,22 @@ KlattInit(); | |||
else | |||
{ | |||
#ifdef SPECT_EDITOR | |||
int maxh; | |||
USHORT htab0[600]; | |||
maxh = nx; | |||
if(maxh >= 600) | |||
maxh = 600-1; | |||
for(ix=0; ix<=maxh; ix++) | |||
htab0[ix] = 0; | |||
SetSynthHtab(20,htab0,maxh,dx,spect,maxh,dx); | |||
MakeWaveFile(); | |||
// SetSynthHtab(20,htab0,maxh,dx,spect,maxh,dx); | |||
SetSynthHtab(20,spect,maxh,dx,spect,maxh,dx); | |||
MakeWaveFile(0); | |||
SetSynthHtab(length,spect,maxh,dx,spect,maxh,dx); | |||
MakeWaveFile(); | |||
MakeWaveFile(0); | |||
SetSynthHtab(30,spect,maxh,dx,htab0,maxh,dx); | |||
MakeWaveFile(); | |||
MakeWaveFile(0); | |||
#endif | |||
} | |||
@@ -35,7 +35,7 @@ | |||
#include "translate.h" | |||
#include "wave.h" | |||
const char *version_string = "1.39.36 03.Dec.08"; | |||
const char *version_string = "1.39.39 11.Dec.08"; | |||
const int version_phdata = 0x013900; | |||
int option_device_number = -1; |
@@ -67,7 +67,7 @@ int n_soundicon_tab=N_SOUNDICON_SLOTS; | |||
SOUND_ICON soundicon_tab[N_SOUNDICON_TAB]; | |||
#define RMS_GLOTTAL1 35 // vowel before glottal stop | |||
#define RMS_START 28 // 14 - 30 | |||
#define RMS_START 28 // 28 | |||
#define VOWEL_FRONT_LENGTH 50 | |||
@@ -123,7 +123,7 @@ Translator *SelectTranslator(const char *name) | |||
int name2 = 0; | |||
Translator *tr; | |||
static const unsigned char stress_amps_sk[8] = {17,17, 20,20, 20,24, 24,22 }; | |||
static const unsigned char stress_amps_sk[8] = {17,17, 20,20, 20,22, 22,21 }; | |||
static const short stress_lengths_sk[8] = {190,190, 210,210, 0,0, 210,210}; | |||
// convert name string into a word of up to 4 characters, for the switch() | |||
@@ -232,7 +232,7 @@ Translator *SelectTranslator(const char *name) | |||
case L_grc: // Ancient Greek | |||
{ | |||
static const short stress_lengths_el[8] = {155, 180, 210, 210, 0, 0, 270, 300}; | |||
static const unsigned char stress_amps_el[8] = {15,12, 20,20, 20,24, 24,22 }; // 'diminished' is used to mark a quieter, final unstressed syllable | |||
static const unsigned char stress_amps_el[8] = {15,12, 20,20, 20,22, 22,21 }; // 'diminished' is used to mark a quieter, final unstressed syllable | |||
// character codes offset by 0x380 | |||
static const char el_vowels[] = {0x10,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x35,0x37,0x39,0x3f,0x45,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0}; | |||
@@ -275,7 +275,7 @@ Translator *SelectTranslator(const char *name) | |||
case L('e','o'): | |||
{ | |||
static const short stress_lengths_eo[8] = {145, 145, 230, 170, 0, 0, 360, 370}; | |||
static const unsigned char stress_amps_eo[] = {16,14, 20,20, 20,24, 24,22 }; | |||
static const unsigned char stress_amps_eo[] = {16,14, 20,20, 20,22, 22,21 }; | |||
static const wchar_t eo_char_apostrophe[2] = {'l',0}; | |||
tr = new Translator(); | |||
@@ -378,7 +378,7 @@ Translator *SelectTranslator(const char *name) | |||
case L('n','e'): // Nepali | |||
{ | |||
static const short stress_lengths_hi[8] = {190, 190, 210, 210, 0, 0, 230, 250}; | |||
static const unsigned char stress_amps_hi[8] = {17,14, 20,19, 20,24, 24,22 }; | |||
static const unsigned char stress_amps_hi[8] = {17,14, 20,19, 20,22, 22,21 }; | |||
tr = new Translator(); | |||
SetupTranslator(tr,stress_lengths_hi,stress_amps_hi); | |||
@@ -399,7 +399,7 @@ Translator *SelectTranslator(const char *name) | |||
case L('b','s'): // Bosnian | |||
case L('s','r'): // Serbian | |||
{ | |||
static const unsigned char stress_amps_hr[8] = {17,17, 20,20, 20,24, 24,22 }; | |||
static const unsigned char stress_amps_hr[8] = {17,17, 20,20, 20,22, 22,21 }; | |||
static const short stress_lengths_hr[8] = {180,160, 200,200, 0,0, 220,230}; | |||
static const short stress_lengths_sr[8] = {160,150, 200,200, 0,0, 250,260}; | |||
@@ -430,7 +430,7 @@ Translator *SelectTranslator(const char *name) | |||
case L('h','u'): // Hungarian | |||
{ | |||
static const unsigned char stress_amps_hu[8] = {17,17, 19,19, 20,24, 24,22 }; | |||
static const unsigned char stress_amps_hu[8] = {17,17, 19,19, 20,22, 22,21 }; | |||
static const short stress_lengths_hu[8] = {185,195, 195,190, 0,0, 210,220}; | |||
tr = new Translator(); | |||
@@ -467,6 +467,7 @@ SetLengthMods(tr,3); // all equal | |||
SetLetterBits(tr,LETTERGP_A,hy_vowels); | |||
SetLetterBits(tr,LETTERGP_C,hy_consonants); | |||
tr->langopts.max_initial_consonants = 6; | |||
tr->langopts.numbers = 0x409; | |||
} | |||
break; | |||
@@ -567,7 +568,7 @@ SetLengthMods(tr,3); // all equal | |||
case L('k','u'): // Kurdish | |||
{ | |||
static const unsigned char stress_amps_ku[8] = {18,18, 20,20, 20,24, 24,22 }; | |||
static const unsigned char stress_amps_ku[8] = {18,18, 20,20, 20,22, 22,21 }; | |||
static const short stress_lengths_ku[8] = {180,180, 190,180, 0,0, 230,240}; | |||
tr = new Translator(); | |||
@@ -597,8 +598,8 @@ SetLengthMods(tr,3); // all equal | |||
case L('l','v'): // latvian | |||
{ | |||
static const unsigned char stress_amps_lv[8] = {17,14, 20,20, 20,22, 22,22 }; | |||
static const short stress_lengths_lv[8] = {180,140, 210,210, 0,0, 210,210}; | |||
static const unsigned char stress_amps_lv[8] = {17,13, 20,20, 20,22, 22,21 }; | |||
static const short stress_lengths_lv[8] = {180,130, 210,210, 0,0, 210,210}; | |||
tr = new Translator(); | |||
SetupTranslator(tr,stress_lengths_lv,stress_amps_lv); | |||
@@ -614,7 +615,7 @@ SetLengthMods(tr,3); // all equal | |||
{ | |||
static wchar_t vowels_cyrillic[] = {0x440, // also include 'р' [R] | |||
0x430,0x435,0x438,0x439,0x43e,0x443,0x44b,0x44d,0x44e,0x44f,0x450,0x451,0x456,0x457,0x45d,0x45e,0}; | |||
static const unsigned char stress_amps_mk[8] = {17,17, 20,20, 20,24, 24,22 }; | |||
static const unsigned char stress_amps_mk[8] = {17,17, 20,20, 20,22, 22,21 }; | |||
static const short stress_lengths_mk[8] = {180,160, 200,200, 0,0, 220,230}; | |||
tr = new Translator(); | |||
@@ -672,7 +673,7 @@ SetLengthMods(tr,3); // all equal | |||
case L('p','l'): // Polish | |||
{ | |||
static const short stress_lengths_pl[8] = {160, 190, 175, 175, 0, 0, 200, 210}; | |||
static const unsigned char stress_amps_pl[8] = {17,13, 19,19, 20,24, 24,22 }; // 'diminished' is used to mark a quieter, final unstressed syllable | |||
static const unsigned char stress_amps_pl[8] = {17,13, 19,19, 20,22, 22,21 }; // 'diminished' is used to mark a quieter, final unstressed syllable | |||
tr = new Translator(); | |||
SetupTranslator(tr,stress_lengths_pl,stress_amps_pl); | |||
@@ -692,7 +693,7 @@ SetLengthMods(tr,3); // all equal | |||
case L('p','t'): // Portuguese | |||
{ | |||
static const short stress_lengths_pt[8] = {180, 125, 210, 210, 0, 0, 270, 295}; | |||
static const unsigned char stress_amps_pt[8] = {16,13, 19,19, 20,24, 24,22 }; // 'diminished' is used to mark a quieter, final unstressed syllable | |||
static const unsigned char stress_amps_pt[8] = {16,13, 19,19, 20,22, 22,21 }; // 'diminished' is used to mark a quieter, final unstressed syllable | |||
tr = new Translator(); | |||
SetupTranslator(tr,stress_lengths_pt,stress_amps_pt); | |||
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable | |||
@@ -709,7 +710,7 @@ SetLengthMods(tr,3); // all equal | |||
case L('r','o'): // Romanian | |||
{ | |||
static const short stress_lengths_ro[8] = {170, 170, 180, 180, 0, 0, 240, 260}; | |||
static const unsigned char stress_amps_ro[8] = {15,13, 18,18, 20,22, 22,22 }; | |||
static const unsigned char stress_amps_ro[8] = {15,13, 18,18, 20,22, 22,21 }; | |||
tr = new Translator(); | |||
SetupTranslator(tr,stress_lengths_ro,stress_amps_ro); | |||
@@ -789,7 +790,7 @@ SetLengthMods(tr,3); // all equal | |||
case L('s','v'): // Swedish | |||
{ | |||
static const unsigned char stress_amps_sv[] = {16,16, 20,20, 20,24, 24,22 }; | |||
static const unsigned char stress_amps_sv[] = {16,16, 20,20, 20,22, 22,21 }; | |||
static const short stress_lengths_sv[8] = {160,135, 220,220, 0,0, 250,280}; | |||
tr = new Translator(); | |||
SetupTranslator(tr,stress_lengths_sv,stress_amps_sv); | |||
@@ -805,7 +806,7 @@ SetLengthMods(tr,3); // all equal | |||
case L('s','w'): // Swahili | |||
{ | |||
static const short stress_lengths_sw[8] = {160, 170, 200, 200, 0, 0, 320, 340}; | |||
static const unsigned char stress_amps_sw[] = {16,12, 19,19, 20,24, 24,22 }; | |||
static const unsigned char stress_amps_sw[] = {16,12, 19,19, 20,22, 22,21 }; | |||
tr = new Translator(); | |||
SetupTranslator(tr,stress_lengths_sw,stress_amps_sw); | |||
@@ -878,7 +879,7 @@ SetLengthMods(tr,3); // all equal | |||
case L('t','r'): // Turkish | |||
{ | |||
static const unsigned char stress_amps_tr[8] = {18,18, 20,20, 20,24, 24,22 }; | |||
static const unsigned char stress_amps_tr[8] = {18,18, 20,20, 20,22, 22,21 }; | |||
static const short stress_lengths_tr[8] = {190,190, 190,190, 0,0, 250,270}; | |||
tr = new Translator(); |
@@ -412,7 +412,7 @@ int IsSpace(unsigned int c) | |||
Translator::Translator() | |||
{//===================== | |||
int ix; | |||
static const unsigned char stress_amps2[] = {17,17, 20,20, 20,24, 24,21 }; | |||
static const unsigned char stress_amps2[] = {17,17, 20,20, 20,22, 22,20 }; | |||
static const short stress_lengths2[8] = {182,140, 220,220, 220,240, 260,280}; | |||
static const wchar_t empty_wstring[1] = {0}; | |||
static const wchar_t punct_in_word[2] = {'\'', 0}; // allow hyphen within words |
@@ -362,6 +362,9 @@ void VoiceReset(int tone_only) | |||
// Set voice to the default values | |||
int pk; | |||
static unsigned char default_heights[N_PEAKS] = {255,255,240,240,220,220,255,255,255}; | |||
static unsigned char default_widths[N_PEAKS] = {128,128,128,160,171,171,128,128,128}; | |||
static int breath_widths[N_PEAKS] = {0,200,200,400,400,400,600,600,600}; | |||
// default is: pitch 82,118 | |||
@@ -392,8 +395,8 @@ void VoiceReset(int tone_only) | |||
for(pk=0; pk<N_PEAKS; pk++) | |||
{ | |||
voice->freq[pk] = 256; | |||
voice->height[pk] = 256; | |||
voice->width[pk] = 256; | |||
voice->height[pk] = default_heights[pk]; | |||
voice->width[pk] = default_widths[pk]*2; | |||
voice->breath[pk] = 0; | |||
voice->breathw[pk] = breath_widths[pk]; // default breath formant woidths | |||
voice->freqadd[pk] = 0; |
@@ -782,14 +782,14 @@ size_t wave_write(void* theHandler, char* theMono16BitsWaveBuffer, size_t theSiz | |||
if (out_channels == 2) | |||
{ | |||
// copy with wrap around at the end of ringbuffer | |||
const size_t bytes_written = copyBuffer(myWrite, theMono16BitsWaveBuffer, aFreeMem/2); | |||
copyBuffer(myWrite, theMono16BitsWaveBuffer, aFreeMem/2); | |||
myWrite = myBuffer; | |||
myWrite += copyBuffer(myWrite, theMono16BitsWaveBuffer+aFreeMem/2, theSize - aFreeMem/2); | |||
} | |||
else // 1 channel (mono) | |||
{ | |||
// copy with wrap around at the end of ringbuffer | |||
const size_t bytes_written = copyBuffer(myWrite, theMono16BitsWaveBuffer, aFreeMem); | |||
copyBuffer(myWrite, theMono16BitsWaveBuffer, aFreeMem); | |||
myWrite = myBuffer; | |||
myWrite += copyBuffer(myWrite, theMono16BitsWaveBuffer+aFreeMem, theSize - aFreeMem); | |||
} // end if (out_channels == 2) |