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

//maintainer: Willem van der Walt
//maintainer: Willem van der Walt
// email: [email protected] // email: [email protected]
// tel: +27 12 8413996 // tel: +27 12 8413996
// Meraka Institute, CSIR // Meraka Institute, CSIR
sauk $abbrev sauk $abbrev
st s@nt $dot st s@nt $dot
supt suprEntEnd'Ent $dot supt suprEntEnd'Ent $dot
tv te@fe@_
vsa $abbrev vsa $abbrev


// letter names // letter names
algerië alx2'e@re@:@- algerië alx2'e@re@:@-
antwerpen antv&rp@n antwerpen antv&rp@n
babilon babilOn babilon babilOn
bangladesh baNglad'ES
bangladesj baNglad'ES
bastille bast'il bastille bast'il
bellevue b&lvju: bellevue b&lvju:
berlyn $2
bermuda $2 bermuda $2
bethlehem bEt_liEm bethlehem bEt_liEm
boedapest budapEst boedapest budapEst
outeniekwa @Ut@n'ikwa outeniekwa @Ut@n'ikwa
oxford _^_EN oxford _^_EN
pelindaba p&l@nd'A:ba pelindaba p&l@nd'A:ba
portugal $1
portugal pOrtyx2al
potchefstroom pOtSIfstr'o@m potchefstroom pOtSIfstr'o@m
richardsbaai ritS@dsb'AI
robertson _^_EN robertson _^_EN
sahara sah'A:ra sahara sah'A:ra
secunda s@kunda secunda s@kunda
soweto suw'E:tu soweto suw'E:tu
springs _^_EN $capital springs _^_EN $capital
sunnyside _^_EN sunnyside _^_EN
suriname syrin'A:m@
swellendam $3 swellendam $3
tokio to@kiu tokio to@kiu
tunisië $2 tunisië $2
charl SA:l charl SA:l
charles _^_EN charles _^_EN
charlie tSA:li charlie tSA:li
charmaine SA:m'eI:n
chopin S%OpA~ chopin S%OpA~
conradie $2 conradie $2
chris krIs chris krIs
jordaan $2 jordaan $2
josef jo@s@f josef jo@s@f
juanita juan'ita juanita juan'ita
julia _^_EN
kelvin _^_EN kelvin _^_EN
kim _^_EN $capital kim _^_EN $capital
krige krix2@ krige krix2@
labuschagne labWsk'ax2ni
langenhoven laN@nho@f@n langenhoven laN@nho@f@n
lasarus lA:s@r%Ws lasarus lA:s@r%Ws
lategan lA:t@x2an lategan lA:t@x2an
schreiner SraIn@r schreiner SraIn@r
tony t@Uni tony t@Uni
trichardt trix2A:rt trichardt trix2A:rt
xhosa kO:za


khumalo kum'A:lu khumalo kum'A:lu
zuma zu:ma zuma zu:ma
chrysler kraIsl@r chrysler kraIsl@r
ferrari f@rA:ri ferrari f@rA:ri
martini mart'i:ni martini mart'i:ni
naspers nasp&rs
venda vEnda venda vEnda
wimpy wImpi wimpy wImpi


hulle $u $verbf hulle $u $verbf
hulleself hWl@s&lf $verbf hulleself hWl@s&lf $verbf
my $u $verbf my $u $verbf
jou $u $verbf
jou $u $only $verbf
hom $u $verbf hom $u $verbf
haar $u $only $verbf haar $u $only $verbf
se Es@ $capital se Es@ $capital
bostaande b'o@stA:nd@ bostaande b'o@stA:nd@
bourgeois _^_FR bourgeois _^_FR
bourgeoisie _^_FR bourgeoisie _^_FR
briewemes briv@mEs


cabernet kab@rn'eI cabernet kab@rn'eI
camembert kam@mb'&:r camembert kam@mb'&:r
camouflage kamufl'A:Z camouflage kamufl'A:Z
capita kapita
casino kas'i:n@U casino kas'i:n@U
charisma kar'Isma charisma kar'Isma
chemikalieë $3 chemikalieë $3
hoofsaaklik $2 hoofsaaklik $2
hoogedele ho@x2 _e@d@l@ hoogedele ho@x2 _e@d@l@
hosanna hus'ana hosanna hus'ana
hotagter hOt_ax2t@r


ibis $1 ibis $1
idee $2 idee $2
macaroni makar'o@ni macaroni makar'o@ni
madame mad'A:m madame mad'A:m
madamoiselle _^_FR madamoiselle _^_FR
malles mal@s
maskering mask'e@r@N $only maskering mask'e@r@N $only
massaal $2 massaal $2
massale $2 massale $2
patos pA:tOs patos pA:tOs
patriotisme patri|ut'Ism@ patriotisme patri|ut'Ism@
penorent pEno@rEnt penorent pEno@rEnt
per pIr
per p@r $only
persent p@rsEnt persent p@rsEnt
petite p@tit petite p@tit
pinotage pinut'A:Z pinotage pinut'A:Z


rebelleer r@b@le@r rebelleer r@b@le@r
rededele re@d@de@l@ rededele re@d@de@l@
regie r@Zi:
renaissance rEn@s'A~ns renaissance rEn@s'A~ns
retoriek r@tur'ik retoriek r@tur'ik
rimpeling rImp@l@N rimpeling rImp@l@N

+ 65
- 8
dictsource/af_rules View File

