language changes: da, pt git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@309 d46cf337-b52f-0410-862d-fd96e6ae7743master
_10 t'i | _10 t'i | ||||
_11 'Elv@ | _11 'Elv@ | ||||
_12 t'Vl | _12 t'Vl | ||||
_13 tR'&#d@-n // PB & changed to &# | |||||
_13 tR'?&#d@-n // PB & changed to &# | |||||
_14 fj'ord@-n | _14 fj'ord@-n | ||||
_15 f'emt@-n | |||||
_15 f'Emd@-n | |||||
_16 s'ajsd@-n | _16 s'ajsd@-n | ||||
_17 s'Wd@-n // PP Y changed to W | _17 s'Wd@-n // PP Y changed to W | ||||
_18 '&d@-n // PB a changed to & | |||||
_18 '?&d@-n // PB a changed to & | |||||
_19 n'ed@-n | _19 n'ed@-n | ||||
_2X t'y:w | |||||
_2X t'y:?u | |||||
_3X tR'&#Dv@ //PB [tR'ADv@] changed to [tR'&#Dv@] | _3X tR'&#Dv@ //PB [tR'ADv@] changed to [tR'&#Dv@] | ||||
_4X f'W:V //PB [f'W:*3] changed to [ f'W:V] | |||||
_4X f'?W:_|V //PB [f'W:*3] changed to [ f'?W:V] | |||||
_5X h&l't*Es // PB [a] changed to [&], e changed to E | _5X h&l't*Es // PB [a] changed to [&], e changed to E | ||||
_6X t*'Es // PB changed from e to E | _6X t*'Es // PB changed from e to E | ||||
_7X h&lfj'&rs // PV a changed to & | _7X h&lfj'&rs // PV a changed to & | ||||
ved $u+ // at | ved $u+ // at | ||||
om $u+ $brk // about, within | om $u+ $brk // about, within | ||||
med $u+ // with | med $u+ // with | ||||
af & // PB changed from [a?] to [&] - sound too short in a sentence | |||||
af &_| // PB changed from [a?] to [&] - sound too short in a sentence | |||||
// Also removed $u from 'af' and other words. They disappeared. | // Also removed $u from 'af' and other words. They disappeared. | ||||
ad &: // PB added 'ad' | ad &: // PB added 'ad' | ||||
ad &D $atend $sentence // PB "Det må ikke skille os ad." | ad &D $atend $sentence // PB "Det må ikke skille os ad." | ||||
// possessive pronouns | // possessive pronouns | ||||
min min $u | min min $u | ||||
mit mit $u | mit mit $u | ||||
mine m'in@ | |||||
mine m'in3 | |||||
din d'in $u+ | din d'in $u+ | ||||
dit d'it $u | dit d'it $u | ||||
dine d'ine | |||||
dine d'in3 | |||||
deres dE:Vs $u | deres dE:Vs $u | ||||
hans $u+ | hans $u+ | ||||
hendes $u+ | hendes $u+ | ||||
the _^_EN | the _^_EN | ||||
skinhead _^_EN | skinhead _^_EN | ||||
skinheads _^_EN | skinheads _^_EN | ||||
street _^_EN | |||||
boy _^_EN | boy _^_EN | ||||
square _^_EN | square _^_EN | ||||
apple _^_EN | apple _^_EN | ||||
// exceptions | // exceptions | ||||
alene &l'en@ // alone | alene &l'en@ // alone | ||||
egen a:j@n | |||||
egen _|aj@-n | |||||
mc mak' $capital // PB McDonald | mc mak' $capital // PB McDonald | ||||
egne a:in@ | |||||
egne ajn@- | |||||
enter entV | enter entV | ||||
ide id'e // idea | ide id'e // idea | ||||
idé id'e // idea | idé id'e // idea | ||||
tune tun3 $capital // PB Tune lufthavn - not "tune a car" [tjune] | tune tun3 $capital // PB Tune lufthavn - not "tune a car" [tjune] | ||||
ny ny // new | ny ny // new | ||||
også Vs@ // also | |||||
også Vs@- // also | |||||
idet id'e // in so far as | idet id'e // in so far as | ||||
(rub og stub) R'Ob||V||sd'Ob | (rub og stub) R'Ob||V||sd'Ob | ||||
tre tr'e // the number 3 | |||||
tre tr'E // the number 3 | |||||
rejicere rejis'eV // PB should not be pronounced [raje] | rejicere rejis'eV // PB should not be pronounced [raje] | ||||
rejicerer rejis'eV // PB | rejicerer rejis'eV // PB | ||||
rejiceres rejis'eVs // PB | rejiceres rejis'eVs // PB | ||||
konfirmandernes kVnferm'&nd3-n@s // PB | konfirmandernes kVnferm'&nd3-n@s // PB | ||||
giv g'i // PB the v shouldn't be pronounced | giv g'i // PB the v shouldn't be pronounced | ||||
giver gir // PB the v shouldn't be pronounced | giver gir // PB the v shouldn't be pronounced | ||||
opgiver Vpgir // PB | |||||
jaloux sj&'lu // PB jaloux | jaloux sj&'lu // PB jaloux | ||||
aficionado afisjo'na:do // PB | aficionado afisjo'na:do // PB | ||||
breakdance brEig'da:ns // PB breakdance | breakdance brEig'da:ns // PB breakdance | ||||
wien v'i:n // PB Wien - the town of Vienna | wien v'i:n // PB Wien - the town of Vienna | ||||
calais kal'E // PB Calais - town in France | calais kal'E // PB Calais - town in France | ||||
date dejt // PB date - stævnemøde | date dejt // PB date - stævnemøde | ||||
siger sir // PB silent d | |||||
//siger sir // PB silent d | |||||
(tids nok) tis||n'Vk // PB silent d | (tids nok) tis||n'Vk // PB silent d | ||||
skateboardet sk'eitbo@d3D // PB | skateboardet sk'eitbo@d3D // PB | ||||
(hole in one) h'oulinw,0n // PB English golf expression used in Danish | (hole in one) h'oulinw,0n // PB English golf expression used in Danish | ||||
(deres kvarter) dE:Vs||kvA'ter // PB | (deres kvarter) dE:Vs||kvA'ter // PB | ||||
(det kvarter) de||kvA'ter // PB | (det kvarter) de||kvA'ter // PB | ||||
(i kvarter) i||kv'A:dV | (i kvarter) i||kv'A:dV | ||||
(at have) &||h&: // PB the verb 'have', not the noun 'have' = garden | |||||
(vil have) vel||h'&: // PB | |||||
(du have) du||h&: // PB | |||||
(må have) m'O:||h&: // PB | |||||
(at have) &||h& // PB the verb 'have', not the noun 'have' = garden | |||||
(vil have) vel||h'& // PB | |||||
(ville have) v?il3||h'& // PB | |||||
(du have) du||h& // PB | |||||
(må have) mO:||h& // PB | |||||
(skal have) sk?&||h& // PB | |||||
(helst have) h'Elst||h& | |||||
(gerne have) g'Ern3||h& | |||||
(kan have) k?&n||h& // PB | |||||
(ikke have) ege||h& // PB | (ikke have) ege||h& // PB | ||||
// PB 'hav' = ocean - 'hav' = have (a nice day) | // PB 'hav' = ocean - 'hav' = have (a nice day) | ||||
(et hav) ed||hAu | (et hav) ed||hAu |
x z | x z | ||||
Dictionary da_dict 2013-01-30 | |||||
Dictionary da_dict 2013-03-06 | |||||
& &# 0 3 ?& ?e ?E ?i | |||||
?O ?u ?W ?y @ @- a A | |||||
aI e E i o O u V | |||||
& &# 0 3 ?& ?&# ?0 ?a | |||||
?A ?e ?E ?i ?o ?O ?u ?V | |||||
?W ?W# ?y @ @- a A aI | |||||
e E i I o O u V | |||||
W W# y Y | W W# y Y | ||||
* - : ? b B d D | |||||
dZ f g h j J k l | |||||
l/2 l/3 m n N p r R | |||||
R3 s S t T tS v w | |||||
x z Z | |||||
* - 3- : ; ? b B | |||||
d D dZ f g h j J | |||||
k l l/2 l/3 m n N p | |||||
r R R3 s S t T tS | |||||
v w x z Z | |||||
Dictionary hu_dict 2013-02-25 | Dictionary hu_dict 2013-02-25 | ||||
ts; v w x z Z Z; | ts; v w x z Z Z; | ||||
Dictionary pt_dict 2013-03-06 | |||||
Dictionary pt_dict 2013-03-07 | |||||
& &/ &U~ &~ @ @- a A | & &/ &U~ &~ @ @- a A | ||||
aI aU e E eI EI eU EU | aI aU e E eI EI eU EU | ||||
tS tS` v w x z Z | tS tS` v w x z Z | ||||
Dictionary ml_dict 2013-02-28 | |||||
Dictionary ml_dict 2013-03-06 | |||||
@ a a# a: aI aU e E | @ a a# a: aI aU e E | ||||
e: i I i: o o: r- u | e: i I i: o o: r- u |
Dolce d0ltSeI | Dolce d0ltSeI | ||||
Dvorak d@-vo@Zak | Dvorak d@-vo@Zak | ||||
Emory Em3ri | Emory Em3ri | ||||
Fleming flEmIN | |||||
Folger foUldZ3 | Folger foUldZ3 | ||||
Genghis dZENgIs | Genghis dZENgIs | ||||
Gibson gIbs@n | Gibson gIbs@n |
concordo $alt | concordo $alt | ||||
conforto $alt $verb | conforto $alt $verb | ||||
consolo $alt2 $noun | consolo $alt2 $noun | ||||
contivermos $alt | |||||
controle $alt2 $noun | controle $alt2 $noun | ||||
controlo $alt2 $noun | controlo $alt2 $noun | ||||
coreia $alt | coreia $alt | ||||
corveta $alt2 | corveta $alt2 | ||||
corvos $alt | corvos $alt | ||||
coto $alt2 | coto $alt2 | ||||
couberdes $alt | |||||
coubermos $alt | |||||
cratera $alt | cratera $alt | ||||
crede $alt2 | crede $alt2 | ||||
der $alt | |||||
derdes $alt | |||||
desapego $alt2 $noun | desapego $alt2 $noun | ||||
descabelo $alt | descabelo $alt | ||||
descordo $alt | descordo $alt | ||||
envolto $alt2 | envolto $alt2 | ||||
enxerto $alt2 $noun | enxerto $alt2 $noun | ||||
epopeia $alt | epopeia $alt | ||||
erga $alt2 | |||||
ergam $alt2 | |||||
ergo $alt2 | |||||
eritreia $alt | eritreia $alt | ||||
erro $alt2 $noun | erro $alt2 $noun | ||||
erros $alt2 | erros $alt2 | ||||
espoleta $alt2 | espoleta $alt2 | ||||
esposa $alt2 | esposa $alt2 | ||||
esqueleto $alt2 | esqueleto $alt2 | ||||
estiverdes $alt | |||||
estivermos $alt | |||||
estrela $alt2 | estrela $alt2 | ||||
estrofe $alt | estrofe $alt | ||||
estorno $alt $verb | estorno $alt $verb | ||||
ferozes $alt | ferozes $alt | ||||
fezes $alt | fezes $alt | ||||
?1 fixe fiSy | ?1 fixe fiSy | ||||
fizerdes $alt | |||||
fizermos $alt | |||||
foda $alt2 $verb | foda $alt2 $verb | ||||
folheto $alt2 | folheto $alt2 | ||||
folga $alt | folga $alt | ||||
hemorroida $alt | hemorroida $alt | ||||
hoje $alt2 | hoje $alt2 | ||||
horrores $alt2 | horrores $alt2 | ||||
houverdes $alt | |||||
houvermos $alt | |||||
ideia $alt | ideia $alt | ||||
insonoro $alt | insonoro $alt | ||||
interesse $alt2 $noun | interesse $alt2 $noun | ||||
lopes $alt | lopes $alt | ||||
maior $alt | maior $alt | ||||
maleta $alt2 | maleta $alt2 | ||||
mantiverdes $alt | |||||
mantiveres $alt | |||||
mantivermos $alt | |||||
marcelo $alt | marcelo $alt | ||||
marmelo $alt | marmelo $alt | ||||
marreta $alt2 | marreta $alt2 | ||||
miolo $alt2 | miolo $alt2 | ||||
miolos $alt | miolos $alt | ||||
moeda $alt | moeda $alt | ||||
modos $alt | |||||
molho $alt2 $noun | molho $alt2 $noun | ||||
monera $alt | monera $alt | ||||
morcego $alt2 | morcego $alt2 | ||||
nervo $alt2 | nervo $alt2 | ||||
novos $alt | novos $alt | ||||
obstetra $alt | obstetra $alt | ||||
obtivera $alt | |||||
obtivermos $alt | |||||
odisseia $alt | odisseia $alt | ||||
onu $1 | onu $1 | ||||
olho $alt2 $noun | olho $alt2 $noun | ||||
osso $alt2 | |||||
ossos $alt | |||||
opereta $alt2 | opereta $alt2 | ||||
ordens $alt | ordens $alt | ||||
osso $alt2 | |||||
ossos $alt | |||||
ostra $alt2 | ostra $alt2 | ||||
ovos $alt | ovos $alt | ||||
pachorra $alt2 | pachorra $alt2 | ||||
pedra $alt | pedra $alt | ||||
pelego $alt2 | pelego $alt2 | ||||
pelo $alt $verb | pelo $alt $verb | ||||
pesque $alt | |||||
pesquem $alt | |||||
peso $alt $verb | peso $alt $verb | ||||
piloto $alt2 $noun | piloto $alt2 $noun | ||||
pintora $alt2 | pintora $alt2 | ||||
preço $alt2 | preço $alt2 | ||||
primavera $alt | primavera $alt | ||||
provo $alt | provo $alt | ||||
puder $alt | |||||
puderdes $alt | |||||
pudermos $alt | |||||
puserdes $alt | |||||
quarteto $alt2 | quarteto $alt2 | ||||
queda $alt | queda $alt | ||||
quinteto $alt2 | quinteto $alt2 | ||||
quiserdes $alt | |||||
quisermos $alt | |||||
recomeço $alt2 $noun | recomeço $alt2 $noun | ||||
recordo $alt | recordo $alt | ||||
recorto $alt | recorto $alt | ||||
soro $alt2 | soro $alt2 | ||||
sorvete $alt2 | sorvete $alt2 | ||||
sossego $alt2 $noun | sossego $alt2 $noun | ||||
souberdes $alt | |||||
soubermos $alt | |||||
suborno $alt $verb | suborno $alt $verb | ||||
sufoco $alt2 $noun | sufoco $alt2 $noun | ||||
sufocos $alt2 | sufocos $alt2 | ||||
tempero $alt2 $noun | tempero $alt2 $noun | ||||
teta $alt2 | teta $alt2 | ||||
tetra $alt | tetra $alt | ||||
tiverdes $alt | |||||
tivermos $alt | |||||
tocha $alt | tocha $alt | ||||
toga $alt | toga $alt | ||||
topo $alt $verb | topo $alt $verb | ||||
vanessa $alt2 | vanessa $alt2 | ||||
velozes $alt | velozes $alt | ||||
verme $alt | verme $alt | ||||
vierem $alt | |||||
violeta $alt2 | violeta $alt2 | ||||
violoncelo $alt | violoncelo $alt | ||||
voga $alt | voga $alt |
.L02 e em | .L02 e em | ||||
.L03 a am o | .L03 a am o | ||||
.L04 a am e em o ue uem | .L04 a am e em o ue uem | ||||
.L05 r ra ram re rem rdes | |||||
.L06 ra ram ste re rem | |||||
.L05 r ra ram re rem rde rmo | |||||
.L06 ra ram ste re rem rmo | |||||
.L07 sse ssem ste | .L07 sse ssem ste | ||||
sf) e (ra_ E // esfera, biosfera | sf) e (ra_ E // esfera, biosfera | ||||
//sort | //sort | ||||
_d) e (L05_ E | |||||
_vi) e (L05_ E | |||||
fiz) e (L05_ E | fiz) e (L05_ E | ||||
pus) e (L05_ E / com- im- de- | |||||
tiv) e (L05_ E // es- | tiv) e (L05_ E // es- | ||||
_com) e (L05_ e | _com) e (L05_ e | ||||
_pud) e (L05_ E | |||||
_coub) e (L05_ E | _coub) e (L05_ E | ||||
_exag) e (L05_ E | _exag) e (L05_ E | ||||
_houv) e (L05_ E | _houv) e (L05_ E | ||||
_perd) e (L05_ e | _perd) e (L05_ e | ||||
_quis) e (L05_ E | |||||
_soub) e (L05_ E | _soub) e (L05_ E | ||||
_rend) e (L06_ e | _rend) e (L06_ e | ||||
_vend) e (L06_ e | _vend) e (L06_ e | ||||
_tem) e (L07_ e | _tem) e (L07_ e | ||||
colh) e (L07_ e // & es- | colh) e (L07_ e // & es- | ||||
corr) e (L07_ e // per- con- in- so- dis- | corr) e (L07_ e // per- con- in- so- dis- | ||||
nasc) e (L07_ e / re- | |||||
torc) e (L07_ e // con- | torc) e (L07_ e // con- | ||||
venc) e (L07_ e // con- | venc) e (L07_ e // con- | ||||
vert) e (L07_ e // in- re- con- | vert) e (L07_ e // in- re- con- | ||||
_aborrec) e (L07_ e | _aborrec) e (L07_ e | ||||
_adoec) e (L07_ e | _adoec) e (L07_ e | ||||
_adormec) e (L07_ e | _adormec) e (L07_ e | ||||
_agradec) e (L07_ e | |||||
_amanhec) e (L07_ e | _amanhec) e (L07_ e | ||||
_anoitec) e (L07_ e | _anoitec) e (L07_ e | ||||
_arrepend) e (L07_ e | _arrepend) e (L07_ e | ||||
_cresc) e (L07_ e | |||||
_defend) e (L07_ e | _defend) e (L07_ e | ||||
_depend) e (L07_ e | _depend) e (L07_ e | ||||
_emagrec) e (L07_ e | |||||
_enlouquec) e (L07_ e | _enlouquec) e (L07_ e | ||||
_entristec) e (L07_ e | _entristec) e (L07_ e | ||||
_envaidec) e (L07_ e | _envaidec) e (L07_ e | ||||
_p) e (quL02_ E | _p) e (quL02_ E | ||||
_s) e (quL02_ E | _s) e (quL02_ E | ||||
l) e (que_ E | l) e (que_ E | ||||
_sug) e (rL02_ E | |||||
_imp) e (rL03_ E | _imp) e (rL03_ E | ||||
_sev) e (rL03_ E | _sev) e (rL03_ E | ||||
_reit) e (rL03_ E | _reit) e (rL03_ E | ||||
_sinc) e (rL03_ E | _sinc) e (rL03_ E | ||||
_g) e (rL04_ E | |||||
g) e (rL04_ E / su- refri- | |||||
qu) e (rL04_ E / re- | |||||
_op) e (rL04_ E | _op) e (rL04_ E | ||||
_qu) e (rL04_ E | |||||
_alt) e (rL04_ E | _alt) e (rL04_ E | ||||
_sup) e (rL04_ E | _sup) e (rL04_ E | ||||
_tol) e (rL04_ E | _tol) e (rL04_ E | ||||
_p) e (rdL02_ E | _p) e (rdL02_ E | ||||
_l) e (rdL03_ E | _l) e (rdL03_ E | ||||
_h) e (rdL04_ E | _h) e (rdL04_ E | ||||
_) e (rgL03_ e | |||||
_) e (rguL02_ E | _) e (rguL02_ E | ||||
_alb) e (rguL02_ E | _alb) e (rguL02_ E | ||||
_enx) e (rguL02_ E | _enx) e (rguL02_ E | ||||
_cr) e (scL02_ E | _cr) e (scL02_ E | ||||
_p) e (scL03_ E | _p) e (scL03_ E | ||||
_m) e (sclL04 E | _m) e (sclL04 E | ||||
_p) e (squL02_ E | |||||
_l) e (ssL02_ e | _l) e (ssL02_ e | ||||
_esp) e (ssL03_ e | _esp) e (ssL03_ e | ||||
_c) e (stL03_ e | _c) e (stL03_ e | ||||
_embel) e (zL04_ E | _embel) e (zL04_ E | ||||
_acont) e (çL01_ e | _acont) e (çL01_ e | ||||
_arref) e (çL01_ e | _arref) e (çL01_ e | ||||
_emagr) e (çL03 | |||||
par) e (çL03_ e // a- re- com- rea- desa- | par) e (çL03_ e // a- re- com- rea- desa- | ||||
_ado) e (çL03_ e | _ado) e (çL03_ e | ||||
_aqu) e (çL03_ e | _aqu) e (çL03_ e | ||||
_ofer) e (çL03_ e | _ofer) e (çL03_ e | ||||
abast) e (çL03_ e // re- | abast) e (çL03_ e // re- | ||||
_aborr) e (çL03_ e | _aborr) e (çL03_ e | ||||
_agrad) e (çL03_ e | |||||
_amanh) e (çL03_ e | _amanh) e (çL03_ e | ||||
_anoit) e (çL03_ e | _anoit) e (çL03_ e | ||||
_enfraqu) e (çL03_ e | _enfraqu) e (çL03_ e | ||||
_c) o (pL03_ O | _c) o (pL03_ O | ||||
_ens) o (pL04_ O | _ens) o (pL04_ O | ||||
_s) o (prL04_ O | _s) o (prL04_ O | ||||
_) o (ptL04_ O | |||||
_enf) o (rquL02_ O | _enf) o (rquL02_ O | ||||
c) o (rrL01_ o // escorra, incorra, corra, recorra | c) o (rrL01_ o // escorra, incorra, corra, recorra | ||||
_m) o (rrL01_ o | _m) o (rrL01_ o | ||||
__) - (_D m'enUs | __) - (_D m'enUs | ||||
A_) - (_D _ | A_) - (_D _ | ||||
C_) - (_D _ | C_) - (_D _ | ||||
id 15 127 | id 15 127 | ||||
sq 33 127 | sq 33 127 | ||||
hy 23 119 | hy 23 119 | ||||
da 36 131 | |||||
da 46 139 | |||||
ka 20 114 | ka 20 114 | ||||
rw 15 132 | rw 15 132 | ||||
pa 15 152 | pa 15 152 | ||||
j2/xj2 [;] base | j2/xj2 [;] base | ||||
j/_j [j] base | j/_j [j] base | ||||
[j] zh | [j] zh | ||||
[j] da | |||||
j/j_ [j] base | j/j_ [j] base | ||||
[j] de | [j] de | ||||
[j] zh | [j] zh | ||||
[j] da | |||||
j/j@ [j] base | j/j@ [j] base | ||||
[j] de | [j] de | ||||
[j/] fr | [j/] fr | ||||
[j] zh | [j] zh | ||||
[j] da | |||||
j/ja [j] base | j/ja [j] base | ||||
[j] de | [j] de | ||||
[j/] fr | [j/] fr | ||||
[j] zh | [j] zh | ||||
[j] da | |||||
j/je [j] base | j/je [j] base | ||||
[j] de | [j] de | ||||
[j/] fr | [j/] fr | ||||
[j] zh | [j] zh | ||||
[j] da | |||||
j/ji [j] base | j/ji [j] base | ||||
[j] de | [j] de | ||||
[j/] fr | [j/] fr | ||||
[j] zh | [j] zh | ||||
[j] da | |||||
j/jo [j] base | j/jo [j] base | ||||
[j] de | [j] de | ||||
[j/] fr | [j/] fr | ||||
[j] zh | [j] zh | ||||
[j] da | |||||
j/_j_short [j] de | j/_j_short [j] de | ||||
j/ju [j] base | j/ju [j] base | ||||
[j] de | [j] de | ||||
[j/] fr | [j/] fr | ||||
[j] zh | [j] zh | ||||
[j] da | |||||
j/xj [j] base | j/xj [j] base | ||||
[j] de | [j] de | ||||
[j] zh | [j] zh | ||||
[j] da | |||||
klatt/b [b] base | klatt/b [b] base | ||||
[b] fr | [b] fr | ||||
klatt/bh [B] base | klatt/bh [B] base | ||||
[l/] fr | [l/] fr | ||||
l/l_@ [l/3] base | l/l_@ [l/3] base | ||||
[l/] fr | [l/] fr | ||||
l/l@ [¨\-] base | |||||
l/l@ [¨-] base | |||||
[l#] base | [l#] base | ||||
[l] fr | [l] fr | ||||
[l/2] fr | [l/2] fr | ||||
l/L2_uL [l/2] base | l/L2_uL [l/2] base | ||||
l/l_3 [l/] de | l/l_3 [l/] de | ||||
l/l_4 [ll] sq | l/l_4 [ll] sq | ||||
l/la [¨\-] base | |||||
l/la [¨-] base | |||||
[l#] base | [l#] base | ||||
[l] fr | [l] fr | ||||
[l/2] fr | [l/2] fr | ||||
[K] tn | [K] tn | ||||
l/l_a [l/3] base | l/l_a [l/3] base | ||||
[l/] fr | [l/] fr | ||||
l/le [¨\-] base | |||||
l/le [¨-] base | |||||
[l#] base | [l#] base | ||||
[l] fr | [l] fr | ||||
[l/2] fr | [l/2] fr | ||||
[&:] af | [&:] af | ||||
l/l_front [L] sq | l/l_front [L] sq | ||||
l/l_front_ [l/4] sq | l/l_front_ [l/4] sq | ||||
l/li [¨\-] base | |||||
l/li [¨-] base | |||||
[l#] base | [l#] base | ||||
[l] fr | [l] fr | ||||
[l/2] fr | [l/2] fr | ||||
ll/_ll [L] base | ll/_ll [L] base | ||||
l/l_long [l] base | l/l_long [l] base | ||||
[l] fr | [l] fr | ||||
l/lo [¨\-] base | |||||
l/lo [¨-] base | |||||
[l#] base | [l#] base | ||||
[l/2] fr | [l/2] fr | ||||
[K] nso | [K] nso | ||||
[l;] lt | [l;] lt | ||||
[l] ru | [l] ru | ||||
[l^] ru | [l^] ru | ||||
l/lu [¨\-] base | |||||
l/lu [¨-] base | |||||
[l#] base | [l#] base | ||||
[l] fr | [l] fr | ||||
[l/2] fr | [l/2] fr | ||||
[*] ko | [*] ko | ||||
r3/@tap_rfx [r.] base | r3/@tap_rfx [r.] base | ||||
r/a_ [r] da | r/a_ [r] da | ||||
[3-] da | |||||
r/aa [R] da | r/aa [R] da | ||||
r/r [r] base | r/r [r] base | ||||
[r-] en | [r-] en | ||||
[U#] ga | [U#] ga | ||||
vowel/@- [@-] base | vowel/@- [@-] base | ||||
[r*] hr | [r*] hr | ||||
[@-] da | |||||
vowel/& [a] en-rp | vowel/& [a] en-rp | ||||
[&] fi | [&] fi | ||||
[&] et | [&] et | ||||
[ja#] ru | [ja#] ru | ||||
[&] sv | [&] sv | ||||
[&#] da | [&#] da | ||||
[?&#] da | |||||
[&] az | [&] az | ||||
[a] fa | [a] fa | ||||
vowel/0 [0] en | vowel/0 [0] en | ||||
[a] ro | [a] ro | ||||
[a] el | [a] el | ||||
[a] da | [a] da | ||||
[?a] da | |||||
[a] rw | [a] rw | ||||
vowel/a#_2 [a] kn | vowel/a#_2 [a] kn | ||||
[a] ml | [a] ml | ||||
[A] zh | [A] zh | ||||
[a] sq | [a] sq | ||||
[A] da | [A] da | ||||
[?A] da | |||||
[a:] si | [a:] si | ||||
vowel/a#_3 [a#] en | vowel/a#_3 [a#] en | ||||
[a#] en-n | [a#] en-n | ||||
[o:] no | [o:] no | ||||
[o] vi | [o] vi | ||||
[o] da | [o] da | ||||
[?o] da | |||||
vowel/o-_2 [V] en-n | vowel/o-_2 [V] en-n | ||||
[V] en-wm | [V] en-wm | ||||
vowel/o_3 [oU] en-sc | vowel/o_3 [oU] en-sc | ||||
[O] cy | [O] cy | ||||
[o] cs | [o] cs | ||||
[0] da | [0] da | ||||
[?0] da | |||||
[O] ak | [O] ak | ||||
[@] ko | [@] ko | ||||
vowel/oo_3 [O] af | vowel/oo_3 [O] af | ||||
[@] bg | [@] bg | ||||
[@] vi | [@] vi | ||||
[W#] da | [W#] da | ||||
[?W#] da | |||||
vowel/V_2 [V] en | vowel/V_2 [V] en | ||||
[a] af | [a] af | ||||
[V] fr | [V] fr | ||||
[V] pa | [V] pa | ||||
vowel/V_4 [V] en-sc | vowel/V_4 [V] en-sc | ||||
[V] da | [V] da | ||||
[?V] da | |||||
vowel/V_6 [V] en-us | vowel/V_6 [V] en-us | ||||
[a#] lv | [a#] lv | ||||
vowel/y [y] base2 | vowel/y [y] base2 |
phoneme @ | phoneme @ | ||||
vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
unstressed | unstressed | ||||
length 110 | |||||
length 60 | |||||
FMT(vowel/@_3) | FMT(vowel/@_3) | ||||
endphoneme | endphoneme | ||||
phoneme @- // very short schwa | |||||
vowel starttype #@ endtype #@ | |||||
unstressed nonsyllabic | |||||
ipa ə | |||||
IF nextPhW(*) OR nextPhW(r) THEN | |||||
ipa NULL // @-* is used to make 'r' | |||||
ENDIF | |||||
length 40 | |||||
FMT(vowel/@-) | |||||
endphoneme | |||||
// ToDo: change [@] to [a#] if adjacent to [r] or [R] | // ToDo: change [@] to [a#] if adjacent to [r] or [R] | ||||
phoneme 3 | phoneme 3 | ||||
vowel starttype #a endtype #a | vowel starttype #a endtype #a | ||||
unstressed | unstressed | ||||
length 110 | |||||
length 40 | |||||
FMT(vowel/a#_3) | FMT(vowel/a#_3) | ||||
endphoneme | endphoneme | ||||
// PB sort of schwa [ɐ] (0250+032F) | |||||
// "spurgt" [sp'o3-d] – ipa [spˈoɐ̯d] | |||||
phoneme 3- // used for 'r' after a vowel (to create a diphthong) | |||||
liquid | |||||
lengthmod 7 | |||||
ipa ɐ̯ | |||||
FMT(r/a_) | |||||
endphoneme | |||||
phoneme i | phoneme i | ||||
vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
length 150 | length 150 | ||||
IfNextVowelAppend(;) | |||||
// IfNextVowelAppend(;) | |||||
IF nextPhW(isNotVowel) AND NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@-) THEN | |||||
glstop | |||||
length 90 | |||||
ENDIF | |||||
// PB "tie", "stige", "krige" vowel + vowel: extra length | |||||
// What is causing this very short [i] in words with final [@-]? | |||||
// NOT "galleriet" [g,?&lVR'i@-D] NOT "krigen" [kR'i@-n] | |||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) AND NOT next2PhW(D) AND NOT next2PhW(n) THEN | |||||
length 240 | |||||
ENDIF | |||||
// "siden" | |||||
IF nextVowel(3) OR nextVowel(V) OR nextVowel(@) OR nextVowel(@-) AND nextPhW(D) THEN | |||||
length 150 | |||||
ENDIF | |||||
// "lise" | |||||
IF nextPhW(isNotVowel) AND nextVowel(@-) OR nextVowel(@) THEN | |||||
length 150 | |||||
ENDIF | |||||
// PB "Bishop" | |||||
IF nextPhW(S) AND next2PhW(V) THEN | |||||
length 90 | |||||
ENDIF | |||||
// "pjækkeri", "røveri" | |||||
IF thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN | |||||
length 90 | |||||
ENDIF | |||||
// "vilje" | |||||
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN | |||||
length 90 | |||||
ENDIF | |||||
FMT(vowel/i_4) | FMT(vowel/i_4) | ||||
endphoneme | endphoneme | ||||
// sviret vs. svirret | // sviret vs. svirret | ||||
phoneme ?i | phoneme ?i | ||||
vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
length 95 | |||||
length 90 | |||||
IfNextVowelAppend(;) | IfNextVowelAppend(;) | ||||
FMT(vowel/i_4) | FMT(vowel/i_4) | ||||
endphoneme | endphoneme | ||||
phoneme e | phoneme e | ||||
vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
length 150 | length 150 | ||||
IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
glstop | |||||
length 90 | |||||
ENDIF | |||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN | |||||
length 150 | |||||
ENDIF | |||||
// "delte", "mante", "evig" [evi] | |||||
IF nextVowel(3) OR nextVowel(V) OR nextVowel(@) OR nextVowel(@) OR nextVowel(@-) THEN | |||||
length 150 | |||||
ENDIF | |||||
// "prinsen" - TEST | |||||
IF nextPhW(n) AND next2PhW(s) THEN | |||||
length 90 | |||||
ENDIF | |||||
// "slesk", "sleske" short vowel | |||||
IF nextPhW(s) AND next2PhW(t) AND nextVowel(@-) THEN | |||||
length 90 | |||||
ELIF nextPhW(s) AND next2PhW(k) AND nextVowel(@-) THEN | |||||
length 90 | |||||
// "skriften" - very broad: short before 2 consonants | |||||
ELIF nextPhW(isNotVowel) AND next2PhW(isNotVowel) AND nextVowel(@-) THEN | |||||
length 90 | |||||
ENDIF | |||||
// PB "ring", "ringe" | |||||
IF nextPhW(N) THEN | |||||
length 90 | |||||
ENDIF | |||||
// PB "enig", "enige", "evig" | |||||
IF nextPhW(isNotVowel) AND next2PhW(i) THEN | |||||
length 150 | |||||
ENDIF | |||||
// "labyrinter" , "labyrinten" - short followed by 2 consonants | |||||
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN | |||||
length 60 | |||||
ENDIF | |||||
FMT(vowel/e) | FMT(vowel/e) | ||||
endphoneme | endphoneme | ||||
// "skille" vs. "skele", "pille" vs. "pile" | // "skille" vs. "skele", "pille" vs. "pile" | ||||
phoneme ?e | phoneme ?e | ||||
vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
length 95 | |||||
length 90 | |||||
FMT(vowel/e) | FMT(vowel/e) | ||||
endphoneme | endphoneme | ||||
phoneme E | phoneme E | ||||
vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
length 150 | length 150 | ||||
IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
glstop | |||||
length 90 | |||||
ENDIF | |||||
// example? | |||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN | |||||
length 50 | |||||
ENDIF | |||||
// "værelse", "breve" | |||||
IF nextVowel(3) OR nextVowel(V) OR nextVowel(@) OR nextVowel(@-) THEN | |||||
length 150 | |||||
ENDIF | |||||
// "fest", "feste" short vowel | |||||
IF nextPhW(s) AND next2PhW(t) AND nextVowel(@-) THEN | |||||
length 90 | |||||
ELIF nextPhW(s) AND next2PhW(k) AND nextVowel(@-) THEN | |||||
length 90 | |||||
// PB knægten | |||||
ELIF nextPhW(g) AND next2PhW(t) AND nextVowel(@-) THEN | |||||
length 90 | |||||
// "femten", "tænker" - very broad: short before 2 consonants | |||||
ELIF nextPhW(isNotVowel) AND next2PhW(isNotVowel) AND nextVowel(@-) OR nextVowel(V)THEN | |||||
length 90 | |||||
// PB "kærlig" [k'Erli]- a bit longer because og the missing [ɐ] [ˈkæɐ̯li] | |||||
ELIF nextPhW(r) AND next2PhW(isNotVowel) AND nextVowel(i) THEN | |||||
length 130 | |||||
ENDIF | |||||
// "ære", "kærester", "ærefrygt" - longer E | |||||
IF nextPhW(V) THEN | |||||
length 180 | |||||
ENDIF | |||||
FMT(vowel/e_mid2) | FMT(vowel/e_mid2) | ||||
endphoneme | endphoneme | ||||
// "læsse" vs. "læse" | // "læsse" vs. "læse" | ||||
phoneme ?E | phoneme ?E | ||||
vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
length 95 | |||||
length 90 | |||||
// PB "færre" [f'?EV] - a bit longer because og the missing [ɐ] [ˈfæɐ̯ʌ] | |||||
// Changed now [f'?E3-V] but it won't do any harm | |||||
IF nextPhW(V) THEN | |||||
length 120 | |||||
ENDIF | |||||
FMT(vowel/e_mid2) | FMT(vowel/e_mid2) | ||||
endphoneme | endphoneme | ||||
phoneme & | phoneme & | ||||
vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
length 150 | length 150 | ||||
IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
glstop | |||||
length 90 | |||||
ENDIF | |||||
// PB "sable", "sabler", "anede", "David" | |||||
IF nextVowel(3) OR nextVowel(V) OR nextVowel(@) OR nextVowel(i) OR nextVowel(@-) THEN | |||||
length 150 | |||||
ENDIF | |||||
// "stadig" [st&Di] | |||||
IF nextVowel(i) AND nextVowel(isFinalVowel) AND nextVowel(isWordEnd) THEN | |||||
length 180 | |||||
// "stadigt" [st&Dit] | |||||
ELIF nextVowel(i) AND nextVowel(isFinalVowel) AND next2PhW(t) THEN | |||||
length 180 | |||||
// "latin" [l&t'in] | |||||
ELIF nextVowel(i) AND nextVowel(isFinalVowel) AND NOT next2PhW(t) THEN | |||||
length 90 | |||||
ENDIF | |||||
// "ae", "aer", "dagen" vowel + vowel: extra length | |||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN | |||||
length 240 | |||||
ENDIF | |||||
// "Alfie", "alfer" - short before 2 consonants | |||||
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN | |||||
length 90 | |||||
ENDIF | |||||
// "Omaha" | |||||
IF thisPh(isWordEnd) THEN | |||||
length 90 | |||||
ENDIF | |||||
FMT(vowel/ee_2) | FMT(vowel/ee_2) | ||||
endphoneme | endphoneme | ||||
// PB Experimental glottal a | // PB Experimental glottal a | ||||
// e.g. the last a in "staldkarl" | // e.g. the last a in "staldkarl" | ||||
// "sale" vs. "sal" | |||||
phoneme ?& | phoneme ?& | ||||
vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
length 95 | |||||
length 90 | |||||
FMT(vowel/ee_2) | FMT(vowel/ee_2) | ||||
endphoneme | endphoneme | ||||
phoneme &# | phoneme &# | ||||
vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
length 120 | length 120 | ||||
IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
glstop | |||||
length 90 | |||||
ENDIF | |||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN | |||||
length 150 | |||||
ENDIF | |||||
FMT(vowel/&) | FMT(vowel/&) | ||||
endphoneme | endphoneme | ||||
// PB short &# | |||||
// "revl" vs. "tremme" | |||||
phoneme ?&# | |||||
vowel starttype #e endtype #e | |||||
length 90 | |||||
FMT(vowel/&) | |||||
endphoneme | |||||
phoneme a | phoneme a | ||||
vowel starttype #a endtype #a | vowel starttype #a endtype #a | ||||
length 150 | length 150 | ||||
IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
glstop | |||||
length 90 | |||||
ENDIF | |||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN | |||||
length 150 | |||||
ENDIF | |||||
FMT(vowel/a_2) | |||||
endphoneme | |||||
// PB short (glottal) a | |||||
// "bragt" | |||||
phoneme ?a | |||||
vowel starttype #a endtype #a | |||||
length 90 | |||||
FMT(vowel/a_2) | FMT(vowel/a_2) | ||||
endphoneme | endphoneme | ||||
phoneme A | phoneme A | ||||
vowel starttype #a endtype #a | vowel starttype #a endtype #a | ||||
length 150 | length 150 | ||||
IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
glstop | |||||
length 90 | |||||
ENDIF | |||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN | |||||
length 150 | |||||
ENDIF | |||||
// "far", "bastard" - a bit longer followed by [r] | |||||
IF nextPhW(r) THEN | |||||
length 120 | |||||
ENDIF | |||||
FMT(vowel/a_3) | |||||
endphoneme | |||||
// PB glottal a | |||||
// "drab" vs. "drabelig" | |||||
phoneme ?A | |||||
vowel starttype #a endtype #a | |||||
length 90 | |||||
// "straffeattest", "straffe" - a bit longer after R | |||||
IF prevPhW(R) AND nextPhW(isNotVowel) THEN | |||||
length 120 | |||||
ENDIF | |||||
FMT(vowel/a_3) | FMT(vowel/a_3) | ||||
endphoneme | endphoneme | ||||
phoneme u | phoneme u | ||||
vowel starttype #u endtype #u | vowel starttype #u endtype #u | ||||
length 150 | length 150 | ||||
// Short vowel followed by consonant and NOT consonant + 3 or V or @ | |||||
// "blus" vs. "bluse" and "bluser" | |||||
IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
glstop | |||||
length 90 | |||||
ENDIF | |||||
// "hue", "suge", "uge" | |||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN | |||||
length 150 | |||||
ENDIF | |||||
// extra length followed by 3 or V or @ | |||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN | |||||
length 240 | |||||
ENDIF | |||||
// "umulig" | |||||
IF nextVowel(i) AND nextVowel(isFinalVowel) AND nextVowel(isWordEnd) THEN | |||||
length 180 | |||||
ENDIF | |||||
FMT(vowel/u_bck) | FMT(vowel/u_bck) | ||||
endphoneme | endphoneme | ||||
// PB glottal u | // PB glottal u | ||||
// "gud" vs. "guden" - [guD] [g?D@n] | |||||
// "tude" vs. "tuden" - [tuD3] [t?uD@n] | |||||
phoneme ?u | phoneme ?u | ||||
vowel starttype #u endtype #u | vowel starttype #u endtype #u | ||||
length 95 | |||||
length 90 | |||||
FMT(vowel/u_bck) | FMT(vowel/u_bck) | ||||
endphoneme | endphoneme | ||||
phoneme o | phoneme o | ||||
vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
length 150 | length 150 | ||||
IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
glstop | |||||
length 90 | |||||
ENDIF | |||||
// "tro" | |||||
IF thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN | |||||
length 90 | |||||
ENDIF | |||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN | |||||
length 150 | |||||
ENDIF | |||||
// "modig" - long vowel after consonant + [i] | |||||
IF nextVowel(3) OR nextVowel(V) OR nextVowel(@) OR nextVowel(i) THEN | |||||
length 150 | |||||
ENDIF | |||||
FMT(vowel/o_2) | |||||
endphoneme | |||||
// PB Short o | |||||
// "patron" vs. "kone" | |||||
phoneme ?o | |||||
vowel starttype #o endtype #o | |||||
length 95 | |||||
FMT(vowel/o_2) | FMT(vowel/o_2) | ||||
endphoneme | endphoneme | ||||
phoneme O | phoneme O | ||||
vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
length 150 | length 150 | ||||
IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
glstop | |||||
length 90 | |||||
ENDIF | |||||
// PB "gået" | |||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN | |||||
length 150 | |||||
ENDIF | |||||
// "rådig" | |||||
IF nextVowel(i) AND nextVowel(isFinalVowel) THEN | |||||
length 180 | |||||
ENDIF | |||||
FMT(vowel/o_5) | FMT(vowel/o_5) | ||||
endphoneme | endphoneme | ||||
// "toget" vs. "tåget" | // "toget" vs. "tåget" | ||||
phoneme ?O | phoneme ?O | ||||
vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
length 95 | |||||
length 90 | |||||
FMT(vowel/o_5) | FMT(vowel/o_5) | ||||
endphoneme | endphoneme | ||||
phoneme V | phoneme V | ||||
vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
length 150 | length 150 | ||||
// "sport" [spV:t] | |||||
IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
glstop | |||||
length 90 | |||||
ENDIF | |||||
IF nextPh(3) OR nextPh(V) OR nextPh(@) THEN | |||||
length 150 | |||||
ENDIF | |||||
// PB short V in "holder", "solder" | |||||
IF nextPhW(isNotVowel) AND next2Ph(V) THEN | |||||
length 90 | |||||
ENDIF | |||||
// PB "snorke", "snorker", årlig | |||||
IF next2PhW(3) OR next2PhW(V) OR next2PhW(@) OR next2PhW(i) THEN | |||||
length 180 | |||||
ENDIF | |||||
// "sove" [sVw3] - longer followed by w + 3 | |||||
IF nextPhW(w) AND next2PhW(3) THEN | |||||
length 220 | |||||
ENDIF | |||||
FMT(vowel/V_4) | |||||
endphoneme | |||||
// PB Glottal (short) å | |||||
// "forstår" vs. "kåre" | |||||
phoneme ?V | |||||
vowel starttype #@ endtype #@ | |||||
length 100 | |||||
FMT(vowel/V_4) | FMT(vowel/V_4) | ||||
endphoneme | endphoneme | ||||
phoneme 0 | phoneme 0 | ||||
vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
length 150 | length 150 | ||||
IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
glstop | |||||
length 90 | |||||
ENDIF | |||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN | |||||
length 150 | |||||
ENDIF | |||||
FMT(vowel/oo_2) | FMT(vowel/oo_2) | ||||
endphoneme | endphoneme | ||||
// ?B short 0 "sukker" | |||||
phoneme ?0 | |||||
vowel starttype #o endtype #o | |||||
length 90 | |||||
FMT(vowel/oo_2) | |||||
endphoneme | |||||
phoneme y | phoneme y | ||||
vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
// experiment: changed to short from 150 | |||||
length 150 | length 150 | ||||
// Short vowel followed by consonant and NOT consonant + 3 or V | |||||
// "lyd" vs. "lyde" and "lyder" | |||||
IF nextPhW(isNotVowel) AND NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@)AND NOT next2PhW(@-) THEN | |||||
glstop | |||||
length 90 | |||||
ENDIF | |||||
// "syg" [sy] | |||||
IF thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN | |||||
length 90 | |||||
ENDIF | |||||
// "skyd" | |||||
IF thisPh(isFinalVowel) AND nextPhW(isWordEnd) AND nextPhW(isNotVowel) THEN | |||||
length 90 | |||||
ENDIF | |||||
// "dydig" [dyDi] | |||||
IF nextVowel(3) OR nextVowel(V) OR nextVowel(@) OR nextVowel(i) THEN | |||||
length 150 | |||||
ENDIF | |||||
// "syge" [sy3] vowel + vowel: extra length, but NOT "fyret" [fyVD] | |||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) AND NOT next2PhW(D) THEN | |||||
length 220 | |||||
ENDIF | |||||
// PB "kryster" - short y | |||||
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN | |||||
length 80 | |||||
ENDIF | |||||
// PB "gryden" | |||||
FMT(vowel/y) | FMT(vowel/y) | ||||
endphoneme | endphoneme | ||||
// PB glottal y | |||||
// PB Short y | |||||
// "kylling" vs. "kyle", "krybbe" vs. "krybe" | // "kylling" vs. "kyle", "krybbe" vs. "krybe" | ||||
phoneme ?y | phoneme ?y | ||||
vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
length 95 | |||||
length 70 | |||||
FMT(vowel/y) | FMT(vowel/y) | ||||
endphoneme | endphoneme | ||||
phoneme Y | phoneme Y | ||||
vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
length 150 | length 150 | ||||
IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
glstop | |||||
length 90 | |||||
ENDIF | |||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN | |||||
length 150 | |||||
ENDIF | |||||
FMT(vowel/yy) | FMT(vowel/yy) | ||||
endphoneme | endphoneme | ||||
phoneme W | phoneme W | ||||
vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
length 150 | |||||
length 160 | |||||
// Shorter vowel when followed by consonant | |||||
IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
glstop | |||||
length 90 | |||||
ENDIF | |||||
// "kløe" vowel + vowel: extra length | |||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN | |||||
length 220 | |||||
ENDIF | |||||
// "klø" short W when word ends with W | |||||
IF thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN | |||||
length 90 | |||||
ENDIF | |||||
// røde" W + 1 consonant + 3 or W or @ | |||||
IF next2PhW(3) OR next2PhW(V) OR next2PhW(@) THEN | |||||
length 160 | |||||
ENDIF | |||||
// PB "nødig", "nødigt", "kølige" | |||||
IF nextVowel(i) THEN | |||||
length 160 | |||||
ENDIF | |||||
// "møve" [mWw@-] | |||||
IF nextPhW(w) AND nextVowel(@-) THEN | |||||
length 160 | |||||
ENDIF | |||||
// "børnebog" | |||||
IF nextPhW(r) AND next2PhW(n) AND nextVowel(@-) THEN | |||||
length 150 | |||||
ENDIF | |||||
FMT(vowel/oe) | FMT(vowel/oe) | ||||
endphoneme | endphoneme | ||||
// "prøv" vs. "prøve" | // "prøv" vs. "prøve" | ||||
phoneme ?W | phoneme ?W | ||||
vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
length 80 | |||||
length 95 | |||||
FMT(vowel/oe) | FMT(vowel/oe) | ||||
endphoneme | endphoneme | ||||
phoneme W# | phoneme W# | ||||
vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
length 150 | length 150 | ||||
IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
glstop | |||||
length 90 | |||||
ENDIF | |||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN | |||||
length 150 | |||||
ENDIF | |||||
FMT(vowel/V) | FMT(vowel/V) | ||||
endphoneme | endphoneme | ||||
// PB short W# | |||||
// "rømme" | |||||
phoneme ?W# | |||||
vowel starttype #@ endtype #@ | |||||
length 90 | |||||
FMT(vowel/V) | |||||
endphoneme | |||||
phoneme aI | phoneme aI | ||||
vowel starttype #a endtype #i | vowel starttype #a endtype #i | ||||
length 250 | |||||
length 300 | |||||
IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2Ph(@-) AND nextPhW(isNotVowel) THEN | |||||
glstop | |||||
length 150 | |||||
ENDIF | |||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN | |||||
length 300 | |||||
ENDIF | |||||
// PB "drej" vs. "dreje" | |||||
IF thisPh(isWordEnd) THEN | |||||
length 140 | |||||
ENDIF | |||||
FMT(vdiph/ai) | FMT(vdiph/ai) | ||||
endphoneme | endphoneme | ||||
voicingswitch f | voicingswitch f | ||||
endphoneme | endphoneme | ||||
// PB Actually a kind of schwa = [ɐ]? - "byder" [bˈyðɐʌ] | |||||
phoneme r // used for 'r' after a vowel (to create a diphthong) | phoneme r // used for 'r' after a vowel (to create a diphthong) | ||||
liquid | liquid | ||||
lengthmod 7 | lengthmod 7 | ||||
IF nextPhW(isVowel) THEN | |||||
ipa ɐ̯ | |||||
IF nextPhW(isVowel) AND NOT nextPhW(?V) AND NOT nextPhW(V) THEN | |||||
ChangePhoneme(R) | ChangePhoneme(R) | ||||
ENDIF | ENDIF | ||||
FMT(r/a_) | FMT(r/a_) | ||||
endphoneme | endphoneme | ||||
phoneme R | phoneme R | ||||
lengthmod 7 | |||||
lengthmod 6 | |||||
liquid | liquid | ||||
ipa ʁ | ipa ʁ | ||||
FMT(r/aa) | FMT(r/aa) | ||||
endphoneme | endphoneme | ||||
// don't weaken consonants at end of word or before a stop | // don't weaken consonants at end of word or before a stop | ||||
phoneme s | phoneme s | ||||
WAV(ufric/s) | WAV(ufric/s) | ||||
endphoneme | endphoneme | ||||
phoneme p | phoneme p | ||||
vls blb stop | vls blb stop | ||||
voicingswitch b | voicingswitch b | ||||
lengthmod 2 | |||||
lengthmod 7 | |||||
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11 | Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11 | ||||
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22 | Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22 | ||||
WAV(ustop/p) | WAV(ustop/p) | ||||
endphoneme | endphoneme | ||||
phoneme t | phoneme t | ||||
vls alv stop | vls alv stop | ||||
voicingswitch d | voicingswitch d | ||||
lengthmod 2 | |||||
lengthmod 7 | |||||
Vowelin f1=0 f2=1700 -300 300 f3=-100 80 | Vowelin f1=0 f2=1700 -300 300 f3=-100 80 | ||||
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 | Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 | ||||
WAV(ustop/t, 90) | WAV(ustop/t, 90) | ||||
endphoneme | endphoneme | ||||
phoneme j | |||||
liquid palatal | |||||
lengthmod 7 | |||||
IF nextPhW(isVowel) THEN | |||||
NextVowelStarts | |||||
VowelStart(j/j@) | |||||
VowelStart(j/ja) | |||||
VowelStart(j/je,-60) | |||||
VowelStart(j/ji) | |||||
VowelStart(j/jo) | |||||
VowelStart(j/ju) | |||||
EndSwitch | |||||
Vowelout len=70 | |||||
VowelEnding(j/xj, -30) | |||||
IF prevPh(isPause) THEN | |||||
FMT(j/_j) | |||||
ENDIF | |||||
ELSE | |||||
// no vowel follows | |||||
Vowelout len=70 | |||||
FMT(j/j_) | |||||
ENDIF | |||||
endphoneme |
//#define SPECT_EDITOR | //#define SPECT_EDITOR | ||||
#define INCLUDE_KLATT | #define INCLUDE_KLATT | ||||
#define INCLUDE_MBROLA | #define INCLUDE_MBROLA | ||||
#define INCLUDE_SONIC | |||||
#define _ESPEAKEDIT | |||||
#include <windows.h> | #include <windows.h> | ||||
#define PLATFORM_WINDOWS | #define PLATFORM_WINDOWS | ||||
#define N_PATH_HOME 120 | |||||
#define N_PATH_HOME 230 | |||||
extern char path_home[N_PATH_HOME]; // this is the espeak-data directory | extern char path_home[N_PATH_HOME]; // this is the espeak-data directory | ||||
extern void strncpy0(char *to,const char *from, int size); | extern void strncpy0(char *to,const char *from, int size); |
//#define SPECT_EDITOR | //#define SPECT_EDITOR | ||||
#define INCLUDE_KLATT | #define INCLUDE_KLATT | ||||
#define INCLUDE_MBROLA | #define INCLUDE_MBROLA | ||||
#define INCLUDE_SONIC | |||||
#define _ESPEAKEDIT | |||||
#include <windows.h> | #include <windows.h> | ||||
#define PLATFORM_WINDOWS | #define PLATFORM_WINDOWS | ||||
#define N_PATH_HOME 120 | |||||
#define N_PATH_HOME 230 | |||||
extern char path_home[N_PATH_HOME]; // this is the espeak-data directory | extern char path_home[N_PATH_HOME]; // this is the espeak-data directory | ||||
extern void strncpy0(char *to,const char *from, int size); | extern void strncpy0(char *to,const char *from, int size); |
#define NO_VARIADIC_MACROS | #define NO_VARIADIC_MACROS | ||||
#define INCLUDE_KLATT | #define INCLUDE_KLATT | ||||
#define INCLUDE_MBROLA | #define INCLUDE_MBROLA | ||||
#define INCLUDE_SONIC | |||||
// will look for espeak_data directory here, and also in user's home directory | // will look for espeak_data directory here, and also in user's home directory | ||||
#define PATH_ESPEAK_DATA "/usr/share/espeak-data" | #define PATH_ESPEAK_DATA "/usr/share/espeak-data" | ||||
typedef unsigned short USHORT; | typedef unsigned short USHORT; | ||||
typedef unsigned char UCHAR; | typedef unsigned char UCHAR; | ||||
typedef double DOUBLEX; | typedef double DOUBLEX; | ||||
#ifdef __WIN64__ | |||||
typedef uint64_t long64; // use this for conversion between pointers and integers | |||||
#else | |||||
typedef unsigned long long64; | |||||
#endif | |||||
#define N_PATH_HOME 220 | |||||
#define N_PATH_HOME 230 | |||||
extern char path_home[N_PATH_HOME]; // this is the espeak-data directory | extern char path_home[N_PATH_HOME]; // this is the espeak-data directory | ||||
extern void strncpy0(char *to,const char *from, int size); | extern void strncpy0(char *to,const char *from, int size); |
#define LIBRARY | #define LIBRARY | ||||
#define INCLUDE_KLATT | #define INCLUDE_KLATT | ||||
#define INCLUDE_MBROLA | #define INCLUDE_MBROLA | ||||
#define INCLUDE_SONIC | |||||
// will look for espeak_data directory here, and also in user's home directory | // will look for espeak_data directory here, and also in user's home directory | ||||
#define PATH_ESPEAK_DATA "/usr/share/espeak-data" | #define PATH_ESPEAK_DATA "/usr/share/espeak-data" | ||||
typedef unsigned short USHORT; | typedef unsigned short USHORT; | ||||
typedef unsigned char UCHAR; | typedef unsigned char UCHAR; | ||||
typedef double DOUBLEX; | typedef double DOUBLEX; | ||||
#ifdef __WIN64__ | |||||
typedef uint64_t long64; // use this for conversion between pointers and integers | |||||
#else | |||||
typedef unsigned long long64; | |||||
#endif | |||||
#define N_PATH_HOME 120 | |||||
#define N_PATH_HOME 230 | |||||
extern char path_home[N_PATH_HOME]; // this is the espeak-data directory | extern char path_home[N_PATH_HOME]; // this is the espeak-data directory | ||||
extern void strncpy0(char *to,const char *from, int size); | extern void strncpy0(char *to,const char *from, int size); |
//#define USE_NANOSLEEP | //#define USE_NANOSLEEP | ||||
#define INCLUDE_KLATT | #define INCLUDE_KLATT | ||||
#define INCLUDE_MBROLA | #define INCLUDE_MBROLA | ||||
#define INCLUDE_SONIC | |||||
// will look for espeak_data directory here, and also in user's home directory | // will look for espeak_data directory here, and also in user's home directory | ||||
#define PATH_ESPEAK_DATA "/usr/share/espeak-data" | #define PATH_ESPEAK_DATA "/usr/share/espeak-data" | ||||
typedef unsigned short USHORT; | typedef unsigned short USHORT; | ||||
typedef unsigned char UCHAR; | typedef unsigned char UCHAR; | ||||
typedef double DOUBLEX; | typedef double DOUBLEX; | ||||
#ifdef __WIN64__ | |||||
typedef uint64_t long64; // use this for conversion between pointers and integers | |||||
#else | |||||
typedef unsigned long long64; | |||||
#endif | |||||
#define N_PATH_HOME 220 | |||||
#define N_PATH_HOME 230 | |||||
extern char path_home[N_PATH_HOME]; // this is the espeak-data directory | extern char path_home[N_PATH_HOME]; // this is the espeak-data directory | ||||
extern void strncpy0(char *to,const char *from, int size); | extern void strncpy0(char *to,const char *from, int size); |
p++; // skip over the zero which terminates the list for this hash value | p++; // skip over the zero which terminates the list for this hash value | ||||
} | } | ||||
if((tr->dict_min_size > 0) && (size < tr->dict_min_size)) | |||||
{ | |||||
fprintf(stderr, "Full dictionary is not installed for '%s'\n", name); | |||||
} | |||||
return(0); | return(0); | ||||
} // end of LoadDictionary | } // end of LoadDictionary | ||||
#ifdef PLATFORM_WINDOWS | #ifdef PLATFORM_WINDOWS | ||||
#define N_PATH_HOME 220 | |||||
#define N_PATH_HOME 230 | |||||
#else | #else | ||||
#define N_PATH_HOME 150 | |||||
#define N_PATH_HOME 160 | |||||
#endif | #endif | ||||
extern char path_home[N_PATH_HOME]; // this is the espeak-data directory | extern char path_home[N_PATH_HOME]; // this is the espeak-data directory |
#include "translate.h" | #include "translate.h" | ||||
#include "wave.h" | #include "wave.h" | ||||
const char *version_string = "1.46.42 06.Mar.13"; | |||||
const char *version_string = "1.46.43 07.Mar.13"; | |||||
const int version_phdata = 0x014640; | const int version_phdata = 0x014640; | ||||
int option_device_number = -1; | int option_device_number = -1; |
tr->charset_a0 = charsets[1]; // ISO-8859-1, this is for when the input is not utf8 | tr->charset_a0 = charsets[1]; // ISO-8859-1, this is for when the input is not utf8 | ||||
dictionary_name[0] = 0; | dictionary_name[0] = 0; | ||||
tr->dict_condition=0; | tr->dict_condition=0; | ||||
tr->dict_min_size = 0; | |||||
tr->data_dictrules = NULL; // language_1 translation rules file | tr->data_dictrules = NULL; // language_1 translation rules file | ||||
tr->data_dictlist = NULL; // language_2 dictionary lookup file | tr->data_dictlist = NULL; // language_2 dictionary lookup file | ||||
int name2 = 0; | int name2 = 0; | ||||
Translator *tr; | Translator *tr; | ||||
static const short stress_lengths_equal[8] = {250, 250, 250, 250, 0, 0, 250, 250}; | |||||
static const short stress_lengths_equal[8] = {230, 230, 230, 230, 0, 0, 230, 230}; | |||||
static const unsigned char stress_amps_equal[8] = {18,18, 18,18, 18,18, 18,18 }; | static const unsigned char stress_amps_equal[8] = {18,18, 18,18, 18,18, 18,18 }; | ||||
static const short stress_lengths_fr[8] = {190, 170, 190, 200, 0, 0, 190, 240}; | static const short stress_lengths_fr[8] = {190, 170, 190, 200, 0, 0, 190, 240}; | ||||
static const unsigned char stress_amps_sk[8] = {17,16, 20,20, 20,22, 22,21 }; | static const unsigned char stress_amps_sk[8] = {17,16, 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}; | ||||
static const short stress_lengths_ta[8] = {240, 240, 250, 250, 0, 0, 270, 270}; | |||||
static const short stress_lengths_ta[8] = {200, 200, 210, 210, 0, 0, 230, 230}; | |||||
static const unsigned char stress_amps_ta[8] = {18,18, 18,18, 20,20, 22,22 }; | static const unsigned char stress_amps_ta[8] = {18,18, 18,18, 20,20, 22,22 }; | ||||
// 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() |
unsigned char stress_amps_r[8]; | unsigned char stress_amps_r[8]; | ||||
short stress_lengths[8]; | short stress_lengths[8]; | ||||
int dict_condition; // conditional apply some pronunciation rules and dict.lookups | int dict_condition; // conditional apply some pronunciation rules and dict.lookups | ||||
int dict_min_size; | |||||
const unsigned short *charset_a0; // unicodes for characters 0xa0 to oxff | const unsigned short *charset_a0; // unicodes for characters 0xa0 to oxff | ||||
const wchar_t *char_plus_apostrophe; // single chars + apostrophe treated as words | const wchar_t *char_plus_apostrophe; // single chars + apostrophe treated as words | ||||
const wchar_t *punct_within_word; // allow these punctuation characters within words | const wchar_t *punct_within_word; // allow these punctuation characters within words |
wxString filename; | wxString filename; | ||||
char *p; | char *p; | ||||
char vname[40]; | char vname[40]; | ||||
char fname[sizeof(path_home)+10]; | |||||
char fname[sizeof(path_home)+30]; | |||||
if(variant) | if(variant) | ||||
{ | { |
int phoneme_tab_ix; // phoneme table number | int phoneme_tab_ix; // phoneme table number | ||||
int pitch_base; // Hz<<12 | int pitch_base; // Hz<<12 | ||||
int pitch_range; // standard = 0x1000 | int pitch_range; // standard = 0x1000 | ||||
int speedf1; | int speedf1; | ||||
int speedf2; | int speedf2; | ||||
int speedf3; | int speedf3; |
V_KLATT, | V_KLATT, | ||||
V_FAST, | V_FAST, | ||||
V_SPEED, | V_SPEED, | ||||
V_DICTMIN, | |||||
// these need a phoneme table to have been specified | // these need a phoneme table to have been specified | ||||
V_REPLACE, | V_REPLACE, | ||||
{"klatt", V_KLATT}, | {"klatt", V_KLATT}, | ||||
{"fast_test2", V_FAST}, | {"fast_test2", V_FAST}, | ||||
{"speed", V_SPEED}, | {"speed", V_SPEED}, | ||||
{"dict_min", V_DICTMIN}, | |||||
// these just set a value in langopts.param[] | // these just set a value in langopts.param[] | ||||
{"l_dieresis", 0x100+LOPT_DIERESES}, | {"l_dieresis", 0x100+LOPT_DIERESES}, | ||||
char phonemes_name[40]; | char phonemes_name[40]; | ||||
char option_name[40]; | char option_name[40]; | ||||
const char *language_type; | const char *language_type; | ||||
char buf[200]; | |||||
char buf[sizeof(path_home)+30]; | |||||
char path_voices[sizeof(path_home)+12]; | char path_voices[sizeof(path_home)+12]; | ||||
int dict_min = 0; | |||||
int stress_amps[8]; | int stress_amps[8]; | ||||
int stress_lengths[8]; | int stress_lengths[8]; | ||||
int stress_add[8]; | int stress_add[8]; | ||||
SetSpeed(3); | SetSpeed(3); | ||||
break; | break; | ||||
case V_DICTMIN: | |||||
sscanf(p,"%d",&dict_min); | |||||
break; | |||||
default: | default: | ||||
if((key & 0xff00) == 0x100) | if((key & 0xff00) == 0x100) | ||||
{ | { | ||||
} | } | ||||
voice->phoneme_tab_ix = ix; | voice->phoneme_tab_ix = ix; | ||||
new_translator->phoneme_tab_ix = ix; | new_translator->phoneme_tab_ix = ix; | ||||
new_translator->dict_min_size = dict_min; | |||||
LoadDictionary(new_translator, new_dictionary, control & 4); | LoadDictionary(new_translator, new_dictionary, control & 4); | ||||
if(dictionary_name[0]==0) | if(dictionary_name[0]==0) | ||||
return(NULL); // no dictionary loaded | return(NULL); // no dictionary loaded | ||||
translator = new_translator; | translator = new_translator; | ||||
} | } | ||||
// relative lengths of different stress syllables | // relative lengths of different stress syllables | ||||
for(ix=0; ix<stress_lengths_set; ix++) | for(ix=0; ix<stress_lengths_set; ix++) | ||||
{ | { |