Browse Source

[1.39.39]

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-fd96e6ae7743
master
jonsd 16 years ago
parent
commit
3096b7634d

+ 16
- 8
dictsource/af_list View File

@@ -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

+ 65
- 8
dictsource/af_rules View File

@@ -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'&lta_
ε '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.

+ 17
- 17
dictsource/dict_phonemes View File

@@ -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.


+ 11
- 2
dictsource/en_list View File

@@ -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

+ 12
- 7
dictsource/en_rules View File

@@ -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
dictsource/eo_list View File

@@ -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
- 7
dictsource/es_list View File

@@ -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

+ 1
- 18
dictsource/es_rules View File

@@ -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

+ 1
- 2
dictsource/fr_list View File

@@ -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



+ 11
- 9
dictsource/fr_rules View File

@@ -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

+ 1
- 1
dictsource/hbs_list View File

@@ -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

+ 31
- 16
phsource/compile_report View File

@@ -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

BIN
phsource/l^/l^ View File


+ 14
- 1
phsource/ph_catalan View File

@@ -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

+ 1
- 1
phsource/ph_english_us View File

@@ -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

+ 2
- 2
phsource/ph_english_wi View File

@@ -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


+ 8
- 7
phsource/ph_french View File

@@ -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

+ 6
- 0
phsource/ph_latvian View File

@@ -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)

+ 3
- 8
phsource/phonemes View File

@@ -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

BIN
phsource/vowel/@_6 View File


BIN
phsource/vowel/a View File


BIN
phsource/vowel/aa View File


BIN
phsource/vowel/aa_2 View File


BIN
phsource/vowel/e View File


BIN
phsource/vowel/ii# View File


BIN
phsource/vwl_en_us/3_us View File


+ 6
- 0
src/compiledata.cpp View File

@@ -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)

+ 1
- 1
src/dictionary.cpp View File

@@ -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)

+ 2
- 2
src/formantdlg.cpp View File

@@ -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);
}
}

+ 1
- 1
src/klatt.cpp View File

@@ -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);

+ 1
- 1
src/numbers.cpp View File

@@ -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);
}
}
}

+ 1
- 1
src/spect.h View File

@@ -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();

+ 2
- 2
src/spectdisplay.cpp View File

@@ -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:

+ 11
- 8
src/spectseq.cpp View File

@@ -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
}


+ 1
- 1
src/synthdata.cpp View File

@@ -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;

+ 1
- 1
src/synthesize.cpp View File

@@ -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


+ 17
- 16
src/tr_languages.cpp View File

@@ -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();

+ 1
- 1
src/translate.cpp View File

@@ -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

+ 5
- 2
src/voices.cpp View File

@@ -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;

+ 2
- 2
src/wave.cpp View File

@@ -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)

Loading…
Cancel
Save