apart %apart // fix stress: (bus-/klein)apartheid apart %apart // fix stress: (bus-/klein)apartheid
_) a (po %a // apollo/apostel _) a (po %a // apollo/apostel
apo (krieC %ap%u // fix stress and vowel sounds: apokrief/-iewe 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 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 (oor ap_ // fix stress and a sound: flap-/lap-/pap-/slapoor(hond)
C) ap (ore_ ap_ // fix a sound: flap-/lapore C) ap (ore_ ap_ // fix a sound: flap-/lapore
boulevard bul@vard // boulevard/-s boulevard bul@vard // boulevard/-s
_) bowe b''o@v@ // fix e sound in compounds: boweaards/bowemaans/bowetoon _) bowe b''o@v@ // fix e sound in compounds: boweaards/bowemaans/bowetoon
_) breda br@dA: // move default stress: (van )Breda/Bredasdorp _) 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 bril (jant br@l // move default stress: briljant/-e/-heid/-ste
bro (mi br%o@ // fix stress: bromide/bromied(papier)/silwerbromide/ied bro (mi br%o@ // fix stress: bromide/bromied(papier)/silwerbromide/ied
bru (ta br%y // move default stress: brutaal/brutale/brutaliteit bru (ta br%y // move default stress: brutaal/brutale/brutaliteit
bene (dy b%e@n@ // fix stress and e sounds: gebenedy/-de bene (dy b%e@n@ // fix stress and e sounds: gebenedy/-de
_) ben (ga b%EN // fix stress and n/g sounds: Bengaalse/Bengale _) 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. 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 ber (serk b@r // fix stress and 1st e sound: berserk/-er
C) be (rsie b'&: //kombersie etc. C) be (rsie b'&: //kombersie etc.
bene (r be@n@ //benerig/e bene (r be@n@ //benerig/e
deur (waaid d%Y@r // move default stress: deurwaaid/-e deur (waaid d%Y@r // move default stress: deurwaaid/-e
deur (weeC d%y@r // move default stress: deurweef/deurweek/-te deur (weeC d%y@r // move default stress: deurweef/deurweek/-te
deur (winter d%y@r // move default stress: deurwinter/-de 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 dia (C d%i%a // diabeet/diafragma/diagnose/dialek/dialoog/diamant
diaken d%iA:k@n // diaken and compounds diaken d%iA:k@n // diaken and compounds
diako (nie d%i%ak%u // fix stress and o sound: diakonie/-ë diako (nie d%i%ak%u // fix stress and o sound: diakonie/-ë
detail d'i:teIl detail d'i:teIl
detai (lleer d%i:t%eI // fix stress: (ge)detailleer(d/-e) detai (lleer d%i:t%eI // fix stress: (ge)detailleer(d/-e)
di (ssi d@ // move default stress: dissipel/-s 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 distri (bu d@str@ // distribusie/distribueer and compounds
_) dis (t d@s // stress: distrik/-te and compounds/distansie/distinksie/distorsie/distraksie _) dis (t d@s // stress: distrik/-te and compounds/distansie/distinksie/distorsie/distraksie
distel dIst@l // restore default stress: distel and compounds distel dIst@l // restore default stress: distel and compounds
eind (eks eInt_ // fix d sound and make short pause: eindeksamen/-s and compounds eind (eks eInt_ // fix d sound and make short pause: eindeksamen/-s and compounds
sirk) e (l @ // compounds: sirkelgang/sirkelvormig sirk) e (l @ // compounds: sirkelgang/sirkelvormig
nk) e (lC @ // onwankelbaar/skenkelbeen/sprinkelbesproeiing/kinkeldraai/kronkelpad/seunsenkelspel 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 _) erde (C &rd@ // fix connecting e in compounds: erdekruik/-ware and similar
_) ere e@r@ // ereamp/erediens/ererol/erevoorsitter _) ere e@r@ // ereamp/erediens/ererol/erevoorsitter
ere (ksiA %e@rE // fix stress and e sounds: ereksie/ereksionele ere (ksiA %e@rE // fix stress and e sounds: ereksie/ereksionele
&) etjie (+ ici &) etjie (+ ici
Cn) etjies Eicis // kraaknetjies/hipernetjies Cn) etjies Eicis // kraaknetjies/hipernetjies
nn) etjies icis // kannetjies/mannetjies/pennetjies, etc. 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 &) elikheid (_S8 @l@keIt // vriendelikheid/duidelikheid
epi (deC %Ep%i // epidemie/-s/-e/epidermies/epidermis epi (deC %Ep%i // epidemie/-s/-e/epidermies/epidermis


ar) e (sse_ 'E // bibliotekaresse/sekretaresse ar) e (sse_ 'E // bibliotekaresse/sekretaresse
Ks) e (na @ //senator and friends/watsenaam Ks) e (na @ //senator and friends/watsenaam
p) e (talje @ // fix stress and 1st e sound: petalje and compounds 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 _) e (ks %E //move default stress in words starting with eks
_C) e (on_ 'i //Leon, Deon etc. _C) e (on_ 'i //Leon, Deon etc.
@C) e (oor @_ // fix e sound: boekbeoordelaar/klasseoorheersing/tarieweoorlog/waardeoordeel @C) e (oor @_ // fix e sound: boekbeoordelaar/klasseoorheersing/tarieweoorlog/waardeoordeel
gewe (_ x2'e@v@ // begewe/gegewe gewe (_ x2'e@v@ // begewe/gegewe
@) gewende (_ x2'e@v@nd@ @) gewende (_ x2'e@v@nd@
@) gewend (_ x2'e@v@nt // insiggewend/deurslaggewend/liggewend @) 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 (d x2@v&l //geweld/ig/gewelddadig
gewel (f x2@v&l //gewelf/boog gewel (f x2@v&l //gewelf/boog
gewel (w x2@v'&l //gewelwe gewel (w x2@v'&l //gewelwe
&C) ikend @k@nt // grinnikend/runnikend/sanikend &C) ikend @k@nt // grinnikend/runnikend/sanikend
&C) ikende @k@nd@ // grinnikende/runnikende/sanikende &C) ikende @k@nd@ // grinnikende/runnikende/sanikende
ingenieur @nx2@n'y@r 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 inten (s @ntEn // move default stress
in (tussen @n // move default stress in (tussen @n // move default stress
_) iri (s ir@ // restore stress on 1st slb.: iris/-se _) iri (s ir@ // restore stress on 1st slb.: iris/-se
jag (ing jA:x2 // long a in (ver)jaging and similar jag (ing jA:x2 // long a in (ver)jaging and similar
jaguar jagwar // fix a, g and u sounds: jaguar and compounds jaguar jagwar // fix a, g and u sounds: jaguar and compounds
_) ja (CobA j%a // fix stress and a sound: Jacoba/Jacobus/Jakobus _) 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 jakaranda j%ak%ar'anda //jakaranda and compounds
jakopewer j%ak%Ope@v@r_ // fix stress and vowel sounds: jakopewer/-oë jakopewer j%ak%Ope@v@r_ // fix stress and vowel sounds: jakopewer/-oë
jaloe (sie j%al%u // stress: jaloesie/beroepsjaloesie jaloe (sie j%al%u // stress: jaloesie/beroepsjaloesie
kanfer kA~nf@r_ // fix e sound: kanferboom/-bos/-hout/-olie, etc. kanfer kA~nf@r_ // fix e sound: kanferboom/-bos/-hout/-olie, etc.
kanfer (foel k%A~nf@r // move default stress: kanferfoelie and compounds kanfer (foel k%A~nf@r // move default stress: kanferfoelie and compounds
kanni (ba k%an%i // move default stress: kannibaal/kannibale/kannibalisme 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 (vaar k%ano@ // fix stress and vowel sounds: kanovaarder/vaart, etc.
kano (_ k%ano@ // fix last o sound: (opblaas)kano/-'s kano (_ k%ano@ // fix last o sound: (opblaas)kano/-'s
kan (tien k%an // move default stress: kantien and compounds kan (tien k%an // move default stress: kantien and compounds
makaber m%akA:b@r // fix stress and vowel sounds: makaber/-e/-heid 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 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 @) 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 @) makranka makr'anka // fix stress and vowel sounds: koek(e)makranka/-s
ma (kriel m%a // move default stress: makriel/-e ma (kriel m%a // move default stress: makriel/-e
maksi (ma@ m%aks%i // move default stress: maksimaal/-male maksi (ma@ m%aks%i // move default stress: maksimaal/-male
&) mal (_S3 mal &) mal (_S3 mal
malaria mal'A:ria malaria mal'A:ria
mal (gas m%al // move default stress: Malgas/-se/-sies 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 _) malte (sA m%alte@ // move default stress and fix e sound: maltese/maltesies
mam (poer m%am // move default stress: mampoer and compounds mam (poer m%am // move default stress: mampoer and compounds
man (da m%an //mandaat and compounds man (da m%an //mandaat and compounds
CA) mme (C m@ CA) mme (C m@
CA) mme (tjie mi // lemmetjie/stemmetjie and similar CA) mme (tjie mi // lemmetjie/stemmetjie and similar
middagete m'Idax2_e@t@ // middagete/s 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 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 milit m@l@t // militêr/militaris
mil (jA m@l // move default stress: miljoen/-e/miljard/-e mil (jA m@l // move default stress: miljoen/-e/miljard/-e
mille (nniA m@lE // millennium/millennia mille (nniA m@lE // millennium/millennia
n (_n //cause one n sound kan nie doen nie etc. n (_n //cause one n sound kan nie doen nie etc.
n (_n_ n // fix n in phrases like: afkappingsteken n n (_n_ n // fix n in phrases like: afkappingsteken n
neer (drukk n%e@r // move default stress: neerdrukkend/-e 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 neer (halend n%e@r // move default stress: neerhalend/-e
@) nees (_ n'e@s // fix stress: Soedanees and similar @) nees (_ n'e@s // fix stress: Soedanees and similar
&) nele (_ n'e@l@ &) nele (_ n'e@l@
seku (l s%Ek%y // sekulër/sekulariseer seku (l s%Ek%y // sekulër/sekulariseer
sekwe (strA s%Ekw@ // fix e sounds: sekwestrasie/sekwestreer and compounds 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 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 heuning) se (lK s& // fix e sound: heuningsel/-le
liggaam) se (lK s& // fix e sound: liggaamsel/-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 sela (kant s%e@l@ // fix stress and vowel sounds: selakant/-e
selder (y s%&ld@r // move default stress: seldery and compounds selder (y s%&ld@r // move default stress: seldery and compounds
&) sele (_ s'e@l@ &) sele (_ s'e@l@
_) seme (Ct s@mE // sementtafel/blad/vierkant/semester/-s _) seme (Ct s@mE // sementtafel/blad/vierkant/semester/-s
_) semi (_ sEmi // fix e sound: semi/semi-formeel, etc. _) semi (_ sEmi // fix e sound: semi/semi-formeel, etc.
semi (na s%Em%i // seminaar/seminare/seminarium semi (na s%Em%i // seminaar/seminare/seminarium
_) semi (C sEmi // fix vowel sounds: semistaatsinstellings and similar


sening se@n@N // sening/haaksening/heupsening sening se@n@N // sening/haaksening/heupsening
_) se (ni@ s@ // fix stress and e sound: seniel/-e/seniliteit _) se (ni@ s@ // fix stress and e sound: seniel/-e/seniliteit
skaker (ing sk%ake@r // skakering/-s/kleurskakering skaker (ing sk%ake@r // skakering/-s/kleurskakering
skan (da sk%an // move default stress: skandaal/skandale/skandalig and compounds 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 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 _) skar (C sk%ar // move default stress: skarlaken/skarminkel/skarnier and many compounds
skarrel skar@l // restore default stress: (ge)skarrel/-ing skarrel skar@l // restore default stress: (ge)skarrel/-ing
ska (vot sk%a // fix stress and a sound: skavot and compounds ska (vot sk%a // fix stress and a sound: skavot and compounds
nd) ste (r st& // fix e sound: aandster/oggendster nd) ste (r st& // fix e sound: aandster/oggendster
pool) ste (r st& // fix e sound: poolster pool) ste (r st& // fix e sound: poolster
see) ste (r st& // fix e sound: seester/-re/seesterpunte and similar compounds 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 sewe) ste (r st& // fix e sound: sewester and compounds
visie) ste (r st& // fix e sound: televisiester/-re visie) ste (r st& // fix e sound: televisiester/-re
_) ste (ri st%E // fix stress and e sound: steriel/-e/steriliteit _) ste (ri st%E // fix stress and e sound: steriel/-e/steriliteit
teleks t&lEks // fix stress and vowel sounds: teleks and compounds 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. _) 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 (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 @C) te (nk t& ++ //tenk and friends
_) te (no t@ //tenoor, tenore etc. _) te (no t@ //tenoor, tenore etc.
@C) te (C t@ /// @C) te (C t@ ///
&) tert (r t@rt // fix e sound: pleistertroffel/venstertralie/ystertralies/ystertrap &) 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 (aan t&:rt // fix e sound: swa(w)elstertaandpak/-ke
&s) tert (e_ t&:rt // fix e sound: swa(w)elsterte/vissterte &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 &) tert t&rt
&) tertjie t@rki &) tertjie t@rki
@) ter (tyd t@r // mettertyd/pinkstertyd/toentertyd @) ter (tyd t@r // mettertyd/pinkstertyd/toentertyd
_b) us (A ''Ws_ //busongeluk/-operateur/-uitstappie, etc. _b) us (A ''Ws_ //busongeluk/-operateur/-uitstappie, etc.
utjie Yyci utjie Yyci
univers (A@ %yn%iv%&rs // universiteit and compounds/universeel/-ele univers (A@ %yn%iv%&rs // universiteit and compounds/universeel/-ele
C) untjie YyNci // muntjie/puntjie/-s
C) uwelik yv@l@k // gruwelik/huwelik/afskuwelik C) uwelik yv@l@k // gruwelik/huwelik/afskuwelik
m) u (skiet %W //change stress for muskiet compounds m) u (skiet %W //change stress for muskiet compounds
n) uwe (C yv@ // nuwelinge/nuwemaan n) uwe (C yv@ // nuwelinge/nuwemaan
x ks x ks
x (x x (x
xen (o z%En // xeno-/fiel/-filie/-fobie/-fobies/-e 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 .group y
y eI y eI
zambesi z%ambe@s%i // fix stress and e sound: Zambesi(rivier) zambesi z%ambe@s%i // fix stress and e sound: Zambesi(rivier)
zebra ze@bra // fix vowel sounds: zebra/-strepe 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 .group
@) 's (S2 s // plurals of wrds ending in vowels: crescendo's/innuendo's/okapi's, etc. @) 's (S2 s // plurals of wrds ending in vowels: crescendo's/innuendo's/okapi's, etc.
@) 'tjie %ici // foto'tjie/ma'tjie, etc. @) 'tjie %ici // foto'tjie/ma'tjie, etc.

+ 17
- 17
dictsource/dict_phonemes View File



Dictionary ca_dict 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; v v# w z Z Z;




o o: oU r* r- u U u: o o: oU r* r- u U u:


* ; b d dZ dZ; f g * ; 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 Dictionary hi_dict
u W y u W y


** b d dZ f g h j ** 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 Dictionary id_dict
eI i I I# O OI u V eI i I I# O OI u V
y yE 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 Dictionary sv_dict
o o- ou u u@ ua uai uei o o- ou u u@ ua uai uei
uo y y& y@ yE yi yu 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. s s. S; t th ts ts. ts.
tS; tS; tsh v w x X z. tS; tS; tsh v w x X z.



+ 11
- 2
dictsource/en_list View File

breath brET $onlys breath brET $onlys
breath bri:D $verb $onlys breath bri:D $verb $onlys
brethren brEDr@n brethren brEDr@n
bridesmaid braIdzmeId
bridal braId@L
brigade $2 brigade $2
brigadier brIga2d'i@3 brigadier brIga2d'i@3
brochure broUS3 brochure broUS3
hasty heIstI hasty heIstI
hatred heItrI2d hatred heItrI2d
hazardous haz3d@s hazardous haz3d@s
hedgehog hEdZh0g
hehe hi:h'i: hehe hi:h'i:
heifer hEf@ heifer hEf@
helium hi:li@m helium hi:li@m
jasmine dZazmIn jasmine dZazmIn
jesus dZi:z@s jesus dZi:z@s
joky dZoUkI joky dZoUkI
jukebox dZu:kb0ks
july dZu:l'aI july dZu:l'aI


kaput ka2pUt kaput ka2pUt
lorenz l0r@nts lorenz l0r@nts
los ,l0s $only los ,l0s $only
losing lu:zI2N // misspell losing lu:zI2N // misspell
lukewarm lu:kwO@m
lullaby lVl@baI lullaby lVl@baI
lunatic lu:n@tIk lunatic lu:n@tIk


rajah rA:dZA: rajah rA:dZA:
rapier reIpi@3 rapier reIpi@3
rapport rap'o@ rapport rap'o@
rarity re@r@tI
rascal raask@L rascal raask@L
ratatouille rat@t'u:I ratatouille rat@t'u:I
?!3 rather rA:D3 ?!3 rather rA:D3
separate sEp@-r@t separate sEp@-r@t
separate sEp3reIt $verb separate sEp3reIt $verb
semen si:m@n semen si:m@n
semibreve $1
semicircle $1
semicolon sEmIk'oUl@n semicolon sEmIk'oUl@n
semitone $1
senator sEn@t3 senator sEn@t3
sens sEns // for sensible sens sEns // for sensible
sentient sEnti@nt sentient sEnti@nt
tirade taIr'eId tirade taIr'eId
tis tIz tis tIz
titan taIt@n titan taIt@n
toboggan t@b0g@n
today t@deI today t@deI
todo t@du: todo t@du:
tombola t0mb'oUl@ tombola t0mb'oUl@
trio tri:oU trio tri:oU
trojan troUdZ@n trojan troUdZ@n
trophy troUfI trophy troUfI
troubadour tru:b@do@
truely tru:lI2 $verbf truely tru:lI2 $verbf
truest tru:@st truest tru:@st
tryst trIst tryst trIst
Sean SO:n Sean SO:n
Sebastian $2 Sebastian $2
Sheila Si:l@ Sheila Si:l@
Sinead SI2neId
Sonia s0nj@ Sonia s0nj@
Sophie soUfI Sophie soUfI
Stephen sti:v@n Stephen sti:v@n
just $verbf just $verbf
never $verbf never $verbf
now $verbf now $verbf
now naU $verbf $allcaps
soon $verbf soon $verbf
still $verbf still $verbf
already O:lr,EdI $verbf $strend2 already O:lr,EdI $verbf $strend2

+ 12
- 7
dictsource/en_rules View File

&) am (o_ @m &) am (o_ @m
&d) am (_ @m &d) am (_ @m
@erd) am (_ am @erd) am (_ am
&h) am (_ @m
?!3 &h) am (_N @m
&s) am (_ @m &s) am (_ @m
@r) am (a 'A:m @r) am (a 'A:m
_) am (al a2m _) am (al a2m
m) anoeu (v @nu: m) anoeu (v @nu:
_qu) an 0n _qu) an 0n
_w) an 0n _w) an 0n
_w) an (g an
_w) an (k an
_tr) an (s %an _tr) an (s %an
tr) ansfer %ansf3: tr) ansfer %ansf3:
tr) an (si an tr) an (si an
@) ed (ien 'i:d @) ed (ien 'i:d
m) ed (io i:d m) ed (io i:d
m) ed (iu i:d m) ed (iu i:d
edg (e# EdZ
@m) ediate i:dI2@t @m) ediate i:dI2@t
cr) edib EdIb cr) edib EdIb
@dr) ed (_ Id @dr) ed (_ Id
em (uls I2m em (uls I2m
h) em (o i:m h) em (o i:m
h) emorrh Em@r h) emorrh Em@r
sph) em @m
sph) em (e 'i:m


.group en .group en
_) en (@ %En _) en (@ %En
er (ent_ r er (ent_ r
adh) er (e 'i@3 adh) er (e 'i@3
coh) er (e 'i@3 coh) er (e 'i@3
h) er (ed I2r
_h) er (ed I2r
c) ere (mon ErI2 c) ere (mon ErI2
h) er (en i@r h) er (en i@r
st) ereo ErI2oU st) ereo ErI2oU
h (h h (h
h (_ h (_
_B) h _B) h
&) ham (_ @m
?3 &) ham (_ ham
@) hammed h'amId @) hammed h'amId
A) han (_ h'an // places A) han (_ h'an // places
ha (st heI ha (st heI
br) i (dl aI br) i (dl aI
_s) i (dl aI _s) i (dl aI
f) i (del I2 f) i (del I2
br) i (dA aI
br) i (dg I br) i (dg I
ybr) i (d I
_s) i (der aI _s) i (der aI
i (der_+ aI i (der_+ aI
@) i (do_ 'i: @) i (do_ 'i:
secur sI2kjU@ secur sI2kjU@
self (_ 'sElf self (_ 'sElf
selves (_ 'sElvz selves (_ 'sElvz
_) semi (@@P4 s,EmI2
_) semin sEmIn
sh S sh S
_mi) s (h s _mi) s (h s
@) s (head_ s @) s (head_ s
theless D@l'Es theless D@l'Es
theque tEk theque tEk
ther (_ D3 ther (_ D3
ther (er D3
th (erC D th (erC D
there (_ D3 // thering there (_ D3 // thering
th (est D th (est D
n) th (er T
ea) th (er D
n) th (er+ T
therap TEr@p therap TEr@p
th (erm T th (erm T
ca) th (eri T ca) th (eri T

+ 30
- 16
dictsource/eo_list View File

_dpt _komo_ _dpt _komo_


// accent names // 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 _. punkto
_: dupunkto _: dupunkto
_; punktokomo _; punktokomo
| duktosigno | duktosigno
* asteRisko * asteRisko
© kopiRaIto © kopiRaIto
_( Rondak@-*'ampo
_) feRm'itaRondak@-*'ampo
_[ Rektak@-*'ampo
_( R'ondak@-*'ampo
_) f'eRmaRondak@-*'ampo
_[ R'ektak@-*'ampo
_] f'eRmaRektak@-*'ampo _] f'eRmaRektak@-*'ampo
_{ k'u@-*bak@-*'ampo
_} f'eRmaku@-*bak@-*'ampo
_{ k'uRbak@-*'ampo
_} f'eRmakuRbak@-*'ampo
_< angulk@-*'ampo _< angulk@-*'ampo
_> f'eRmaangulk@-*'ampo _> f'eRmaangulk@-*'ampo
_« du'oblaangulk@-*'ampo
_» f'eRmadu,oblaangulk@-*'ampo
_« du'oblak@-*'ampo
_» f'eRmadu,oblak@-*'ampo




v vo // not Roman numbers v vo // not Roman numbers
bea $abbrev bea $abbrev
bv bon,volu% bv bon,volu%
ekz ekzemple $dot ekz ekzemple $dot
(ekz-e) ekzemple
i.a 'i'a i.a 'i'a
k.a kaIal'iaI k.a kaIal'iaI
k.c kaItset'eRe k.c kaItset'eRe
kun $u+ $pause kun $u+ $pause
laŭ $u+ $brk laŭ $u+ $brk
per $u+ $brk per $u+ $brk
(pere de) pe@-*e%d'e $u+ $brk
(fare de) fa@-*e%d'e $u+ $brk
preter $u+ $brk preter $u+ $brk
pri $u+ $pause pri $u+ $pause
por $u+ $pause por $u+ $pause

+ 7
- 7
dictsource/es_list View File

_?? s'imbOlo _?? s'imbOlo
_#32 Esp'aTjo _#32 Esp'aTjo


// NOTE: Some of these pronunciations may still be in
// Spanish, and need to be changed.


// accent names // accent names
_lig liQaD'u**a _lig liQaD'u**a
_? TE*R'aRintE*R,oQaTj'On _? TE*R'aRintE*R,oQaTj'On
_¡ aB**'iRaDmi**aTj'On _¡ aB**'iRaDmi**aTj'On
_¿ aB**'iRintE*R,oQaTj'On _¿ aB**'iRintE*R,oQaTj'On
_= iQw'al
_< men'ORke _< men'ORke
_> maJ^'ORke _> maJ^'ORke
_' apOst**'ofo _' apOst**'ofo
_" kom'iJ^as _" kom'iJ^as
_+ s'iQnOdesum'aR _+ s'iQnOdesum'aR
_$ dolar
_# almoaD'iJ^a
_* aste*'isko
_- gJ^On _- gJ^On
__ suB**aJ^'aDo __ suB**aJ^'aDo
_/ ba*Ra _/ ba*Ra
_« kom'iJ^as||iTkJ^'ERDas _« kom'iJ^as||iTkJ^'ERDas
_» kom'iJ^as||dE**'EtSas _» kom'iJ^as||dE**'EtSas


= iQw'al $max3
+ m'as $max3
# almOaD'iJ^a $max3
* astE*'isko $max3
. punto $max3

^ TiRkumfl'exo ^ TiRkumfl'exo
€ eU**o € eU**o
% pOrTj'Ento
% pOrTj'Ento $max3
& ampERs'ant & ampERs'ant
@ a*R'oBa @ a*R'oBa
/ ba*Ra / ba*Ra

+ 1
- 18
dictsource/es_rules View File



$ d'Olar $ d'Olar


+ m'as
_) ++ (_ masm'as
\+\+\+) + // ignore + after the first 3

# almOaD'iJ^a
\#) #

__) - (_D m'EnOs
_) - (_D m'EnOs
A_) - (_D _ A_) - (_D _
C_) - (_D _ C_) - (_D _
--) -

* astE*'isko
*) * (*
**
**) * (_ _::

. punto
. (. _:
\.) .


, (D kOma , (D kOma

+ 1
- 2
dictsource/fr_list View File



// 2006-11-18 Gilles Casse <[email protected]> // 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. // * Numbers, a few abbreviations and exceptions.
// //
(text aloud) tEkst||@la=wd (text aloud) tEkst||@la=wd
ubuntu ubuntu ubuntu ubuntu
up _^_en up _^_en
yacht jO2t
yes _^_en yes _^_en





+ 11
- 9
dictsource/fr_rules View File



// 2006-11-18 Gilles Casse <[email protected]> // 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: // Letter classes:
.group q .group q
q k // coq q k // coq
_) qu' (AP3 k _) 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 qu k // quatre
_) que (_ k@ // que _) que (_ k@ // que
n) q (_ k // cinq cent n) q (_ k // cinq cent
.group y .group y
y i // cryogénique myope y i // cryogénique myope
_) y (A j // yak, yacht _) y (A j // yak, yacht
_) yacht _^_en // yacht, yachtman
_) y (eu i // yeux _) y (eu i // yeux


_) yahoo (P5 ia'u _) yahoo (P5 ia'u

+ 1
- 1
dictsource/hbs_list View File

?2 _0M1 h'il^,&d& ?2 _0M1 h'il^,&d&
?2 _0MA1 h'il^,&de ?2 _0MA1 h'il^,&de
?2 _1M1 h'il^,&dU ?2 _1M1 h'il^,&dU
?2 _1MA1 jedn&||hiL&d&
?2 _1MA1 jedn&||hil^&d&
?3 _0M1 h'il^ad& ?3 _0M1 h'il^ad&
?3 _0MA1 h'il^ade ?3 _0MA1 h'il^ade
?3 _1M1 h'il^adU ?3 _1M1 h'il^adU

+ 31
- 16
phsource/compile_report View File

hi 59 148 hi 59 148
ta 17 151 ta 17 151
hu 23 119 hu 23 119
lv 28 125
lv 29 126
nl 28 126 nl 28 126
pl 19 116 pl 19 116
sk 28 134 sk 28 134
la 21 121 la 21 121
es 9 123 es 9 123
es_la 1 123 es_la 1 123
ca 9 124
ca 11 125
pt 28 139 pt 28 139
pt_pt 20 139 pt_pt 20 139
ro 36 146 ro 36 146
rw 15 129 rw 15 129
ko 18 158 ko 18 158
da 15 133 da 15 133
sq 31 127
sq 35 130
ml 13 150 ml 13 150
kn 15 150 kn 15 150
bn 59 153 bn 59 153
[d] el [d] el
[d] sw [d] sw
[d] id [d] id
[d] sq
[d] bn [d] bn
[d.] bn [d.] bn
[d`] om [d`] om
[d] el [d] el
[d] sw [d] sw
[d] id [d] id
[d] sq
[d] bn [d] bn
[d.] bn [d.] bn
[d`] om [d`] om
[d] el [d] el
[d] sw [d] sw
[d] id [d] id
[d] sq
[d] bn [d] bn
[d.] bn [d.] bn
[d[] ga [d[] ga
[d] el [d] el
[d] sw [d] sw
[d] id [d] id
[d] sq
[d] bn [d] bn
[d.] bn [d.] bn
[d[] ga [d[] ga
[(e)] en_klatt [(e)] en_klatt
l/L_eL_af [&] af l/L_eL_af [&] af
[&:] af [&:] af
l/l_front [l] sq
l/l_front [L] sq
l/l_front_ [l/4] sq
l/li [(i)] base l/li [(i)] base
[i] fr [i] fr
[i:] fr [i:] fr
[l] fr [l] fr
[l] la [l] la
[l;] ro [l;] ro
[l] sq
[L] sq
l/lo [(o)] base l/lo [(o)] base
[O] fr [O] fr
[o] fr [o] fr
[o2] fr [o2] fr
[(o)] en_klatt [(o)] en_klatt
l^/l_rfx [l.] hi l^/l_rfx [l.] hi
[l.] sq
[l.] bn [l.] bn
l/lu [(u)] base l/lu [(u)] base
[u] fr [u] fr
[l] ca [l] ca
[l] pt [l] pt
[l;] ro [l;] ro
[l] sq
[L] sq
l/xl [(@)] base l/xl [(@)] base
[(a)] base [(a)] base
[(e)] base [(e)] base
r3/r_u [(u)] base r3/r_u [(u)] base
[(u)] en_klatt [(u)] en_klatt
r3/r_uvl [r"] base r3/r_uvl [r"] base
r3/r_uvl.wav [r"] base
r3/rx [*] base r3/rx [*] base
[r/] base [r/] base
[r/] af [r/] af
[o2] fr [o2] fr
[i:] fr [i:] fr
[u:] fr [u:] fr
[wA] fr
[A~] fr [A~] fr
ufric/ch [C] base ufric/ch [C] base
[J^] base [J^] base
[t] sk [t] sk
[t] el [t] el
[th] zh [th] zh
[t2] sq
[t3] sq
[t.] bn [t.] bn
[t.h] bn [t.h] bn
ustop/t_dnt [t] base ustop/t_dnt [t] base
[t[] vi [t[] vi
[t] sw [t] sw
[t`] ko [t`] ko
[t5] sq
[t] bn [t] bn
[t[] ga [t[] ga
ustop/t_dnt2 [t[] vi ustop/t_dnt2 [t[] vi
ustop/t_ejc [t`] om ustop/t_ejc [t`] om
ustop/t_hard [t2] sq
ustop/t_hard_ [t2] sq
ustop/t_hi [t] hi ustop/t_hi [t] hi
[t5] sq
[t] bn [t] bn
[th] bn [th] bn
ustop/t_pzd [t;] pl ustop/t_pzd [t;] pl
[t] lv [t] lv
[t] sk [t] sk
[t] el [t] el
[t2] sq
[t3] sq
[t.] bn [t.] bn
ustop/tsh_pzd [tS;] zh ustop/tsh_pzd [tS;] zh
ustop/tsh_pzd_unasp [tS;] zh ustop/tsh_pzd_unasp [tS;] zh
[dZ;] hr [dZ;] hr
ustop/t_sr [d] sr ustop/t_sr [d] sr
[t] sr [t] sr
[t4] sq
ustop/ts_rfx [ts.] zh ustop/ts_rfx [ts.] zh
ustop/ts_rfx_unasp [ts.] zh ustop/ts_rfx_unasp [ts.] zh
ustop/ts_sr [tS;] sr ustop/ts_sr [tS;] sr
vdiph2/ei_3 [i:] en_wm vdiph2/ei_3 [i:] en_wm
vdiph2/ei_4 [eI] en_us vdiph2/ei_4 [eI] en_us
[ei] zh [ei] zh
[eI] sq
vdiph2/eo [eo] ro vdiph2/eo [eo] ro
vdiph2/e[u [e[u] ro vdiph2/e[u [e[u] ro
vdiph2/i@ [i@] en_n vdiph2/i@ [i@] en_n
[eI] is [eI] is
[eI] vi [eI] vi
[ei] zhy [ei] zhy
[eI] sq
vdiph/eu [eU] base2 vdiph/eu [eU] base2
[eU] en [eU] en
[eU] cy [eU] cy
[aa] en_wm [aa] en_wm
[a] cy [a] cy
[a] de [a] de
[A] fr
[a] ta [a] ta
[a:] hu [a:] hu
[a:] nl [a:] nl
[A@] en_wi [A@] en_wi
[aa] en_wi [aa] en_wi
[a] eo [a] eo
[a] ca
[A] pt [A] pt
[a] pt_pt [a] pt_pt
[a] ro [a] ro
[A] om [A] om
vowel/a_6 [a] fr vowel/a_6 [a] fr
[a2] fr [a2] fr
[a] ca
[a:] vi [a:] vi
vowel/aa [a] fi vowel/aa [a] fi
[A] fr_ca [A] fr_ca
vowel/aa_9 [a:] hi vowel/aa_9 [a:] hi
[a:] bn [a:] bn
[a] ne [a] ne
vowel/a_en [A] fr
vowel/@_bck [@] hi vowel/@_bck [@] hi
[@/] hi [@/] hi
[@] zh [@] zh
[E] it [E] it
[E] es [E] es
[E] ca [E] ca
[E2] ca
[E] pt_pt [E] pt_pt
[E] no [E] no
[E] is [E] is
vowel/ii_4 [I] en vowel/ii_4 [I] en
[I2] en [I2] en
[I] en_us [I] en_us
vowel/ii_5 [I] en_wi
[I2] en_wi
[I] la
vowel/ii_5 [I] la
[i] zh [i] zh
vowel/ii_6 [I] en_wm vowel/ii_6 [I] en_wm
[I2] en_wm [I2] en_wm
[I] en_wi
[I2] en_wi
[I] sr [I] sr
[I] pt [I] pt
[y] pt [y] pt
[u] hr [u] hr
[U] it [U] it
[u] it [u] it
[u] ca
[u] pt [u] pt
[u:] sv [u:] sv
[u:] no [u:] no
vowel/V_4 [V] en_sc vowel/V_4 [V] en_sc
[V] da [V] da
vowel/V_6 [V] en_us vowel/V_6 [V] en_us
[a#] lv
vowel/y [y:] en vowel/y [y:] en
[y:] de [y:] de
[y] fi [y] fi
[r] fr [r] fr
[Q2] hy [Q2] hy
vwl_fr/@R4 [R] fr vwl_fr/@R4 [R] fr
[r] fr
[r2] fr [r2] fr
[Q2] hy [Q2] hy
vwl_fr/@R5 [r] fr vwl_fr/@R5 [r] fr
[d] el [d] el
[d] is [d] is
[d] id [d] id
[d] sq
[d.] bn [d.] bn
[d`] om [d`] om
[d] en_klatt [d] en_klatt
[d] is [d] is
[d] sw [d] sw
[d] id [d] id
[d] sq
[d] bn [d] bn
[d.] bn [d.] bn
[d`] om [d`] om

BIN
phsource/l^/l^ View File


+ 14
- 1
phsource/ph_catalan View File

phoneme a phoneme a
vowel starttype (a) endtype (a) vowel starttype (a) endtype (a)
length 180 length 180
formants vowel/a_2
formants vowel/a_6
reduceto a# 2 reduceto a# 2
endphoneme endphoneme


reduceto @ 2 reduceto @ 2
endphoneme endphoneme


phoneme E2 // don't reduce
vowel starttype (e) endtype (e)
length 180
formants vowel/e_mid
endphoneme

phoneme O phoneme O
vowel starttype (o) endtype (o) vowel starttype (o) endtype (o)
length 170 length 170
unstressed unstressed
endphoneme endphoneme


phoneme u
vowel starttype (u) endtype (u)
length 160
formants vowel/u_bck
reduceto U 2
endphoneme





phoneme l phoneme l

+ 1
- 1
phsource/ph_english_us View File

length 130 length 130
endphoneme endphoneme


phoneme @/ // Schwa, ebd of word
phoneme @/ // Schwa, end of word
vowel starttype (@) endtype (@) vowel starttype (@) endtype (@)
formants vowel/@_6 formants vowel/@_6
unstressed unstressed

+ 2
- 2
phsource/ph_english_wi View File

phoneme I phoneme I
vowel starttype (i) endtype (i) vowel starttype (i) endtype (i)
length 140 length 140
formants vowel/ii_5
formants vowel/ii_6
linkout ; linkout ;
endphoneme endphoneme


vowel starttype (i) endtype (i) vowel starttype (i) endtype (i)
unstressed unstressed
length 140 length 140
formants vowel/ii_5
formants vowel/ii_6
linkout ; linkout ;
endphoneme endphoneme



+ 8
- 7
phsource/ph_french View File

formants vwl_fr/w_a formants vwl_fr/w_a
after l l/lo-10 after l l/lo-10
before l/ DFT-10+l/l_a before l/ DFT-10+l/l_a
before (r) DFT+r/xr
before r/2 DFT+vwl_fr/r_a before r/2 DFT+vwl_fr/r_a
endphoneme endphoneme


phoneme A // same as [a] phoneme A // same as [a]
vowel starttype (a) endtype (a) vowel starttype (a) endtype (a)
length 166 length 166
formants vowel/a
formants vowel/a_en
endphoneme endphoneme






phoneme r phoneme r
liquid rfx starttype (r) endtype (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 length 100
lengthmod 7 lengthmod 7
beforenotvowel r/2 beforenotvowel r/2
formants vwl_fr/@R3+r3/rx%30 formants vwl_fr/@R3+r3/rx%30
after @2 vwl_fr/@R5+r3/rx%40 after @2 vwl_fr/@R5+r3/rx%40
after (u) vwl_fr/@R5+r3/rx%30 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 endphoneme




length 100 length 100
lengthmod 7 lengthmod 7
beforenotvowel NULL beforenotvowel NULL
formants vwl_fr/@R4+r3/rx%15
formants vwl_fr/@R4+r3/rx%20
endphoneme endphoneme




phoneme R // After consonnants phoneme R // After consonnants
vcd frc vcd frc
vowelin f1=0 f2=1600 -300 300 f3=-200 80
vowelin f1=0 f2=1600 -300 300 f3=100 80
length 100 length 100
lengthmod 7 lengthmod 7
beforenotvowel r/2 beforenotvowel r/2


phoneme r/2 // variant of [r] when not preceding a vowel phoneme r/2 // variant of [r] when not preceding a vowel
liquid 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 length 100
lengthmod 2 lengthmod 2
formants r3/r_2+r3/rx%20 formants r3/r_2+r3/rx%20

+ 6
- 0
phsource/ph_latvian View File

vowel starttype (a) endtype (a) vowel starttype (a) endtype (a)
length 120 length 120
formants vowel/aa formants vowel/aa
reduceto a# 0
endphoneme endphoneme


phoneme a: phoneme a:
formants vowel/aa formants vowel/aa
endphoneme endphoneme


phoneme a#
vowel starttype (a) endtype (a)
length 120
formants vowel/V_6
endphoneme


phoneme o phoneme o
vowel starttype (o) endtype (o) vowel starttype (o) endtype (o)

+ 3
- 8
phsource/phonemes View File

after ; j2/j2@ after ; j2/j2@
after w w/w@ after w w/w@
after l l/l@ after l l/l@
after L l/l@
after l^ l^/j2@ after l^ l^/j2@
after #r r/r@-15 after #r r/r@-15
after r- r2/r2@ after r- r2/r2@
after ; j2/j2a after ; j2/j2a
after w w/wa after w w/wa
after l l/la after l l/la
after L l/la
after l^ l^/j2a after l^ l^/j2a
after #r r/ra-15 after #r r/ra-15
after r- r2/r2a after r- r2/r2a
after ; j2/j2e after ; j2/j2e
after w w/we after w w/we
after l l/le after l l/le
after L l/le
after l^ l^/j2e after l^ l^/j2e
after #r r/re-15 after #r r/re-15
after r- r2/r2e after r- r2/r2e
after ; j2/j2i after ; j2/j2i
after w w/wi after w w/wi
after l l/li-10 after l l/li-10
after L l/li
after l^ l^/j2i after l^ l^/j2i
after #r r/ri-15 after #r r/ri-15
after r- r2/r2i after r- r2/r2i
after ; j2/j2o after ; j2/j2o
after w w/wo after w w/wo
after l l/lo after l l/lo
after L l/lo
after l^ l^/j2o after l^ l^/j2o
after #r r/ro-15 after #r r/ro-15
after r- r2/r2o after r- r2/r2o
after ; j2/j2u after ; j2/j2u
after w w/wu after w w/wu
after l l/lu after l l/lu
after L l/lu
after l^ l^/j2u after l^ l^/j2u
after #r r/ru-15 after #r r/ru-15
after r- r2/r2u after r- r2/r2u


phoneme r" // uvular trill phoneme r" // uvular trill
vcd uvl frc 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 lengthmod 6
endphoneme endphoneme




phoneme L // Welsh "ll" phoneme L // Welsh "ll"
vls alv frc vls alv frc
starttype l endtype l
length 100 length 100
lengthmod 3 lengthmod 3
wave ufric/ll%80 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

{ {
len = 50 / 2; // defaults for transition into vowel len = 50 / 2; // defaults for transition into vowel
rms = 25 / 2; rms = 25 / 2;

if(ph->type == phSTOP)
{
len = 42 / 2; // defaults for transition into vowel
rms = 30 / 2;
}
} }
else else
if(which==2) if(which==2)

+ 1
- 1
src/dictionary.cpp View File

// match the word against a list of utf-8 strings // match the word against a list of utf-8 strings
char *p; char *p;
char *w; char *w;
int len;
int len=0;


p = letterGroups[group]; p = letterGroups[group];
if(p == NULL) if(p == NULL)

+ 2
- 2
src/formantdlg.cpp View File

} }
if(field & 4) 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); 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); t_pkright[ix]->SetValue(value);
} }
} }

+ 1
- 1
src/klatt.cpp View File

} }


{ {
FILE *f;
//FILE *f;
//f=fopen("klatt_log","a"); //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]); //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); //fclose(f);

+ 1
- 1
src/numbers.cpp View File

if((langopts.accents & 1) || (accents_tab[accent1].flags & 1)) if((langopts.accents & 1) || (accents_tab[accent1].flags & 1))
sprintf(ph_buf,"%s%c%c%s", ph_accent1, phonPAUSE_VSHORT, phonSTRESS_P, ph_letter1); sprintf(ph_buf,"%s%c%c%s", ph_accent1, phonPAUSE_VSHORT, phonSTRESS_P, ph_letter1);
else 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

void ToggleMarker(int n); void ToggleMarker(int n);
void ApplyVoiceMods(); 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); void MakeHtab(int numh, int *htab, int pitch);
double GetRms(int amp); double GetRms(int amp);
void KlattDefaults(); void KlattDefaults();

+ 2
- 2
src/spectdisplay.cpp View File

case WXK_F1: case WXK_F1:
// make and play selected // make and play selected
ReadDialogValues(); ReadDialogValues();
sf->MakeWave(0,voicedlg->pitchenv,spectseq->amplitude,spectseq->duration);
sf->MakeWaveF(0,voicedlg->pitchenv,spectseq->amplitude,spectseq->duration);
break; break;
case WXK_F3: case WXK_F3:
// make and play selected // make and play selected
ReadDialogValues(); ReadDialogValues();
sf->MakeWave(1,voicedlg->pitchenv,spectseq->amplitude,spectseq->duration);
sf->MakeWaveF(1,voicedlg->pitchenv,spectseq->amplitude,spectseq->duration);
break; break;


default: default:

+ 11
- 8
src/spectseq.cpp View File



if((start==end) || (total_length == 0)) if((start==end) || (total_length == 0))
{ {
sp1->MakeWave(0,voicedlg->pitchenv,amplitude,duration);
sp1->MakeWaveF(0,voicedlg->pitchenv,amplitude,duration);
return; return;
} }




// if((start==end) || (total_length == 0)) // if((start==end) || (total_length == 0))
// { // {
// sp1->MakeWave(1, pitch, amplitude, duration);
// sp1->MakeWaveF(1, pitch, amplitude, duration);
// return; // return;
// } // }


} // end of SpectFrame::MakeHtab } // 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 // amplitude: percentage adjustment


int ipitch; int ipitch;
int pbase; int pbase;
char *fname_speech; char *fname_speech;
// USHORT htab0[600];


KlattInit(); KlattInit();
SpeakNextClause(NULL,NULL,2); // stop speaking file SpeakNextClause(NULL,NULL,2); // stop speaking file
else else
{ {
#ifdef SPECT_EDITOR #ifdef SPECT_EDITOR
int maxh;
USHORT htab0[600];

maxh = nx; maxh = nx;
if(maxh >= 600) if(maxh >= 600)
maxh = 600-1; maxh = 600-1;
for(ix=0; ix<=maxh; ix++) for(ix=0; ix<=maxh; ix++)
htab0[ix] = 0; 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); SetSynthHtab(length,spect,maxh,dx,spect,maxh,dx);
MakeWaveFile();
MakeWaveFile(0);
SetSynthHtab(30,spect,maxh,dx,htab0,maxh,dx); SetSynthHtab(30,spect,maxh,dx,htab0,maxh,dx);
MakeWaveFile();
MakeWaveFile(0);
#endif #endif
} }



+ 1
- 1
src/synthdata.cpp View File

#include "translate.h" #include "translate.h"
#include "wave.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; const int version_phdata = 0x013900;


int option_device_number = -1; int option_device_number = -1;

+ 1
- 1
src/synthesize.cpp View File

SOUND_ICON soundicon_tab[N_SOUNDICON_TAB]; SOUND_ICON soundicon_tab[N_SOUNDICON_TAB];


#define RMS_GLOTTAL1 35 // vowel before glottal stop #define RMS_GLOTTAL1 35 // vowel before glottal stop
#define RMS_START 28 // 14 - 30
#define RMS_START 28 // 28


#define VOWEL_FRONT_LENGTH 50 #define VOWEL_FRONT_LENGTH 50



+ 17
- 16
src/tr_languages.cpp View File

int name2 = 0; int name2 = 0;
Translator *tr; 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}; 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() // convert name string into a word of up to 4 characters, for the switch()
case L_grc: // Ancient Greek case L_grc: // Ancient Greek
{ {
static const short stress_lengths_el[8] = {155, 180, 210, 210, 0, 0, 270, 300}; 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 // 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}; 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};
case L('e','o'): case L('e','o'):
{ {
static const short stress_lengths_eo[8] = {145, 145, 230, 170, 0, 0, 360, 370}; 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}; static const wchar_t eo_char_apostrophe[2] = {'l',0};
tr = new Translator(); tr = new Translator();
case L('n','e'): // Nepali case L('n','e'): // Nepali
{ {
static const short stress_lengths_hi[8] = {190, 190, 210, 210, 0, 0, 230, 250}; 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(); tr = new Translator();
SetupTranslator(tr,stress_lengths_hi,stress_amps_hi); SetupTranslator(tr,stress_lengths_hi,stress_amps_hi);
case L('b','s'): // Bosnian case L('b','s'): // Bosnian
case L('s','r'): // Serbian 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_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}; static const short stress_lengths_sr[8] = {160,150, 200,200, 0,0, 250,260};




case L('h','u'): // Hungarian 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}; static const short stress_lengths_hu[8] = {185,195, 195,190, 0,0, 210,220};


tr = new Translator(); tr = new Translator();
SetLetterBits(tr,LETTERGP_A,hy_vowels); SetLetterBits(tr,LETTERGP_A,hy_vowels);
SetLetterBits(tr,LETTERGP_C,hy_consonants); SetLetterBits(tr,LETTERGP_C,hy_consonants);
tr->langopts.max_initial_consonants = 6; tr->langopts.max_initial_consonants = 6;
tr->langopts.numbers = 0x409;
} }
break; break;




case L('k','u'): // Kurdish 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}; static const short stress_lengths_ku[8] = {180,180, 190,180, 0,0, 230,240};


tr = new Translator(); tr = new Translator();


case L('l','v'): // latvian 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(); tr = new Translator();
SetupTranslator(tr,stress_lengths_lv,stress_amps_lv); SetupTranslator(tr,stress_lengths_lv,stress_amps_lv);


{ {
static wchar_t vowels_cyrillic[] = {0x440, // also include 'р' [R] 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}; 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}; static const short stress_lengths_mk[8] = {180,160, 200,200, 0,0, 220,230};


tr = new Translator(); tr = new Translator();
case L('p','l'): // Polish case L('p','l'): // Polish
{ {
static const short stress_lengths_pl[8] = {160, 190, 175, 175, 0, 0, 200, 210}; 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(); tr = new Translator();
SetupTranslator(tr,stress_lengths_pl,stress_amps_pl); SetupTranslator(tr,stress_lengths_pl,stress_amps_pl);
case L('p','t'): // Portuguese case L('p','t'): // Portuguese
{ {
static const short stress_lengths_pt[8] = {180, 125, 210, 210, 0, 0, 270, 295}; 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(); tr = new Translator();
SetupTranslator(tr,stress_lengths_pt,stress_amps_pt); SetupTranslator(tr,stress_lengths_pt,stress_amps_pt);
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
case L('r','o'): // Romanian case L('r','o'): // Romanian
{ {
static const short stress_lengths_ro[8] = {170, 170, 180, 180, 0, 0, 240, 260}; 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(); tr = new Translator();
SetupTranslator(tr,stress_lengths_ro,stress_amps_ro); SetupTranslator(tr,stress_lengths_ro,stress_amps_ro);


case L('s','v'): // Swedish 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}; static const short stress_lengths_sv[8] = {160,135, 220,220, 0,0, 250,280};
tr = new Translator(); tr = new Translator();
SetupTranslator(tr,stress_lengths_sv,stress_amps_sv); SetupTranslator(tr,stress_lengths_sv,stress_amps_sv);
case L('s','w'): // Swahili case L('s','w'): // Swahili
{ {
static const short stress_lengths_sw[8] = {160, 170, 200, 200, 0, 0, 320, 340}; 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(); tr = new Translator();
SetupTranslator(tr,stress_lengths_sw,stress_amps_sw); SetupTranslator(tr,stress_lengths_sw,stress_amps_sw);


case L('t','r'): // Turkish 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}; static const short stress_lengths_tr[8] = {190,190, 190,190, 0,0, 250,270};


tr = new Translator(); tr = new Translator();

+ 1
- 1
src/translate.cpp View File

Translator::Translator() Translator::Translator()
{//===================== {//=====================
int ix; 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 short stress_lengths2[8] = {182,140, 220,220, 220,240, 260,280};
static const wchar_t empty_wstring[1] = {0}; static const wchar_t empty_wstring[1] = {0};
static const wchar_t punct_in_word[2] = {'\'', 0}; // allow hyphen within words static const wchar_t punct_in_word[2] = {'\'', 0}; // allow hyphen within words

+ 5
- 2
src/voices.cpp View File

// Set voice to the default values // Set voice to the default values


int pk; 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}; static int breath_widths[N_PEAKS] = {0,200,200,400,400,400,600,600,600};


// default is: pitch 82,118 // default is: pitch 82,118
for(pk=0; pk<N_PEAKS; pk++) for(pk=0; pk<N_PEAKS; pk++)
{ {
voice->freq[pk] = 256; 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->breath[pk] = 0;
voice->breathw[pk] = breath_widths[pk]; // default breath formant woidths voice->breathw[pk] = breath_widths[pk]; // default breath formant woidths
voice->freqadd[pk] = 0; voice->freqadd[pk] = 0;

+ 2
- 2
src/wave.cpp View File

if (out_channels == 2) if (out_channels == 2)
{ {
// copy with wrap around at the end of ringbuffer // 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 = myBuffer;
myWrite += copyBuffer(myWrite, theMono16BitsWaveBuffer+aFreeMem/2, theSize - aFreeMem/2); myWrite += copyBuffer(myWrite, theMono16BitsWaveBuffer+aFreeMem/2, theSize - aFreeMem/2);
} }
else // 1 channel (mono) else // 1 channel (mono)
{ {
// copy with wrap around at the end of ringbuffer // 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 = myBuffer;
myWrite += copyBuffer(myWrite, theMono16BitsWaveBuffer+aFreeMem, theSize - aFreeMem); myWrite += copyBuffer(myWrite, theMono16BitsWaveBuffer+aFreeMem, theSize - aFreeMem);
} // end if (out_channels == 2) } // end if (out_channels == 2)

Loading…
Cancel
Save