mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-10 00:11:11 +00:00
[1.46.43]
language changes: da, pt git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@309 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
+23
-18
@@ -102,16 +102,16 @@ _9 n'i
|
||||
_10 t'i
|
||||
_11 'Elv@
|
||||
_12 t'Vl
|
||||
_13 tR'&#d@-n // PB & changed to &#
|
||||
_13 tR'?&#d@-n // PB & changed to &#
|
||||
_14 fj'ord@-n
|
||||
_15 f'emt@-n
|
||||
_15 f'Emd@-n
|
||||
_16 s'ajsd@-n
|
||||
_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
|
||||
_2X t'y:w
|
||||
_2X t'y:?u
|
||||
_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
|
||||
_6X t*'Es // PB changed from e to E
|
||||
_7X h&lfj'&rs // PV a changed to &
|
||||
@@ -187,7 +187,7 @@ fra $u+ // from
|
||||
ved $u+ // at
|
||||
om $u+ $brk // about, within
|
||||
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.
|
||||
ad &: // PB added 'ad'
|
||||
ad &D $atend $sentence // PB "Det må ikke skille os ad."
|
||||
@@ -221,10 +221,10 @@ hvis ves $u+ // PB - whose
|
||||
// possessive pronouns
|
||||
min min $u
|
||||
mit mit $u
|
||||
mine m'in@
|
||||
mine m'in3
|
||||
din d'in $u+
|
||||
dit d'it $u
|
||||
dine d'ine
|
||||
dine d'in3
|
||||
deres dE:Vs $u
|
||||
hans $u+
|
||||
hendes $u+
|
||||
@@ -288,7 +288,6 @@ night _^_EN
|
||||
the _^_EN
|
||||
skinhead _^_EN
|
||||
skinheads _^_EN
|
||||
street _^_EN
|
||||
boy _^_EN
|
||||
square _^_EN
|
||||
apple _^_EN
|
||||
@@ -11125,18 +11124,18 @@ tournure $alt
|
||||
|
||||
// exceptions
|
||||
alene &l'en@ // alone
|
||||
egen a:j@n
|
||||
egen _|aj@-n
|
||||
mc mak' $capital // PB McDonald
|
||||
egne a:in@
|
||||
egne ajn@-
|
||||
enter entV
|
||||
ide id'e // idea
|
||||
idé id'e // idea
|
||||
tune tun3 $capital // PB Tune lufthavn - not "tune a car" [tjune]
|
||||
ny ny // new
|
||||
også Vs@ // also
|
||||
også Vs@- // also
|
||||
idet id'e // in so far as
|
||||
(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]
|
||||
rejicerer rejis'eV // PB
|
||||
rejiceres rejis'eVs // PB
|
||||
@@ -11151,6 +11150,7 @@ konfirmanderne kVnferm'&nd3-n@ // PB
|
||||
konfirmandernes kVnferm'&nd3-n@s // PB
|
||||
giv g'i // PB the v shouldn't be pronounced
|
||||
giver gir // PB the v shouldn't be pronounced
|
||||
opgiver Vpgir // PB
|
||||
jaloux sj&'lu // PB jaloux
|
||||
aficionado afisjo'na:do // PB
|
||||
breakdance brEig'da:ns // PB breakdance
|
||||
@@ -11184,7 +11184,7 @@ shampu Sjambo // PB Danish pronunciation - oo has been replaced b
|
||||
wien v'i:n // PB Wien - the town of Vienna
|
||||
calais kal'E // PB Calais - town in France
|
||||
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
|
||||
skateboardet sk'eitbo@d3D // PB
|
||||
(hole in one) h'oulinw,0n // PB English golf expression used in Danish
|
||||
@@ -11253,10 +11253,15 @@ ikes ajks // PB
|
||||
(deres kvarter) dE:Vs||kvA'ter // PB
|
||||
(det kvarter) de||kvA'ter // PB
|
||||
(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
|
||||
// PB 'hav' = ocean - 'hav' = have (a nice day)
|
||||
(et hav) ed||hAu
|
||||
|
||||
+1778
-1287
File diff suppressed because it is too large
Load Diff
+12
-11
@@ -53,18 +53,19 @@ p r s S t T v w
|
||||
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
|
||||
|
||||
* - : ? 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
|
||||
@@ -378,7 +379,7 @@ S s; S; t t; tS ts tS;
|
||||
ts; v w x z Z Z;
|
||||
|
||||
|
||||
Dictionary pt_dict 2013-03-06
|
||||
Dictionary pt_dict 2013-03-07
|
||||
|
||||
& &/ &U~ &~ @ @- a A
|
||||
aI aU e E eI EI eU EU
|
||||
@@ -539,7 +540,7 @@ n^ p p` r s S t t`
|
||||
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
|
||||
e: i I i: o o: r- u
|
||||
|
||||
@@ -3678,6 +3678,7 @@ Disney dIzni
|
||||
Dolce d0ltSeI
|
||||
Dvorak d@-vo@Zak
|
||||
Emory Em3ri
|
||||
Fleming flEmIN
|
||||
Folger foUldZ3
|
||||
Genghis dZENgIs
|
||||
Gibson gIbs@n
|
||||
|
||||
+2
-35
@@ -730,7 +730,6 @@ concerto $alt2 $noun
|
||||
concordo $alt
|
||||
conforto $alt $verb
|
||||
consolo $alt2 $noun
|
||||
contivermos $alt
|
||||
controle $alt2 $noun
|
||||
controlo $alt2 $noun
|
||||
coreia $alt
|
||||
@@ -741,12 +740,8 @@ corto $alt
|
||||
corveta $alt2
|
||||
corvos $alt
|
||||
coto $alt2
|
||||
couberdes $alt
|
||||
coubermos $alt
|
||||
cratera $alt
|
||||
crede $alt2
|
||||
der $alt
|
||||
derdes $alt
|
||||
desapego $alt2 $noun
|
||||
descabelo $alt
|
||||
descordo $alt
|
||||
@@ -779,9 +774,6 @@ envelope $alt
|
||||
envolto $alt2
|
||||
enxerto $alt2 $noun
|
||||
epopeia $alt
|
||||
erga $alt2
|
||||
ergam $alt2
|
||||
ergo $alt2
|
||||
eritreia $alt
|
||||
erro $alt2 $noun
|
||||
erros $alt2
|
||||
@@ -799,8 +791,6 @@ espiroqueta $alt2
|
||||
espoleta $alt2
|
||||
esposa $alt2
|
||||
esqueleto $alt2
|
||||
estiverdes $alt
|
||||
estivermos $alt
|
||||
estrela $alt2
|
||||
estrofe $alt
|
||||
estorno $alt $verb
|
||||
@@ -818,8 +808,6 @@ fera $alt
|
||||
ferozes $alt
|
||||
fezes $alt
|
||||
?1 fixe fiSy
|
||||
fizerdes $alt
|
||||
fizermos $alt
|
||||
foda $alt2 $verb
|
||||
folheto $alt2
|
||||
folga $alt
|
||||
@@ -857,8 +845,6 @@ grozo $alt $verb
|
||||
hemorroida $alt
|
||||
hoje $alt2
|
||||
horrores $alt2
|
||||
houverdes $alt
|
||||
houvermos $alt
|
||||
ideia $alt
|
||||
insonoro $alt
|
||||
interesse $alt2 $noun
|
||||
@@ -869,9 +855,6 @@ lebre $alt
|
||||
lopes $alt
|
||||
maior $alt
|
||||
maleta $alt2
|
||||
mantiverdes $alt
|
||||
mantiveres $alt
|
||||
mantivermos $alt
|
||||
marcelo $alt
|
||||
marmelo $alt
|
||||
marreta $alt2
|
||||
@@ -892,7 +875,6 @@ minueto $alt2
|
||||
miolo $alt2
|
||||
miolos $alt
|
||||
moeda $alt
|
||||
modos $alt
|
||||
molho $alt2 $noun
|
||||
monera $alt
|
||||
morcego $alt2
|
||||
@@ -913,15 +895,13 @@ naquele $alt2 $nounf
|
||||
nervo $alt2
|
||||
novos $alt
|
||||
obstetra $alt
|
||||
obtivera $alt
|
||||
obtivermos $alt
|
||||
odisseia $alt
|
||||
onu $1
|
||||
olho $alt2 $noun
|
||||
osso $alt2
|
||||
ossos $alt
|
||||
opereta $alt2
|
||||
ordens $alt
|
||||
osso $alt2
|
||||
ossos $alt
|
||||
ostra $alt2
|
||||
ovos $alt
|
||||
pachorra $alt2
|
||||
@@ -937,8 +917,6 @@ pastora $alt2
|
||||
pedra $alt
|
||||
pelego $alt2
|
||||
pelo $alt $verb
|
||||
pesque $alt
|
||||
pesquem $alt
|
||||
peso $alt $verb
|
||||
piloto $alt2 $noun
|
||||
pintora $alt2
|
||||
@@ -957,15 +935,9 @@ poxa p'oS&
|
||||
preço $alt2
|
||||
primavera $alt
|
||||
provo $alt
|
||||
puder $alt
|
||||
puderdes $alt
|
||||
pudermos $alt
|
||||
puserdes $alt
|
||||
quarteto $alt2
|
||||
queda $alt
|
||||
quinteto $alt2
|
||||
quiserdes $alt
|
||||
quisermos $alt
|
||||
recomeço $alt2 $noun
|
||||
recordo $alt
|
||||
recorto $alt
|
||||
@@ -1006,8 +978,6 @@ sopro $alt2 $noun
|
||||
soro $alt2
|
||||
sorvete $alt2
|
||||
sossego $alt2 $noun
|
||||
souberdes $alt
|
||||
soubermos $alt
|
||||
suborno $alt $verb
|
||||
sufoco $alt2 $noun
|
||||
sufocos $alt2
|
||||
@@ -1017,8 +987,6 @@ tapete $alt2
|
||||
tempero $alt2 $noun
|
||||
teta $alt2
|
||||
tetra $alt
|
||||
tiverdes $alt
|
||||
tivermos $alt
|
||||
tocha $alt
|
||||
toga $alt
|
||||
topo $alt $verb
|
||||
@@ -1039,7 +1007,6 @@ valeta $alt2
|
||||
vanessa $alt2
|
||||
velozes $alt
|
||||
verme $alt
|
||||
vierem $alt
|
||||
violeta $alt2
|
||||
violoncelo $alt
|
||||
voga $alt
|
||||
|
||||
+18
-6
@@ -19,8 +19,8 @@
|
||||
.L02 e em
|
||||
.L03 a am o
|
||||
.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
|
||||
|
||||
|
||||
@@ -345,13 +345,18 @@
|
||||
sf) e (ra_ E // esfera, biosfera
|
||||
|
||||
//sort
|
||||
_d) e (L05_ E
|
||||
_vi) e (L05_ E
|
||||
fiz) e (L05_ E
|
||||
pus) e (L05_ E / com- im- de-
|
||||
tiv) e (L05_ E // es-
|
||||
_com) e (L05_ e
|
||||
_pud) e (L05_ E
|
||||
_coub) e (L05_ E
|
||||
_exag) e (L05_ E
|
||||
_houv) e (L05_ E
|
||||
_perd) e (L05_ e
|
||||
_quis) e (L05_ E
|
||||
_soub) e (L05_ E
|
||||
_rend) e (L06_ e
|
||||
_vend) e (L06_ e
|
||||
@@ -369,6 +374,7 @@ respond) e (L06_ e // cor-
|
||||
_tem) e (L07_ e
|
||||
colh) e (L07_ e // & es-
|
||||
corr) e (L07_ e // per- con- in- so- dis-
|
||||
nasc) e (L07_ e / re-
|
||||
torc) e (L07_ e // con-
|
||||
venc) e (L07_ e // con-
|
||||
vert) e (L07_ e // in- re- con-
|
||||
@@ -384,11 +390,14 @@ respond) e (L06_ e // cor-
|
||||
_aborrec) e (L07_ e
|
||||
_adoec) e (L07_ e
|
||||
_adormec) e (L07_ e
|
||||
_agradec) e (L07_ e
|
||||
_amanhec) e (L07_ e
|
||||
_anoitec) e (L07_ e
|
||||
_arrepend) e (L07_ e
|
||||
_cresc) e (L07_ e
|
||||
_defend) e (L07_ e
|
||||
_depend) e (L07_ e
|
||||
_emagrec) e (L07_ e
|
||||
_enlouquec) e (L07_ e
|
||||
_entristec) e (L07_ e
|
||||
_envaidec) e (L07_ e
|
||||
@@ -416,14 +425,13 @@ respond) e (L07_ e // cor-
|
||||
_p) e (quL02_ E
|
||||
_s) e (quL02_ E
|
||||
l) e (que_ E
|
||||
_sug) e (rL02_ E
|
||||
_imp) e (rL03_ E
|
||||
_sev) e (rL03_ E
|
||||
_reit) 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
|
||||
_qu) e (rL04_ E
|
||||
_alt) e (rL04_ E
|
||||
_sup) e (rL04_ E
|
||||
_tol) e (rL04_ E
|
||||
@@ -434,6 +442,7 @@ respond) e (L07_ e // cor-
|
||||
_p) e (rdL02_ E
|
||||
_l) e (rdL03_ E
|
||||
_h) e (rdL04_ E
|
||||
_) e (rgL03_ e
|
||||
_) e (rguL02_ E
|
||||
_alb) e (rguL02_ E
|
||||
_enx) e (rguL02_ E
|
||||
@@ -445,6 +454,7 @@ respond) e (L07_ e // cor-
|
||||
_cr) e (scL02_ E
|
||||
_p) e (scL03_ E
|
||||
_m) e (sclL04 E
|
||||
_p) e (squL02_ E
|
||||
_l) e (ssL02_ e
|
||||
_esp) e (ssL03_ e
|
||||
_c) e (stL03_ e
|
||||
@@ -464,6 +474,7 @@ _obsol) e (tL03_ e
|
||||
_embel) e (zL04_ E
|
||||
_acont) e (çL01_ e
|
||||
_arref) e (çL01_ e
|
||||
_emagr) e (çL03
|
||||
par) e (çL03_ e // a- re- com- rea- desa-
|
||||
_ado) e (çL03_ e
|
||||
_aqu) e (çL03_ e
|
||||
@@ -478,6 +489,7 @@ _arref) e (çL01_ e
|
||||
_ofer) e (çL03_ e
|
||||
abast) e (çL03_ e // re-
|
||||
_aborr) e (çL03_ e
|
||||
_agrad) e (çL03_ e
|
||||
_amanh) e (çL03_ e
|
||||
_anoit) e (çL03_ e
|
||||
_enfraqu) e (çL03_ e
|
||||
@@ -803,6 +815,7 @@ _desabr) o (chL04_ O
|
||||
_c) o (pL03_ O
|
||||
_ens) o (pL04_ O
|
||||
_s) o (prL04_ O
|
||||
_) o (ptL04_ O
|
||||
_enf) o (rquL02_ O
|
||||
c) o (rrL01_ o // escorra, incorra, corra, recorra
|
||||
_m) o (rrL01_ o
|
||||
@@ -1095,4 +1108,3 @@ _desabr) o (chL04_ O
|
||||
__) - (_D m'enUs
|
||||
A_) - (_D _
|
||||
C_) - (_D _
|
||||
|
||||
|
||||
+25
-7
@@ -64,7 +64,7 @@ consonants 10 118
|
||||
id 15 127
|
||||
sq 33 127
|
||||
hy 23 119
|
||||
da 36 131
|
||||
da 46 139
|
||||
ka 20 114
|
||||
rw 15 132
|
||||
pa 15 152
|
||||
@@ -341,37 +341,46 @@ j2/j2u [;] base
|
||||
j2/xj2 [;] base
|
||||
j/_j [j] base
|
||||
[j] zh
|
||||
[j] da
|
||||
j/j_ [j] base
|
||||
[j] de
|
||||
[j] zh
|
||||
[j] da
|
||||
j/j@ [j] base
|
||||
[j] de
|
||||
[j/] fr
|
||||
[j] zh
|
||||
[j] da
|
||||
j/ja [j] base
|
||||
[j] de
|
||||
[j/] fr
|
||||
[j] zh
|
||||
[j] da
|
||||
j/je [j] base
|
||||
[j] de
|
||||
[j/] fr
|
||||
[j] zh
|
||||
[j] da
|
||||
j/ji [j] base
|
||||
[j] de
|
||||
[j/] fr
|
||||
[j] zh
|
||||
[j] da
|
||||
j/jo [j] base
|
||||
[j] de
|
||||
[j/] fr
|
||||
[j] zh
|
||||
[j] da
|
||||
j/_j_short [j] de
|
||||
j/ju [j] base
|
||||
[j] de
|
||||
[j/] fr
|
||||
[j] zh
|
||||
[j] da
|
||||
j/xj [j] base
|
||||
[j] de
|
||||
[j] zh
|
||||
[j] da
|
||||
klatt/b [b] base
|
||||
[b] fr
|
||||
klatt/bh [B] base
|
||||
@@ -433,7 +442,7 @@ l/l_ [l] base
|
||||
[l/] fr
|
||||
l/l_@ [l/3] base
|
||||
[l/] fr
|
||||
l/l@ [¨\-] base
|
||||
l/l@ [¨-] base
|
||||
[l#] base
|
||||
[l] fr
|
||||
[l/2] fr
|
||||
@@ -467,7 +476,7 @@ l/L2_oL [l/2] base
|
||||
l/L2_uL [l/2] base
|
||||
l/l_3 [l/] de
|
||||
l/l_4 [ll] sq
|
||||
l/la [¨\-] base
|
||||
l/la [¨-] base
|
||||
[l#] base
|
||||
[l] fr
|
||||
[l/2] fr
|
||||
@@ -475,7 +484,7 @@ l/la [
|
||||
[K] tn
|
||||
l/l_a [l/3] base
|
||||
[l/] fr
|
||||
l/le [¨\-] base
|
||||
l/le [¨-] base
|
||||
[l#] base
|
||||
[l] fr
|
||||
[l/2] fr
|
||||
@@ -487,7 +496,7 @@ l/L_eL_af [&] af
|
||||
[&:] af
|
||||
l/l_front [L] sq
|
||||
l/l_front_ [l/4] sq
|
||||
l/li [¨\-] base
|
||||
l/li [¨-] base
|
||||
[l#] base
|
||||
[l] fr
|
||||
[l/2] fr
|
||||
@@ -501,7 +510,7 @@ ll/ll [L] base
|
||||
ll/_ll [L] base
|
||||
l/l_long [l] base
|
||||
[l] fr
|
||||
l/lo [¨\-] base
|
||||
l/lo [¨-] base
|
||||
[l#] base
|
||||
[l/2] fr
|
||||
[K] nso
|
||||
@@ -512,7 +521,7 @@ l^/l_rfx [l.] base
|
||||
[l;] lt
|
||||
[l] ru
|
||||
[l^] ru
|
||||
l/lu [¨\-] base
|
||||
l/lu [¨-] base
|
||||
[l#] base
|
||||
[l] fr
|
||||
[l/2] fr
|
||||
@@ -712,6 +721,7 @@ r3/@tap2 [**] base
|
||||
[*] ko
|
||||
r3/@tap_rfx [r.] base
|
||||
r/a_ [r] da
|
||||
[3-] da
|
||||
r/aa [R] da
|
||||
r/r [r] base
|
||||
[r-] en
|
||||
@@ -1497,6 +1507,7 @@ vowel/@ [@] base
|
||||
[U#] ga
|
||||
vowel/@- [@-] base
|
||||
[r*] hr
|
||||
[@-] da
|
||||
vowel/& [a] en-rp
|
||||
[&] fi
|
||||
[&] et
|
||||
@@ -1507,6 +1518,7 @@ vowel/& [a] en-rp
|
||||
[ja#] ru
|
||||
[&] sv
|
||||
[&#] da
|
||||
[?&#] da
|
||||
[&] az
|
||||
[a] fa
|
||||
vowel/0 [0] en
|
||||
@@ -1611,6 +1623,7 @@ vowel/a_2 [a] base2
|
||||
[a] ro
|
||||
[a] el
|
||||
[a] da
|
||||
[?a] da
|
||||
[a] rw
|
||||
vowel/a#_2 [a] kn
|
||||
[a] ml
|
||||
@@ -1640,6 +1653,7 @@ vowel/a_3 [a] en-sc
|
||||
[A] zh
|
||||
[a] sq
|
||||
[A] da
|
||||
[?A] da
|
||||
[a:] si
|
||||
vowel/a#_3 [a#] en
|
||||
[a#] en-n
|
||||
@@ -2133,6 +2147,7 @@ vowel/o_2 [o:] cy
|
||||
[o:] no
|
||||
[o] vi
|
||||
[o] da
|
||||
[?o] da
|
||||
vowel/o-_2 [V] en-n
|
||||
[V] en-wm
|
||||
vowel/o_3 [oU] en-sc
|
||||
@@ -2218,6 +2233,7 @@ vowel/oo_2 [0] en-sc
|
||||
[O] cy
|
||||
[o] cs
|
||||
[0] da
|
||||
[?0] da
|
||||
[O] ak
|
||||
[@] ko
|
||||
vowel/oo_3 [O] af
|
||||
@@ -2388,6 +2404,7 @@ vowel/V [3] en-sc
|
||||
[@] bg
|
||||
[@] vi
|
||||
[W#] da
|
||||
[?W#] da
|
||||
vowel/V_2 [V] en
|
||||
[a] af
|
||||
[V] fr
|
||||
@@ -2402,6 +2419,7 @@ vowel/V_3 [V] en-rp
|
||||
[V] pa
|
||||
vowel/V_4 [V] en-sc
|
||||
[V] da
|
||||
[?V] da
|
||||
vowel/V_6 [V] en-us
|
||||
[a#] lv
|
||||
vowel/y [y] base2
|
||||
|
||||
+436
-25
@@ -2,22 +2,72 @@
|
||||
phoneme @
|
||||
vowel starttype #@ endtype #@
|
||||
unstressed
|
||||
length 110
|
||||
length 60
|
||||
FMT(vowel/@_3)
|
||||
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]
|
||||
phoneme 3
|
||||
vowel starttype #a endtype #a
|
||||
unstressed
|
||||
length 110
|
||||
length 40
|
||||
FMT(vowel/a#_3)
|
||||
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
|
||||
vowel starttype #i endtype #i
|
||||
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)
|
||||
endphoneme
|
||||
|
||||
@@ -25,7 +75,7 @@ endphoneme
|
||||
// sviret vs. svirret
|
||||
phoneme ?i
|
||||
vowel starttype #i endtype #i
|
||||
length 95
|
||||
length 90
|
||||
IfNextVowelAppend(;)
|
||||
FMT(vowel/i_4)
|
||||
endphoneme
|
||||
@@ -41,6 +91,42 @@ endphoneme
|
||||
phoneme e
|
||||
vowel starttype #e endtype #e
|
||||
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)
|
||||
endphoneme
|
||||
|
||||
@@ -48,13 +134,44 @@ endphoneme
|
||||
// "skille" vs. "skele", "pille" vs. "pile"
|
||||
phoneme ?e
|
||||
vowel starttype #e endtype #e
|
||||
length 95
|
||||
length 90
|
||||
FMT(vowel/e)
|
||||
endphoneme
|
||||
|
||||
phoneme E
|
||||
vowel starttype #e endtype #e
|
||||
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)
|
||||
endphoneme
|
||||
|
||||
@@ -62,21 +179,57 @@ endphoneme
|
||||
// "læsse" vs. "læse"
|
||||
phoneme ?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)
|
||||
endphoneme
|
||||
|
||||
phoneme &
|
||||
vowel starttype #e endtype #e
|
||||
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)
|
||||
endphoneme
|
||||
|
||||
// PB Experimental glottal a
|
||||
// e.g. the last a in "staldkarl"
|
||||
// "sale" vs. "sal"
|
||||
phoneme ?&
|
||||
vowel starttype #e endtype #e
|
||||
length 95
|
||||
length 90
|
||||
FMT(vowel/ee_2)
|
||||
endphoneme
|
||||
|
||||
@@ -84,44 +237,150 @@ endphoneme
|
||||
phoneme &#
|
||||
vowel starttype #e endtype #e
|
||||
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/&)
|
||||
endphoneme
|
||||
|
||||
// PB short &#
|
||||
// "revl" vs. "tremme"
|
||||
phoneme ?&#
|
||||
vowel starttype #e endtype #e
|
||||
length 90
|
||||
FMT(vowel/&)
|
||||
endphoneme
|
||||
|
||||
phoneme a
|
||||
vowel starttype #a endtype #a
|
||||
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)
|
||||
endphoneme
|
||||
|
||||
phoneme A
|
||||
vowel starttype #a endtype #a
|
||||
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)
|
||||
endphoneme
|
||||
|
||||
phoneme u
|
||||
vowel starttype #u endtype #u
|
||||
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)
|
||||
endphoneme
|
||||
|
||||
// PB glottal u
|
||||
// "gud" vs. "guden" - [guD] [g?D@n]
|
||||
// "tude" vs. "tuden" - [tuD3] [t?uD@n]
|
||||
phoneme ?u
|
||||
vowel starttype #u endtype #u
|
||||
length 95
|
||||
length 90
|
||||
FMT(vowel/u_bck)
|
||||
endphoneme
|
||||
|
||||
phoneme o
|
||||
vowel starttype #o endtype #o
|
||||
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)
|
||||
endphoneme
|
||||
|
||||
phoneme O
|
||||
vowel starttype #o endtype #o
|
||||
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)
|
||||
endphoneme
|
||||
|
||||
@@ -129,46 +388,151 @@ endphoneme
|
||||
// "toget" vs. "tåget"
|
||||
phoneme ?O
|
||||
vowel starttype #o endtype #o
|
||||
length 95
|
||||
length 90
|
||||
FMT(vowel/o_5)
|
||||
endphoneme
|
||||
|
||||
phoneme V
|
||||
vowel starttype #@ endtype #@
|
||||
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)
|
||||
endphoneme
|
||||
|
||||
phoneme 0
|
||||
vowel starttype #o endtype #o
|
||||
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)
|
||||
endphoneme
|
||||
|
||||
// ?B short 0 "sukker"
|
||||
phoneme ?0
|
||||
vowel starttype #o endtype #o
|
||||
length 90
|
||||
FMT(vowel/oo_2)
|
||||
endphoneme
|
||||
|
||||
phoneme y
|
||||
vowel starttype #i endtype #i
|
||||
// experiment: changed to short from 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)
|
||||
endphoneme
|
||||
|
||||
// PB glottal y
|
||||
// PB Short y
|
||||
// "kylling" vs. "kyle", "krybbe" vs. "krybe"
|
||||
phoneme ?y
|
||||
vowel starttype #i endtype #i
|
||||
length 95
|
||||
length 70
|
||||
FMT(vowel/y)
|
||||
endphoneme
|
||||
|
||||
phoneme Y
|
||||
vowel starttype #i endtype #i
|
||||
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)
|
||||
endphoneme
|
||||
|
||||
phoneme W
|
||||
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)
|
||||
endphoneme
|
||||
|
||||
@@ -176,7 +540,7 @@ endphoneme
|
||||
// "prøv" vs. "prøve"
|
||||
phoneme ?W
|
||||
vowel starttype #@ endtype #@
|
||||
length 80
|
||||
length 95
|
||||
FMT(vowel/oe)
|
||||
endphoneme
|
||||
|
||||
@@ -184,12 +548,38 @@ endphoneme
|
||||
phoneme W#
|
||||
vowel starttype #@ endtype #@
|
||||
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)
|
||||
endphoneme
|
||||
|
||||
// PB short W#
|
||||
// "rømme"
|
||||
phoneme ?W#
|
||||
vowel starttype #@ endtype #@
|
||||
length 90
|
||||
FMT(vowel/V)
|
||||
endphoneme
|
||||
|
||||
phoneme aI
|
||||
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)
|
||||
endphoneme
|
||||
|
||||
@@ -209,25 +599,24 @@ phoneme v // approximant, not fricative
|
||||
voicingswitch f
|
||||
endphoneme
|
||||
|
||||
|
||||
// PB Actually a kind of schwa = [ɐ]? - "byder" [bˈyðɐʌ]
|
||||
phoneme r // used for 'r' after a vowel (to create a diphthong)
|
||||
liquid
|
||||
lengthmod 7
|
||||
IF nextPhW(isVowel) THEN
|
||||
ipa ɐ̯
|
||||
IF nextPhW(isVowel) AND NOT nextPhW(?V) AND NOT nextPhW(V) THEN
|
||||
ChangePhoneme(R)
|
||||
ENDIF
|
||||
FMT(r/a_)
|
||||
endphoneme
|
||||
|
||||
phoneme R
|
||||
lengthmod 7
|
||||
lengthmod 6
|
||||
liquid
|
||||
ipa ʁ
|
||||
FMT(r/aa)
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
// don't weaken consonants at end of word or before a stop
|
||||
|
||||
phoneme s
|
||||
@@ -243,11 +632,10 @@ phoneme s
|
||||
WAV(ufric/s)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme p
|
||||
vls blb stop
|
||||
voicingswitch b
|
||||
lengthmod 2
|
||||
lengthmod 7
|
||||
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11
|
||||
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22
|
||||
|
||||
@@ -265,12 +653,10 @@ phoneme p
|
||||
WAV(ustop/p)
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
phoneme t
|
||||
vls alv stop
|
||||
voicingswitch d
|
||||
lengthmod 2
|
||||
lengthmod 7
|
||||
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
|
||||
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
|
||||
|
||||
@@ -280,3 +666,28 @@ phoneme t
|
||||
WAV(ustop/t, 90)
|
||||
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
|
||||
@@ -28,8 +28,6 @@
|
||||
//#define SPECT_EDITOR
|
||||
#define INCLUDE_KLATT
|
||||
#define INCLUDE_MBROLA
|
||||
#define INCLUDE_SONIC
|
||||
#define _ESPEAKEDIT
|
||||
|
||||
#include <windows.h>
|
||||
#define PLATFORM_WINDOWS
|
||||
@@ -63,7 +61,7 @@ int LookupMnem(MNEM_TAB *table, const char *string);
|
||||
|
||||
|
||||
|
||||
#define N_PATH_HOME 120
|
||||
#define N_PATH_HOME 230
|
||||
extern char path_home[N_PATH_HOME]; // this is the espeak-data directory
|
||||
|
||||
extern void strncpy0(char *to,const char *from, int size);
|
||||
|
||||
@@ -28,8 +28,6 @@
|
||||
//#define SPECT_EDITOR
|
||||
#define INCLUDE_KLATT
|
||||
#define INCLUDE_MBROLA
|
||||
#define INCLUDE_SONIC
|
||||
#define _ESPEAKEDIT
|
||||
|
||||
#include <windows.h>
|
||||
#define PLATFORM_WINDOWS
|
||||
@@ -63,7 +61,7 @@ int LookupMnem(MNEM_TAB *table, const char *string);
|
||||
|
||||
|
||||
|
||||
#define N_PATH_HOME 120
|
||||
#define N_PATH_HOME 230
|
||||
extern char path_home[N_PATH_HOME]; // this is the espeak-data directory
|
||||
|
||||
extern void strncpy0(char *to,const char *from, int size);
|
||||
|
||||
@@ -36,8 +36,6 @@
|
||||
#define NO_VARIADIC_MACROS
|
||||
#define INCLUDE_KLATT
|
||||
#define INCLUDE_MBROLA
|
||||
#define INCLUDE_SONIC
|
||||
|
||||
|
||||
// will look for espeak_data directory here, and also in user's home directory
|
||||
#define PATH_ESPEAK_DATA "/usr/share/espeak-data"
|
||||
@@ -45,6 +43,11 @@
|
||||
typedef unsigned short USHORT;
|
||||
typedef unsigned char UCHAR;
|
||||
typedef double DOUBLEX;
|
||||
#ifdef __WIN64__
|
||||
typedef uint64_t long64; // use this for conversion between pointers and integers
|
||||
#else
|
||||
typedef unsigned long long64;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -57,7 +60,7 @@ int LookupMnem(MNEM_TAB *table, const char *string);
|
||||
|
||||
|
||||
|
||||
#define N_PATH_HOME 220
|
||||
#define N_PATH_HOME 230
|
||||
extern char path_home[N_PATH_HOME]; // this is the espeak-data directory
|
||||
|
||||
extern void strncpy0(char *to,const char *from, int size);
|
||||
|
||||
@@ -39,8 +39,6 @@
|
||||
#define LIBRARY
|
||||
#define INCLUDE_KLATT
|
||||
#define INCLUDE_MBROLA
|
||||
#define INCLUDE_SONIC
|
||||
|
||||
|
||||
// will look for espeak_data directory here, and also in user's home directory
|
||||
#define PATH_ESPEAK_DATA "/usr/share/espeak-data"
|
||||
@@ -48,6 +46,11 @@
|
||||
typedef unsigned short USHORT;
|
||||
typedef unsigned char UCHAR;
|
||||
typedef double DOUBLEX;
|
||||
#ifdef __WIN64__
|
||||
typedef uint64_t long64; // use this for conversion between pointers and integers
|
||||
#else
|
||||
typedef unsigned long long64;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -60,7 +63,7 @@ int LookupMnem(MNEM_TAB *table, const char *string);
|
||||
|
||||
|
||||
|
||||
#define N_PATH_HOME 120
|
||||
#define N_PATH_HOME 230
|
||||
extern char path_home[N_PATH_HOME]; // this is the espeak-data directory
|
||||
|
||||
extern void strncpy0(char *to,const char *from, int size);
|
||||
|
||||
@@ -41,8 +41,6 @@
|
||||
//#define USE_NANOSLEEP
|
||||
#define INCLUDE_KLATT
|
||||
#define INCLUDE_MBROLA
|
||||
#define INCLUDE_SONIC
|
||||
|
||||
|
||||
// will look for espeak_data directory here, and also in user's home directory
|
||||
#define PATH_ESPEAK_DATA "/usr/share/espeak-data"
|
||||
@@ -50,6 +48,11 @@
|
||||
typedef unsigned short USHORT;
|
||||
typedef unsigned char UCHAR;
|
||||
typedef double DOUBLEX;
|
||||
#ifdef __WIN64__
|
||||
typedef uint64_t long64; // use this for conversion between pointers and integers
|
||||
#else
|
||||
typedef unsigned long long64;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -62,7 +65,7 @@ int LookupMnem(MNEM_TAB *table, const char *string);
|
||||
|
||||
|
||||
|
||||
#define N_PATH_HOME 220
|
||||
#define N_PATH_HOME 230
|
||||
extern char path_home[N_PATH_HOME]; // this is the espeak-data directory
|
||||
|
||||
extern void strncpy0(char *to,const char *from, int size);
|
||||
|
||||
@@ -310,6 +310,11 @@ int LoadDictionary(Translator *tr, const char *name, int no_error)
|
||||
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);
|
||||
} // end of LoadDictionary
|
||||
|
||||
|
||||
+2
-2
@@ -76,9 +76,9 @@ int LookupMnem(MNEM_TAB *table, const char *string);
|
||||
|
||||
|
||||
#ifdef PLATFORM_WINDOWS
|
||||
#define N_PATH_HOME 220
|
||||
#define N_PATH_HOME 230
|
||||
#else
|
||||
#define N_PATH_HOME 150
|
||||
#define N_PATH_HOME 160
|
||||
#endif
|
||||
|
||||
extern char path_home[N_PATH_HOME]; // this is the espeak-data directory
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@
|
||||
#include "translate.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;
|
||||
|
||||
int option_device_number = -1;
|
||||
|
||||
@@ -217,6 +217,7 @@ static const char transpose_map_latin[] = {
|
||||
tr->charset_a0 = charsets[1]; // ISO-8859-1, this is for when the input is not utf8
|
||||
dictionary_name[0] = 0;
|
||||
tr->dict_condition=0;
|
||||
tr->dict_min_size = 0;
|
||||
tr->data_dictrules = NULL; // language_1 translation rules file
|
||||
tr->data_dictlist = NULL; // language_2 dictionary lookup file
|
||||
|
||||
@@ -436,7 +437,7 @@ Translator *SelectTranslator(const char *name)
|
||||
int name2 = 0;
|
||||
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 short stress_lengths_fr[8] = {190, 170, 190, 200, 0, 0, 190, 240};
|
||||
@@ -445,7 +446,7 @@ Translator *SelectTranslator(const char *name)
|
||||
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_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 };
|
||||
|
||||
// convert name string into a word of up to 4 characters, for the switch()
|
||||
|
||||
@@ -555,6 +555,7 @@ typedef struct
|
||||
unsigned char stress_amps_r[8];
|
||||
short stress_lengths[8];
|
||||
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 wchar_t *char_plus_apostrophe; // single chars + apostrophe treated as words
|
||||
const wchar_t *punct_within_word; // allow these punctuation characters within words
|
||||
|
||||
+1
-1
@@ -354,7 +354,7 @@ void TranslDlg::ReadVoice(int variant)
|
||||
wxString filename;
|
||||
char *p;
|
||||
char vname[40];
|
||||
char fname[sizeof(path_home)+10];
|
||||
char fname[sizeof(path_home)+30];
|
||||
|
||||
if(variant)
|
||||
{
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@ typedef struct {
|
||||
int phoneme_tab_ix; // phoneme table number
|
||||
int pitch_base; // Hz<<12
|
||||
int pitch_range; // standard = 0x1000
|
||||
|
||||
|
||||
int speedf1;
|
||||
int speedf2;
|
||||
int speedf3;
|
||||
|
||||
+10
-1
@@ -106,6 +106,7 @@ enum {
|
||||
V_KLATT,
|
||||
V_FAST,
|
||||
V_SPEED,
|
||||
V_DICTMIN,
|
||||
|
||||
// these need a phoneme table to have been specified
|
||||
V_REPLACE,
|
||||
@@ -154,6 +155,7 @@ static MNEM_TAB keyword_tab[] = {
|
||||
{"klatt", V_KLATT},
|
||||
{"fast_test2", V_FAST},
|
||||
{"speed", V_SPEED},
|
||||
{"dict_min", V_DICTMIN},
|
||||
|
||||
// these just set a value in langopts.param[]
|
||||
{"l_dieresis", 0x100+LOPT_DIERESES},
|
||||
@@ -552,9 +554,10 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
char phonemes_name[40];
|
||||
char option_name[40];
|
||||
const char *language_type;
|
||||
char buf[200];
|
||||
char buf[sizeof(path_home)+30];
|
||||
char path_voices[sizeof(path_home)+12];
|
||||
|
||||
int dict_min = 0;
|
||||
int stress_amps[8];
|
||||
int stress_lengths[8];
|
||||
int stress_add[8];
|
||||
@@ -965,6 +968,10 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
SetSpeed(3);
|
||||
break;
|
||||
|
||||
case V_DICTMIN:
|
||||
sscanf(p,"%d",&dict_min);
|
||||
break;
|
||||
|
||||
default:
|
||||
if((key & 0xff00) == 0x100)
|
||||
{
|
||||
@@ -1007,6 +1014,7 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
}
|
||||
voice->phoneme_tab_ix = ix;
|
||||
new_translator->phoneme_tab_ix = ix;
|
||||
new_translator->dict_min_size = dict_min;
|
||||
LoadDictionary(new_translator, new_dictionary, control & 4);
|
||||
if(dictionary_name[0]==0)
|
||||
return(NULL); // no dictionary loaded
|
||||
@@ -1031,6 +1039,7 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
translator = new_translator;
|
||||
}
|
||||
|
||||
|
||||
// relative lengths of different stress syllables
|
||||
for(ix=0; ix<stress_lengths_set; ix++)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user