Merge branch 'upstream' into development

Conflicts:
	dictsource/dict_phonemes
	phsource/compile_report
This commit is contained in:
Reece H. Dunn
2013-03-11 22:13:40 +00:00
40 changed files with 677 additions and 498 deletions
+4
View File
@@ -48,6 +48,10 @@ _у u
v _^_EN // not Roman number
x _^_EN // not Roman number
_?? znak
_?A b'ukva
// symbols
% prots'ent $max3
+ plus $max3
+8 -7
View File
@@ -9,25 +9,26 @@
// precede by _ to distinguish from pronunciation as a language word
_a eI
b bi:
b bi: $atend
?1 bh v // eclipsis
c si:
d di:
d di: $atend
e i:
f Ef
g dZi:
h eItS
g dZi: $atend
h eItS $atend
_i aI
j dZeI
k keI
l El
m Em
n En
m Em $atend
n En $atend
_o oU
p pi:
q kju:
r ar
s Es
t ti:
t ti: $atend
u ju:
v vi:
w d'O#b@lju:
+419 -357
View File
@@ -1,430 +1,492 @@
// translation rules for Irish Gaeilge
// translation rules for Irish Gaeilge
// This file is UTF-8 encoded
// written by Ronan McGuirk January 2013
// Version 2.5B
// Conditional rules
// ?1 allow eclipsis as 2 separate words
.L01 e i é í // slender vowels
.L02 c ch d g gh n s // following ea gets ; sounds
.L03 b bh mb c ch f m mh dh // used for words likemuir or cuid
.L03 b bh mb c ch f m mh dh // used for words likemuir or cuid
.L04 b bh mb // for words like beag
.L05 nn nna nnas dh r s ntas nach nas nais dar mar rtha nta mh chas chais cht chta nnach ntach llach d l ll // word endings where @ is to repleace ea or a
.L06 aidh idh aí á eá eadh adh ad imid aimid imis aimis ainn inn idís aidís éin // word endings where f changes to h
.L07 b c g ch bh gh mb
.L07 b c g ch bh gh mb
.L08 lc ll nt bhse // for words like cailc
.L09 cl cr chr f
.L10 c ch p ph gl ghl
.L11 c dh gh the s nn nne nt tiúil tiúla tíochta theoir theora ste steach ll llí llín g gí mse // word endings preceded by ai
.L10 c ch p ph gl ghl
.L11 c dh gh the s nn nne nt tiúil tiúla tíochta theoir theora ste steach ll llí llín g gí mse // word endings preceded by ai
.L12 á é ó eo ua // when followed by i
.L13 oc omb
.L13 oc omb
.L14 río dún gnío // followed with mh
.L15 c ch f m d dh g gc gh mh // aoi following
.L16 b c bh ch gr ghr // for inn word ending
.L17 l le li niste nn
.L18 n nt nte neann neadh ntear nim nfear nfinn
.L19 na nea ra rea la llea arga // word endings with silent dh
.L17 l le li niste nn
.L18 n nt nte neann neadh ntear nim nfear nfinn
.L19 na nea ra rea la llea arga // word endings with silent dh
.L20 eo eoir eá eabh io iu iú // slender m
.L21 ll nn ndán nntán
.L22 eadh eag eaga eagán eagáinín eo io iu iú eall eabh ealtaine
.L23 ea eo i
.L23 ea eo i
.L24 b mb bh g gh p ph bp m mh
.group a
a 0#
a (_ @
adh (a aI // words like radharc
adh (C aI
abht aU#t[
amhr aUr // words like amhras
K) amhl aUl
abhra aUr@ // words like slabhra
aghaidh aIg
t) abhair u:@r
th) abhair u:@r
t) abhar u:@r
th) abhar u:@r
_) an (sL01 @n
_) an (- 0n // an prefix
é) a @ // words like féach
X) a (nn_ aU#
X) a (ll_ aU#
abha aU@
am (pla aUm
ama(_ aU#m@
athair 'ah@r
_) amh aU
agha aI@
agh (d aI
agh (s aI
_) ath 0h
a 0#
a (_ @
adh (a aI // words like radharc
adh (C aI
abht aU#t[
amhr aUr // words like amhras
K) amhl aUl
abhra aUr@ // words like slabhra
aghaidh aIg
t) abhair u:@r
th) abhair u:@r
t) abhar u:@r
th) abhar u:@r
_) an (sL01 @n
_) an (- 0n // an prefix
é) a @ // words like féach
X) a (nn_ aU#
X) a (ll_ aU#
abha aU@
am (pla aUm
ama (_ aU#m@
athair 'ah@r
_) amh aU
agha aI@
agh (d aI
agh (s aI
_) ath 0h
ai (m_ @
aí i:
aoi @i:
_) aoi i:
ath) aoi (r 'i:@
r) aoi (nín 'e:@
aoicht (_ 'i:@xt[
C) ao (C @e:@
_L24) ao (C w'e:@
C) ao (th_ @e:
b) ao (++ we:@
b) ao (th_++ we:
ao @e
_) ao e:
ae e:
amhna (_ aUn@
ai (m_ @
aí i:
aoi @i:
_) aoi i:
ath) aoi (r 'i:@
r) aoi (nín 'e:@
aoicht (_ 'i:@xt[
C) ao (C @e:@
_L24) ao (C w'e:@
C) ao (th_ @e:
b) ao (++ we:@
b) ao (th_++ we:
ao @e
_) ao e:
ae e:
amhna (_ aUn@
.group á
á A:
@) á ,A:
ádh A:
áthair (_ A:h@r
áthar A:h@r
ái (p A:
áinig A:nIg
ái 'A:i
á A:
@) á ,A:
ádh A:
áthair (_ A:h@r
áthar A:h@r
ái (p A:
áinig A:nIg
ái 'A:i
.group ai
ai a#
L04) ai (L17 0#
aile (_ '0l;E // words like baile
Xc) ai (l '0#
ch) ai (l '0#
m) ai (n 0#
c) ai (th 0#
ch) ai (th 0#
ai (d 0#
p) ai (l 0#
@) ai (L11_ I
ai (L08+ aI#
c) ai (l_ I
ai (msi 'aI // words like aimsir
_L04) ai (L18_++ u1'I//words like bain
c) ai (t_ u1'I
s) ai (bh E
aighre aIr@
X) aigh 'aI
aigh aI# L04) aill (_ wi:l
aing (_ Ing
ai a#
L04) ai (L17 0#
aile (_ '0l;E // words like baile
Xc) ai (l '0#
ch) ai (l '0#
m) ai (n 0#
c) ai (th 0#
ch) ai (th 0#
ai (d 0#
p) ai (l 0#
@) ai (L11_ I
ai (L08+ aI#
c) ai (l_ I
ai (msi 'aI // words like aimsir
_L04) ai (L18_++ u1'I//words like bain
c) ai (t_ u1'I
s) ai (bh E
aighre aIr@
X) aigh 'aI
aigh aI# L04) aill (_ wi:l
aing (_ Ing
.group b
b b // broad
L01) b b; // slender
b (L22 bj //slender
bh v // broad
bh (_ vv
bh (L22 vj // slender
L01) bh v
_) bhf v /urú broad
_) bhf (L22 v; // urú slender
_) bp b //urú broad
_) bp (L01 b; // urú slender
a) bh (a U// for example cabhair
ear) bha u: // words like Cearbhall
bhfaigh v'aI
b b // broad
L01) b b; // slender
b (L22 bj //slender
bh v // broad
bh (_ vv
bh (L22 vj // slender
L01) bh v
?1 _m_) b (@
_) bhf v // urú broad
_) bhf (L22 v; // urú slender
_) bp b // urú broad
_) bp (L01 b; // urú slender
?1 _) bh (_f v // urú broad
?1 _) bh (_fL22 v; // urú slender
?1 _) b (_p b // urú broad
?1 _) b (_pL01 b; // urú slender
a) bh (a U // for example cabhair
ear) bha u: // words like Cearbhall
bhfaigh v'aI
.group c
c k
c (L01 k; // slender
ch x
ch (L01 C;
ch (é+ C;
ch (ei+ x;
_) cabhr k'aUr
_) chabhr x'aUr
c k
c (L01 k; // slender
ch x
ch (L01 C;
ch (é+ C;
ch (ei+ x;
?1 _g_) c (@
?1 _g_) c (L01
_) cabhr k'aUr
_) chabhr x'aUr
.group d
d d[ // broad
L01) d dZ // slender
d (L22 dZ //slender
d (L01 d; //slender
i) d (i dZ
dh Q // broad
dh (ui Q //broad
dh (ao Q //broad
dh (L01 j // slender
_) dt d[ //broad urú
_) dt (L01 dZ // slender urú
_) d' (@P2 d
i) dh (_ g
a) dh (_ X
o) dh (_ X
L19) dh (_ // silent dh at wrd end
Va) dh (_+
deartháir dr@h'A:r
dheartháir gr@h'A:r
deirfiúr d;r@f'u:r
dheirfiúr g;r@f'u:r
d d[ // broad
L01) d dZ // slender
d (L22 dZ // slender
d (L01 d; // slender
i) d (i dZ
?1 _n_) d (@
dh Q // broad
dh (ui Q // broad
dh (ao Q // broad
dh (L01 j // slender
_) dt d[ // broad urú
_) dt (L01 dZ // slender urú
?1 _) d (_t d[
?1 _) d (_tL01 dZ
_) d' (@P2 d
i) dh (_ g
a) dh (_ X
o) dh (_ X
L19) dh (_ // silent dh at wrd end
Va) dh (_+
deartháir dr@h'A:r
dheartháir gr@h'A:r
deirfiúr d;r@f'u:r
dheirfiúr g;r@f'u:r
.group e
e E#
eá A:
ei E
eidh (C aI
r) ei (m aI
eighea aI
eighea aI
eigh aI
eo o:
eogh o:
d) eo (ch O#
_) eo (ch O#
s) eo (_ @
e E#
eá A:
ei E
eidh (C aI
r) ei (m aI
eighea aI
eighea aI
eigh aI
eo o:
eogh o:
d) eo (ch O#
_) eo (ch O#
s) eo (_ @
.group é
é 'e:
éi 'e:
_) éi (rig aI // words like éirigh
_) éi (rí aI // words like éirí
_) éireoidh aIro:Ig
éacs e:@ks
é 'e:
éi 'e:
_) éi (rig aI // words like éirigh
_) éi (rí aI // words like éirí
_) éireoidh aIro:Ig
éacs e:@ks
.group ea
ea a#
X) ea (L21_ aU
ea (ltaine aU
g) ea (ll aU
X) ea (ch 0
_L04) ea (g @
_L04) ea (dh_ @
_L04) eagn @gn
L04) eaga (_ @g@
eaghl aIl
eabhra aUr@ // words like Feabhra
eanbhean 'an@v,an
eadhb aIb
ea a#
X) ea (L21_ aU
ea (ltaine aU
g) ea (ll aU
X) ea (ch 0
_L04) ea (g @
_L04) ea (dh_ @
_L04) eagn @gn
L04) eaga (_ @g@
eaghl aIl
eabhra aUr@ // words like Feabhra
eanbhean 'an@v,an
eadhb aIb
.group f
f f // broad
f (L22 f; // slender
fh //silent
fh (éin_ h
fh (L22 ; //slender
@) f (L06_ h
f f // broad
f (L22 f; // slender
fh // silent
fh (éin_ h
fh (L22 ; // slender
@) f (L06_ h
?1 _bh_) f (@
?1 _bh_) f (L22 ;
.group g
g g // broad
g (L01 g; // slender
_) gh Q"
_) gh (L01 Q"j
_) gc g // urú broad
_) gc (L01 g; // urú slender
i) gh (_ g
@C) gh (@ X
_) gn g@n
gh(n X@
gheobh j'o:
gabh gaU
g g // broad
g (L01 g; // slender
?1 _n_) g (@
_) gh Q"
_) gh (L01 Q"j
_) gc g // urú broad
_) gc (L01 g; // urú slender
?1 _) g (_c g // urú broad
?1 _) g (_cL01 g; // urú slender
i) gh (_ g
@C) gh (@ X
_) gn g@n
gh (n X@
gheobh j'o:
gabh gaU
.group h
h h // silent
h h // silent
.group i
i I
_) i I
ia i@
ia (tha i:
io O#
_) io (nadh u:// words like ionadh
_pr) io (n u:
L16) inn (_ i:n
iai i:i
impeall i:mp@l
io (s I //words like fios and liosta
L12) i i // non syllabic short i after long vowel
iú u:
m) i (d_ i: // verb ending
.group k
k k
i I
_) i I
ia i@
ia (tha i:
io O#
_) io (nadh u:// words like ionadh
_pr) io (n u:
L16) inn (_ i:n
iai i:i
impeall i:mp@l
io (s I //words like fios and liosta
L12) i i // non syllabic short i after long vowel
iú u:
m) i (d_ i: // verb ending
.group í
í 'i:
.group l
l l // broad
L01) l ( l; // slender
l (L23 l; //slender
ll l
ll (L23 l;
l (g l@
l (b l@
l l // broad
L01) l l; // slender
l (L23 l; //slender
ll l
ll (L23 l;
l (g l@
l (b l@
.group m
m m // broad
m (L20 m; //slender
mh v
mh (L20 v; // slender
_) mb m //urú
_) mb (L22 m; // urú slender
_) m (n m@// words like mná
L14) mh v
_) mh (n v@
léir) mheas vas
r) m @m // words like gorm
m m // broad
m (L20 m; //slender
mh v
mh (L20 v; // slender
_) mb m // urú
_) mb (L22 m; // urú slender
?1 _) m (_b m // urú
?1 _) m (_bL22 m; // urú slender
_) m (n m@// words like mná
L14) mh v
_) mh (n v@
léir) mheas vas
r) m @m // words like gorm
.group n
n n // broad
n (L01 n; // slender
_) nd n // urú
_) nd (L01 n; // urú slender
nn n
nn (L01 n; // slender
n (b n@
n (m n@
n (bh n@ n(ch n@
c) n @n
ch) n @n
n n // broad
n (L01 n; // slender
?1 _) n (_L01 n;
_) nd n // urú
_) nd (L01 n; // urú slender
_) ng n
_) ng (L01 n;
?1 _) n (_d n // urú
?1 _) n (_dL01 n; // urú slender
?1 _) n (_g n
?1 _) n (_gL01 n;
nn n
nn (L01 n; // slender
n (b n@
n (m n@
n (bh n@
n (ch n@
c) n @n
ch) n @n
.group o
o O#
_) o 'O
C) o (cht_ 'O
orn (_ 'Or@n
o O#
_) o 'O
C) o (cht_ 'O
orn (_ 'Or@n
_C) omh o:
_CC) omh o:
omha o:@
omhai o:@
o (ll_ aU
C) o (nn_ aU
r) o (nn_ O#
C) ogh aU
omhan(_ aU@n
omhain (_ aUIn
odha aU
opaic @pIk
C) odh (_ o:
odl (a O#l
oí i:
_C) omh o:
_CC) omh o:
omha o:@
omhai o:@
o (ll_ aU
C) o (nn_ aU
r) o (nn_ O#
C) ogh aU
omhan (_ aU@n
omhain (_ aUIn
odha aU
opaic @pIk
C) odh (_ o:
odl (a O#l
oí i:
.group ó
ó 'o:
ómhai o:@
ó 'o:
ómhai o:@
.group oi
oi O
_L15) oi (+ @'I
_) oi (b I
oi (de I
h) oi (b I
_) oi (r I
r) oi I
l) oi (n I
f) oi (lC aI
l) oi (g I
fh) oi (lC aI
s) oi (ls aI#
c) oi (c aI#
oi (nnío @
oi (mis @
ois (++ O#S
oill w'i:l
_) oi (leá 'I
oidh aI
oir (_ 'ERR
oigh (ea aI
.group p
p p // broad
ph f //broad
p (L22 p; //slender
ph (L20 f; // slender
oi O
_L15) oi (+ @'I
_) oi (b I
oi (de I
h) oi (b I
_) oi (r I
r) oi I
l) oi (n I
f) oi (lC aI
l) oi (g I
fh) oi (lC aI
s) oi (ls aI#
c) oi (c aI#
oi (nnío @
oi (mis @
ois (++ O#S
oill w'i:l
_) oi (leá 'I
oidh aI
oir (_ 'ERR
oigh (ea aI
.group p
p p // broad
ph f // broad
p (L22 p; // slender
ph (L20 f; // slender
?1 _b_) p (@
.group q
q k
qu k
.group r
r r // broad
L01) r R // slender
_) r (L01 R
L12i) r (e_ Z
L12i) r (t_ Z
rr R
rg r@g
L01) rg R@g // slender
r (bh r@
ríomh ri:@v
s) r (A R
_) ramh raU
r r // broad
L01) r R // slender
_) r (L01 R
L12i) r (e_ Z
L12i) r (t_ Z
rr R
rg r@g
L01) rg R@g // slender
r (bh r@
ríomh ri:@v
s) r (A R
_) ramh raU
.group s
s s // broad
L01) s S // slender
s (L01 S // slender
s (cL01 S
s (CCL01 S // slender
s (pCé s // broad
sh h
sh (CL01 h
sh (L01 h;
s (lL01 S
s s // broad
L01) s S // slender
s (L01 S // slender
s (cL01 S
s (CCL01 S // slender
s (pCé s // broad
?1 _t_) s (@
sh h
sh (CL01 h
sh (L01 h;
s (lL01 S
.group t
t t[ // broad
L01) t c // slender
t (í++n tS //slender
t (eo++ tS
t (L01 c // slender
L01C) t tS //slender after consonant
t (CL01 tS // slender with following consonant before vowels
th h
th (L01 h;
L01C) th h
_) ts t[ //eclipsis broad
_) ts (L01 t; // eclipsis slender
L01) th h
taine (_ t[In%E
ao) th (_
thne (_ h@nE
A) th (_ // silent th at word end
t t[ // broad
L01) t c // slender
t (í++n tS // slender
t (eo++ tS
t (L01 c // slender
?1 _) t (_L01 c
L01C) t tS // slender after consonant
t (CL01 tS // slender with following consonant before vowels
?1 _d_) t (@
th h
th (L01 h;
L01C) th h
_) ts t[ // eclipsis broad
_) ts (L01 t; // eclipsis slender
?1 _) t (_s t[ // eclipsis broad
?1 _) t (_sL01 t; // eclipsis slender
L01) th h
taine (_ t[In%E
ao) th (_
thne (_ h@nE
A) th (_ // silent th at word end
.group u
u U#
ua u@
uai u@
uai (g ui
uai (d ui
uá u:'A:
ui I
uinn (_ 'i:n
uinti U#'i:ntI
_b) uí wi:
_bh) uí wi:
g) uí wi:
umh u:
L03) ui @I
_d) u (l_ O#
g) ui (gh_ @i:
gh) ui (gh_ @i:
uí i:
uachai 'ux@
.group ú
ú u:
únmh u:nv
u U#
ua u@
uai u@
uai (g ui
uai (d ui
uá u:'A:
ui I
uinn (_ 'i:n
uinti U#'i:ntI
_b) uí wi:
_bh) uí wi:
g) uí wi:
umh u:
L03) ui @I
_d) u (l_ O#
g) ui (gh_ @i:
gh) ui (gh_ @i:
uí i:
uachai 'ux@
úi (r u:
.group ú
ú u:
únmh u:nv
úi (r u:
// words which contain j k q v w x y z, speak as English
.group j
j dZ
j _^_EN
.group k
k _^_EN
.group q
q k
qu (A kw
q _^_EN
.group v
v v
v _^_EN
.group w
w w
w _^_EN
.group x
x ks
_) x z
x _^_EN
.group y
y (A j
_A) y j
y i
y _^_EN
.group z
z z
z _^_EN
.group
í 'i:
+1
View File
@@ -5419,6 +5419,7 @@ _″ duplA|ApostR2o:f
≠ nEmEJEnlY:
_ˇ lEfEle:n^i:l
_¡ AlSo:indEks
_braille bR2Ail:E
// Alphabets
+1
View File
@@ -1166,6 +1166,7 @@ _tetszé) s S
körö) s (szeg S
kolbászo) s S
feldolgozá) s S
_ki) s (szín S
.group ss
ssz ss2
+6 -2
View File
@@ -1399,6 +1399,7 @@ vondel $alt
accessoire aksEsw'ar@
accessoires aksEsw'ar@s
actiepunt Aksip8nt
adhesie Ath'e:zi
agenda $2
aldus Ald'8s
alles Al@s
@@ -1409,7 +1410,6 @@ armand _^_FR
augustus VUQ'8st8s
bacterie bAkt'I:ri
banengids $alt3
bascule $2
beha be:_h'a:
beige bEZ@
benard b@nArt
@@ -1438,15 +1438,16 @@ chassis SAs'i
chat tSEt
check tSEk
chiffon Sif'On
cohesie $2
contour ko:nt'ur
controle $2
coureur ku:r'Y:r
crèches krES@s
damascering damA;s'e:rIN
december $2
desillusie dEsIlyzi
dieet $2
diesel diz@l
discipline $3
//discussie $2
divers div'Ers
diftongering dIft,ON'e:rIN
@@ -1456,7 +1457,9 @@ eensgelijks e:nsQ@l'EIks
elfstedentocht ,Elf'ste:d@ntoQt
embouchuur A~buS'yr // embouchure
enorm $2
erosie e:r'o:zi
eucharistie $4
explosie $2
februari fe:bry'a:ri
fiche fiS@
franchise frA'Si:z@
@@ -1474,6 +1477,7 @@ ingevolge $3
ingrediënt $4
ingenieur Inzj@nj'Y:r
informatie $3
invasie $2
januari $3
kadaster $2
mangat $alt3
+14 -2
View File
@@ -254,12 +254,14 @@
@) es (_S2qd 'Es // double the previous vowel
@) es (_$w_alt2S1 s // just remove 's'
KAC) es (_S2e @s
es (ie_ e:z
@) essen (_S5qd 'Es@n
@) eres (_S4qd @r'Es
@) eressen (_S7sq @r'Es@n
@) etten (_S3 @n
@) es (_$p_alt @s // for wors which end on [@] with multiple on 's'.
@) esisch 'e:zis
euille @'y
eum (_$w_alt 'e:8m
@mus) eum (_ ,e:8m // compounds
@@ -370,6 +372,7 @@
m) ie (_ 'i
p) ie (_ 'i
ss) ie (_ =i
s) ië (_ =i@
ieus (_ ij'Y:s
ieuze (_ ij'Y:z@
ieuzer (_ ij'Y:z@r
@@ -393,6 +396,9 @@
ie (CtjeX_ 'i
ie (ren_ 'i
ie (rd_ 'i
iën (_ 'i@n
CAns) ie (_ =i
CAss) ie (_ =i
@) ig (_S2dq =@x
@) ige (_S3dq =@Q@
@) igen (_ =@Q@n
@@ -409,6 +415,9 @@
&) iko (_ =iko:
_) in (C@P2 'In
// _) in (gP2 'In
_) in (do In
ine (_ 'in@
ines (_ 'in@s
io (nage iO
io (de_ i'o:
iodes (_ i'o:d@s
@@ -532,7 +541,6 @@ _) inn (@P2 'I // ?? inneren
pl) oi (t v#A
c) oi (ffu v#A
pr) o (gram o:
_) on (@P2 %On
oo (X 'o:
oon 'o:n // in compounds, eg. telefoongesprek
oo (C_ 'o:
@@ -555,6 +563,7 @@ _) inn (@P2 'I // ?? inneren
.group on
_) on (@P2 %On
_) onaan (@P5 On'a:n
_) onder (@P5 'Ond@r
_) onge (@P4 ,OnQ@
@@ -579,6 +588,7 @@ _) inn (@P2 'I // ?? inneren
.group p
p p
p) p
@@ -653,6 +663,7 @@ _) inn (@P2 'I // ?? inneren
@) si (o S
A) si (o Z
@) ssi (o S
CAr) sie (_ =zi
_) standaard (@P9 st'Anda:rt
@) straat (_S6 stra:t
@@ -727,6 +738,7 @@ _) inn (@P2 'I // ?? inneren
uw (_ yU
_) uit (@P3 'Wyt
uul (_ 'yl // from -ule
us (_ 8s
u (sie_ 'y
@) ute (_ 'yt
+18 -10
View File
@@ -319,18 +319,19 @@ umas $u $nounf
// pronouns
eu $u+ $verbf
tu $u+
você vose $u2+
ele 'ely $u+
ela $u+
nós $u+
vós $u+
vocês $u2+
eles $u+
elas $u+
tu $u+ $verbf
você vose $u2+ $verbf
ele 'ely $u+ $verbf
ela $u+ $verbf
nós $u+ $verbf
vós $u+ $verbf
vocês $u2+ $verbf
eles $u+ $verbf
elas $u+ $verbf
me $u // reflexive
te $u
me $u $verbf
te $u $verbf
nos $u $nounf
la $u
lo $u
@@ -743,9 +744,12 @@ corvos $alt
coto $alt2
cratera $alt
crede $alt2
decore $alt
desapego $alt2 $noun
descabelo $alt
descordo $alt
desemprego $alt2
desemprego $alt $verb
desespero $alt2 $noun
desfecho $alt2
desprezo $alt2 $noun
@@ -854,6 +858,7 @@ jogo $alt2 $noun
joguete $alt2
lambreta $alt2
lebre $alt
leste $alt2 $verb
lopes $alt
maior $alt
maleta $alt2
@@ -918,6 +923,7 @@ paralelo $alt
parede $alt2
pastora $alt2
pedra $alt
pela $alt $verb
pelego $alt2
pelo $alt $verb
peso $alt $verb
@@ -986,7 +992,9 @@ sufocos $alt2
suporto $alt
suor swOr
tapete $alt2
temores $alt2
tempero $alt2 $noun
terrores $alt2
teta $alt2
tetra $alt
tocha $alt
+46 -25
View File
@@ -359,30 +359,36 @@
_perd) e (L05_ e
_quis) e (L05_ E
_soub) e (L05_ E
tend) e (L06_ e / a- con- en- es-
_mord) e (L06_ e
_rend) e (L06_ e
_vend) e (L06_ e
tend) e (L06_ e / a- con- en- es-
_compreend) e (L06_ e
prend) e (L06_ e / a- rea- des- desa-
_arrepend) e (L06_ e
_defend) e (L06_ e
_depend) e (L06_ e
_escond) e (L06_ e
preend) e (L06_ e / com- a- re- sur-
respond) e (L06_ e // cor-
_enraivec) e (L07_ e
_espairec) e (L07_ e
bat) e (L07_ e // re- com-
ced) e (L07_ e // pro- con- su-
met) e (L07_ e // co- pro- arre- re- intro- compro- sub-
mov) e (L07_ e / re- co-
viv) e (L07_ e // re-
_beb) e (L07_ e
_com) e (L07_ e
_tem) e (L07_ e
colh) e (L07_ e // & es-
corr) e (L07_ e // per- con- in- so- dis-
ench) e (L07_ e / pre-
nasc) e (L07_ e / re-
tend) e (L07_ e / en- con- a- es-
torc) e (L07_ e // con-
venc) e (L07_ e // con-
vert) e (L07_ e // in- re- con-
volv) e (L07_ e de- en- re-
_eleg) e (L07_ e
_ergu) e (L07_ e
_escond) e (L06_ e
_mord) e (L06_ e
_mord) e (L07_ e
_morr) e (L07_ e
_perd) e (L07_ e
@@ -390,48 +396,54 @@ _escond) e (L06_ e
merec) e (L07_ e // des-
padec) e (L07_ e // com-
parec) e (L07_ e // a- rea- com- desa-
prend) e (L07_ e // a- rea- des-
screv) e (L07_ e / e- in- ree- pre- de-
_abastec) e (L07_ e
_aborrec) e (L07_ e
_absolv) e (L07_ e
_adoec) e (L07_ e
_adormec) e (L07_ e
_agradec) e (L07_ e
_amanhec) e (L07_ e
_amolec) e (L07_ e
_anoitec) e (L07_ e
_arrepend) e (L06_ e
_arrepend) e (L07_ e
_cresc) e (L07_ e
_defend) e (L06_ e
_defend) e (L07_ e
_depend) e (L06_ e
_depend) e (L07_ e
_desguarnec) e (L07_ e
_emagrec) e (L07_ e
_endurec) e (L07_ e
_enlouquec) e (L07_ e
_enraivec) e (L07_ e
_entristec) e (L07_ e
_envaidec) e (L07_ e
_envelhec) e (L07_ e
_esclarec) e (L07_ e
_escond) e (L07_ e
_escurec) e (L07_ e
_espairec) e (L07_ e
_esquec) e (L07_ e
_interromp) e (L07_ e
obedec) e (L07_ e / des-
_suspend) e (L07_ e
_perec) e (L07_ e
_rejuvenec) e (L07_ e
aprend) e (L07_ e // re-
_resolv) e (L07_ e
_suspend) e (L07_ e
conhec) e (L07_ e // & re- des-
tend) e (L07_ e / en- con- a- es-
estabelec) e (L07_ e / re-
favorec) e (L07_ e / des-
obedec) e (L07_ e / des-
preend) e (L07_ e // sur- com-
proteg) e (L07_ e / des-
respond) e (L07_ e // cor-
qu) e (brL04_ E
acel) e (rL04_ E / des-
_hosp) e (dL03_ E
_amort) e (çL03_ e
_in) e (ptL03_ E
_gr) e (gL03_ e
_n) e (grL03_ e
_estr) ei (L03_ EI
_inv) e (jL04_ E
_dec) e (pL04_ E
_in) e (ptL03_ E
_p) e (quL02_ E
_s) e (quL02_ E
l) e (que_ E
@@ -446,6 +458,7 @@ _amort) e (çL03_ e
_sup) e (rL04_ E
_tol) e (rL04_ E
_ven) e (rL04_ E
acel) e (rL04_ E / des-
_coop) e (rL04_ E
_temp) e (rL04_ E
_v) e (rbL03_ E
@@ -459,12 +472,12 @@ _amort) e (çL03_ e
_bez) e (rrL03_ e
_inv) e (rtL03_ e
_f) e (rvL03_ e
_enraiv) e (çL03_ e
_p) e (sL01_ E
_d) e (scL02_ E
_cr) e (scL02_ E
_p) e (scL03_ E
_m) e (sclL04 E
_d) e (spL02_ E
_p) e (squL02_ E
_l) e (ssL02_ e
_esp) e (ssL03_ e
@@ -486,35 +499,39 @@ _embel) e (zL04_ E
_acont) e (çL01_ e
_arref) e (çL01_ e
_emagr) e (çL03
pr) e (çL03_ e / a-
mer) e (çL03_ e / des-
pad) e (çL03_ e // com-
par) e (çL03_ e // a- re- com- rea- desa-
_ado) e (çL03_ e
_aqu) e (çL03_ e
_car) e (çL03_ e
_mer) e (çL03_ e
pad) e (çL03_ e // com-
_per) e (çL03_ e
_per) e (çL03_ e_
conh) e (çL03_ e // re-
obed) e (çL03_ e / des-
_esqu) e (çL03_ e
_forn) e (çL03_ e
obed) e (çL03_ e / des-
_ofer) e (çL03_ e
pr) e (çL03_ e / a-
_espair) e (çL03_ e
abast) e (çL03_ e // re-
_aborr) e (çL03_ e
_agrad) e (çL03_ e
_amanh) e (çL03_ e
_amort) e (çL03_ e
_anoit) e (çL03_ e
_desguarnec) e (çL03_ e
_enfraqu) e (çL03_ e
_enlouqu) e (çL03_ e
_enraiv) e (çL03_ e
_enriqu) e (çL03_ e
_entrist) e (çL03_ e
_envaid) e (çL03_ e
_envelh) e (çL03_ e
_esclar) e (çL03_ e
_espair) e (çL03_ e
_estrem) e (çL03_ e
_fortal) e (çL03_ e
_rejuven) e (çL03_ e
estabel) e (çL03_ e / re-
//endsort
@@ -811,8 +828,9 @@ _rejuven) e (çL03_ e
_deb) o (chL04_ O
_desabr) o (chL04_ O
_s) o (frL02_ O
r) o (gL04_ O / inter-
_j) o (gL04_ O
_r) o (gL04_ O
_af) o (gL04_ O
_adv) o (gL04_ O
_ref) o (gL04_ O
_ap) oi (L01_ OI
@@ -822,6 +840,7 @@ _desabr) o (chL04_ O
_m) o (lhL04_ O
env) o (lvL02_ O / des-
_abs) o (lvL02_ O
_dev) o (lvL02_ O
_res) o (lvL02_ O
_rev) o (lvL02_ O
_ent) o (pL02_ O
@@ -835,6 +854,8 @@ _desabr) o (chL04_ O
_r) o (snL04_ O
_c) o (spL02_ O
p) ostos (_ Ost=Us# // dispostos etc.
_ad) o (çL03_ O
_end) o (çL03_ O
//endsort
.group ô
@@ -909,7 +930,7 @@ _desabr) o (chL04_ O
r (C *@-
A) r (A *
A) r (_A *
rr x
rr rx
XC) r (A R
C) r (A *
//?1 C) r (A r
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+17
View File
@@ -120,6 +120,23 @@ phoneme kh
WAV(ustop/k_asp, 90)
endphoneme
phoneme k#
vls vel stop
lengthmod 2
voicingswitch g
Vowelin f1=1 f2=1400 -100 100 f3=-150 80
Vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20
IF nextPh(isPause2) THEN
WAV(ustop/k_asp, 40)
ENDIF
IF nextPhW(#e) OR nextPhW(#i) THEN
WAV(ustop/k_asp_e, 40)
ELIF nextPhW(#o) OR nextPhW(#u) THEN
WAV(ustop/k_asp_a, 25)
ELSE
WAV(ustop/k_asp_a, 30)
ENDIF
endphoneme
phoneme s2 // second part of a long [s:]
vls alv frc sibilant
+2 -2
View File
@@ -77,9 +77,9 @@ phoneme k#
IF nextPhW(#e) OR nextPhW(#i) THEN
WAV(ustop/k_asp_e, 40)
ELIF nextPhW(#o) OR nextPhW(#u) THEN
WAV(ustop/k_asp_u, 50)
WAV(ustop/k_asp_u, 30)
ELSE
WAV(ustop/k_asp_a, 45)
WAV(ustop/k_asp_a, 35)
ENDIF
endphoneme
+1 -1
View File
@@ -478,7 +478,7 @@ phoneme k
endphoneme
phoneme k#
import_phoneme consonants/kh
import_phoneme consonants/k#
voicingswitch g#
endphoneme
-2
View File
@@ -157,5 +157,3 @@ phoneme s# // This is [s] for Brazil, [S] for Portugal
ipa ʃ
endphoneme
+16
View File
@@ -218,3 +218,19 @@ phoneme *
endphoneme
// testing
phoneme x2
import_phoneme af/x2
endphoneme
phoneme x3
import_phoneme base/x
endphoneme
phoneme R1
import_phoneme base/R
endphoneme
+6 -7
View File
@@ -731,7 +731,7 @@ endphoneme
phoneme n
vcd alv nasal
Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk
Vowelout f1=2 f2=1500 -300 250 f3=-100 80 rms=20 brk
lengthmod 4
IF KlattSynth THEN
@@ -762,8 +762,8 @@ phoneme n.
vcd rfx nasal
ipa ɳ
starttype n endtype n
Vowelin f1=2 f2=1200 -300 250 f3=-500 80 rms=20 colr=2
Vowelout f1=2 f2=1200 -300 250 f3=-500 80 rms=20 brk colr=2
Vowelin f1=2 f2=1700 -300 300 f3=-500 80 rms=20 colr=2
Vowelout f1=2 f2=1700 -300 300 f3=-500 80 rms=20 brk colr=2
lengthmod 4
IF KlattSynth THEN
@@ -1610,9 +1610,9 @@ phoneme x
Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
IF nextPh(isPause) THEN
WAV(ufric/x, 120)
WAV(ufric/x, 110)
ENDIF
WAV(ufric/x_hr, 25)
WAV(ufric/x_hr, 20)
endphoneme
@@ -1624,7 +1624,7 @@ phoneme X
IF nextPh(isPause) THEN
WAV(ufric/xx, 70)
ENDIF
WAV(ufric/xx)
WAV(ufric/xx,80)
endphoneme
@@ -1940,4 +1940,3 @@ include ph_korean
phonemetable kl base
include ph_greenlandic
+51 -41
View File
@@ -578,6 +578,7 @@ void LookupLetter(Translator *tr, unsigned int letter, int next_byte, char *ph_b
} // end of LookupLetter
static const char *hex_letters[] = {"'e:j","b'i:","s'i:","d'i:","'i:","'Ef"}; // using phonemes available to all languages
int TranslateLetter(Translator *tr, char *word, char *phonemes, int control)
{//=========================================================================
@@ -593,6 +594,8 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control)
char *p2;
char *pbuf;
ALPHABET *alphabet;
int al_offset;
int al_flags;
int language;
int phontab_1;
int speak_letter_number;
@@ -633,14 +636,21 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control)
return(0);
}
alphabet = AlphabetFromChar(letter);
al_offset = 0;
al_flags = 0;
if((alphabet = AlphabetFromChar(letter)) != NULL)
{
al_offset = alphabet->offset;
al_flags = alphabet->flags;
}
if(alphabet != current_alphabet)
{
// speak the name of the alphabet
current_alphabet = alphabet;
if((alphabet != NULL) && !(alphabet->flags & AL_DONT_NAME) && (alphabet->offset != translator->letter_bits_offset))
if((alphabet != NULL) && !(al_flags & AL_DONT_NAME) && (al_offset != translator->letter_bits_offset))
{
if((alphabet->flags & AL_DONT_NAME) || (alphabet->offset == translator->langopts.alt_alphabet))
if((al_flags & AL_DONT_NAME) || (al_offset == translator->langopts.alt_alphabet))
{
// don't say the alphabet name
}
@@ -680,7 +690,7 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control)
if(ph_buf[0] == 0)
{
if((alphabet != NULL) && (alphabet->language != 0) && !(alphabet->flags & AL_NOT_LETTERS))
if((alphabet != NULL) && (alphabet->language != 0) && !(al_flags & AL_NOT_LETTERS))
language = alphabet->language;
else
language = L('e','n');
@@ -715,49 +725,27 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control)
if(ph_buf[0] == 0)
{
// character name not found
if((letter >= 0x2800) && (letter <= 0x28ff))
{
// braille dots symbol
Lookup(translator, "_braille", ph_buf);
if(ph_buf[0] == 0)
{
EncodePhonemes("br'e:l", ph_buf, NULL);
}
if(ph_buf[0] != 0)
{
pbuf = ph_buf + strlen(ph_buf);
for(ix=0; ix<8; ix++)
{
if(letter & (1 << ix))
{
*pbuf++ = phonPAUSE_VSHORT;
LookupLetter(translator, '1'+ix, 0, pbuf, 1);
pbuf += strlen(pbuf);
}
}
}
}
if(ph_buf[0]== 0)
{
if(iswalpha(letter))
Lookup(translator, "_?A", ph_buf);
if((ph_buf[0]==0) && !iswspace(letter))
Lookup(translator, "_??", ph_buf);
speak_letter_number = 1;
if(ph_buf[0] == 0)
if(!(al_flags & AL_NO_SYMBOL))
{
EncodePhonemes("l'et@", ph_buf, NULL);
if(translator->letter_bits_offset != 0)
speak_letter_number = 0; // non-latin alphabet, no _?? entry, may not be able to speak hexadecimal
if(iswalpha(letter))
Lookup(translator, "_?A", ph_buf);
if((ph_buf[0]==0) && !iswspace(letter))
Lookup(translator, "_??", ph_buf);
if(ph_buf[0] == 0)
{
EncodePhonemes("l'et@", ph_buf, NULL);
}
}
if(!(control & 2) && (alphabet != NULL) && (alphabet->flags & AL_NOT_CODE))
if(!(control & 2) && (al_flags & AL_NOT_CODE))
{
// don't speak the character code number
// don't speak the character code number, unless we want full details of this character
speak_letter_number = 0;
}
@@ -766,14 +754,36 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control)
if(speak_letter_number)
{
// speak the hexadecimal number of the character code
sprintf(hexbuf,"%x",letter);
if(al_offset == 0x2800)
{
// braille dots symbol, list the numbered dots
p2 = hexbuf;
for(ix=0; ix<8; ix++)
{
if(letter & (1 << ix))
{
*p2++ = '1'+ix;
}
}
*p2 = 0;
}
else
{
// speak the hexadecimal number of the character code
sprintf(hexbuf,"%x",letter);
}
pbuf = ph_buf;
for(p2 = hexbuf; *p2 != 0; p2++)
{
pbuf += strlen(pbuf);
*pbuf++ = phonPAUSE_VSHORT;
LookupLetter(translator, *p2, 0, pbuf, 1);
if(((pbuf[0] == 0) || (pbuf[0]==phonSWITCH)) && (*p2 >= 'a'))
{
// This language has no translation for 'a' to 'f', speak English names using base phonemes
EncodePhonemes(hex_letters[*p2 - 'a'], pbuf, NULL);
}
}
strcat(pbuf, pause_string);
}
+25 -13
View File
@@ -47,7 +47,6 @@ static int SubstitutePhonemes(Translator *tr, PHONEME_LIST *plist_out)
int replace_flags;
int n_plist_out = 0;
int word_end;
int switched_language = 0;
PHONEME_LIST2 *plist2;
PHONEME_TAB *next=NULL;
@@ -55,11 +54,8 @@ static int SubstitutePhonemes(Translator *tr, PHONEME_LIST *plist_out)
{
plist2 = &ph_list2[ix];
if(plist2->phcode == phonSWITCH)
switched_language ^= 1;
// don't do any substitution if the language has been temporarily changed
if(switched_language == 0)
if(!(plist2->synthflags & SFLAG_SWITCHED_LANG))
{
if(ix < (n_ph_list2 -1))
next = phoneme_tab[ph_list2[ix+1].phcode];
@@ -81,6 +77,9 @@ static int SubstitutePhonemes(Translator *tr, PHONEME_LIST *plist_out)
if((replace_flags & 2) && ((plist2->stresslevel & 0x7) > 3))
continue; // this replacement doesn't occur in stressed syllables
if((replace_flags & 4) && (plist2->sourceix == 0))
continue; // this replacement only occurs at the start of a word
// substitute the replacement phoneme
plist2->phcode = replace_phonemes[k].new_ph;
if((plist2->stresslevel > 1) && (phoneme_tab[plist2->phcode]->phflags & phUNSTRESSED))
@@ -117,7 +116,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
PHONEME_TAB *next, *next2;
int unstress_count = 0;
int word_stress = 0;
int switched_language = 0;
int current_phoneme_tab;
int max_stress;
int voicing;
int regression;
@@ -166,6 +165,20 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
}
}
// look for switch of phoneme tables
current_phoneme_tab = tr->phoneme_tab_ix;
for(j = 0; j < n_ph_list2; j++)
{
if(plist2[j].phcode == phonSWITCH)
{
current_phoneme_tab = plist2[j].tone_ph;
}
if(current_phoneme_tab != tr->phoneme_tab_ix)
{
plist2[j].synthflags |= SFLAG_SWITCHED_LANG;
}
}
if((regression = tr->langopts.param[LOPT_REGRESSIVE_VOICING]) != 0)
{
// set consonant clusters to all voiced or all unvoiced
@@ -180,10 +193,12 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
if(ph == NULL)
continue;
if(ph->code == phonSWITCH)
switched_language ^= 1;
if(switched_language)
if(plist2[j].synthflags & SFLAG_SWITCHED_LANG)
{
stop_propagation = 0;
voicing = 0;
continue;
}
type = ph->type;
@@ -295,8 +310,6 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
ph = phoneme_tab[phonPAUSE];
ph_list3[0].ph = ph;
switched_language = 0;
for(j=0; insert_ph || ((j < n_ph_list3) && (ix < N_PHONEME_LIST-3)); j++)
{
plist3 = &ph_list3[j];
@@ -333,7 +346,6 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
// change phoneme table
SelectPhonemeTable(plist3->tone_ph);
switched_language ^= SFLAG_SWITCHED_LANG;
}
next = phoneme_tab[plist3[1].phcode]; // the phoneme after this one
plist3[1].ph = next;
@@ -534,7 +546,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
phlist[ix].ph = ph;
phlist[ix].type = ph->type;
phlist[ix].env = PITCHfall; // default, can be changed in the "intonation" module
phlist[ix].synthflags = plist3->synthflags | switched_language;
phlist[ix].synthflags = plist3->synthflags;
phlist[ix].stresslevel = plist3->stresslevel & 0xf;
phlist[ix].wordstress = plist3->wordstress;
phlist[ix].tone_ph = plist3->tone_ph;
+6 -2
View File
@@ -224,6 +224,7 @@ void ProsodyDisplay::SelectPh(int index)
const char *name = "?";
char buf[120];
char len_string[20];
char param_string[20];
if(index < 0) return;
@@ -245,11 +246,14 @@ void ProsodyDisplay::SelectPh(int index)
y1 = p->pitch1;
y2 = p->pitch2;
len_string[0] = 0;
param_string[0] = 0;
if(p->std_length > 0)
sprintf(len_string," Length %d", p->std_length*2);
if(p->sound_param != 0)
sprintf(param_string,", %d", p->sound_param);
sprintf(buf,"Stress %s%d Amp %2d LengthMod %2d Pitch %3d %3d %s PhFlags %.2x [%s%s]",
emphasized,p->stresslevel&0x7,p->amp, p->length,y1,y2,name,p->ph->phflags, LookupManifest(p->phontab_addr), len_string);
sprintf(buf,"Stress %s%d Amp %2d LengthMod %2d Pitch %3d %3d %s PhFlags %.2x (%s%s)%s",
emphasized,p->stresslevel&0x7,p->amp, p->length,y1,y2,name,p->ph->phflags, LookupManifest(p->phontab_addr), param_string, len_string);
wxLogStatus(wxString(buf,wxConvLocal));
}
+7 -1
View File
@@ -35,7 +35,7 @@
#include "translate.h"
#include "wave.h"
const char *version_string = "1.46.45 10.Mar.13";
const char *version_string = "1.46.46 11.Mar.13";
const int version_phdata = 0x014640;
int option_device_number = -1;
@@ -1225,9 +1225,15 @@ void InterpretPhoneme(Translator *tr, int control, PHONEME_LIST *plist, PHONEME_
#ifdef _ESPEAKEDIT
plist->std_length = phdata->pd_param[i_SET_LENGTH];
if(phdata->sound_addr[0] != 0)
{
plist->phontab_addr = phdata->sound_addr[0]; // FMT address
plist->sound_param = phdata->sound_param[0];
}
else
{
plist->phontab_addr = phdata->sound_addr[1]; // WAV address
plist->sound_param = phdata->sound_param[1];
}
#endif
} // end of InterpretPhoneme
-1
View File
@@ -1869,7 +1869,6 @@ int SpeakNextClause(FILE *f_in, const void *text_in, int control)
n_phoneme_list = 0;
WcmdqStop();
embedded_value[EMBED_T] = 0;
return(0);
}
+2 -1
View File
@@ -56,7 +56,7 @@
#define EMBED_A 3 // amplitude/volume
#define EMBED_R 4 // pitch range/expression
#define EMBED_H 5 // echo/reverberation
#define EMBED_T 6 // different tone for announcing punctuation
#define EMBED_T 6 // different tone for announcing punctuation (not used)
#define EMBED_I 7 // sound icon
#define EMBED_S2 8 // speed (used in synthesize)
#define EMBED_Y 9 // say-as commands
@@ -223,6 +223,7 @@ typedef struct {
#ifdef _ESPEAKEDIT
unsigned char std_length;
unsigned int phontab_addr;
int sound_param;
#endif
} PHONEME_LIST;
+1
View File
@@ -94,6 +94,7 @@ ALPHABET alphabets [] = {
{"_ka", OFFSET_GEORGIAN, 0x10a0,0x10ff, L('k','a'), AL_WORDS},
{"_ko", OFFSET_KOREAN, 0x1100,0x11ff, 0, 0},
{"_eth", OFFSET_ETHIOPIC, 0x1200,0x139f, 0, 0},
{"_braille", 0x2800, 0x2800,0x28ff, 0, AL_NO_SYMBOL},
{"_ja", 0x3040, 0x3040,0x30ff, 0, AL_NOT_CODE},
{"_zh", 0x3100, 0x3100,0x9fff, 0, AL_NOT_CODE},
{NULL, 0, 0, 0, 0, 0}
+1 -1
View File
@@ -2489,7 +2489,7 @@ static int TranslateChar(Translator *tr, char *ptr, int prev_in, unsigned int c,
}
static const char *UCase_ga[] = {"bp","bhf","dt","gc","hA","mb","ng","ts","tA","nA",NULL};
static const char *UCase_ga[] = {"bp","bhf","dt","gc","hA","mb","nd","ng","ts","tA","nA",NULL};
int UpperCaseInWord(Translator *tr, char *word, int c)
{//=====================================================
+1
View File
@@ -277,6 +277,7 @@ extern ALPHABET *current_alphabet;
#define AL_NOT_LETTERS 0x02 // don't use the language for speaking letters
#define AL_WORDS 0x04 // use the language to speak words
#define AL_NOT_CODE 0x08 // don't speak the character code
#define AL_NO_SYMBOL 0x10 // don't repeat "symbol" or "character"
#define N_LOPTS 21
+11 -3
View File
@@ -192,6 +192,12 @@ static char *fgets_strip(char *buf, int size, FILE *f_in)
if(fgets(buf,size,f_in) == NULL)
return(NULL);
if(buf[0] == '#')
{
buf[0] = 0;
return(buf);
}
len = strlen(buf);
while((--len > 0) && isspace(buf[len]))
buf[len] = 0;
@@ -389,8 +395,10 @@ void VoiceReset(int tone_only)
// Set voice to the default values
int pk;
static unsigned char default_heights[N_PEAKS] = {128,128,120,120,110,110,128,128,128};
static unsigned char default_widths[N_PEAKS] = {128,128,128,160,171,171,128,128,128};
// static unsigned char default_heights[N_PEAKS] = {140,128,120,110,90,90,128,128,128}; // changed for v.1.47
// static unsigned char default_widths[N_PEAKS] = {128,128,128,160,171,171,128,128,128};
static unsigned char default_heights[N_PEAKS] = {128,128,120,120,110,110,128,128,128}; // previous version
static unsigned char default_widths[N_PEAKS] = {140,128,128,160,171,171,128,128,128};
static int breath_widths[N_PEAKS] = {0,200,200,400,400,400,600,600,600};
@@ -411,7 +419,7 @@ void VoiceReset(int tone_only)
voice->n_harmonic_peaks = 5;
voice->peak_shape = 0;
voice->voicing = 64;
voice->consonant_amp = 100;
voice->consonant_amp = 85; // change to 85 for v.1.47 was 100
voice->consonant_ampv = 100;
voice->samplerate = samplerate_native;
memset(voice->klattv,0,sizeof(voice->klattv));
+13 -20
View File
@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* Copyright (C) 2005 to 2013 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -244,7 +244,7 @@ static unsigned char wavemult[N_WAVEMULT] = {
105, 98, 90, 83, 76, 69, 62, 55, 49, 43, 37, 32, 27, 22, 18, 14,
11, 8, 5, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
// set from y = pow(2,x) * 128, x=-1 to 1
unsigned char pitch_adjust_tab[MAX_PITCH_VALUE+1] = {
@@ -592,7 +592,7 @@ static PaError Pa_OpenDefaultStream2( PaStream** stream,
hostApiOutputParameters.device = Pa_GetDefaultOutputDevice();
if( hostApiOutputParameters.device == paNoDevice )
return paDeviceUnavailable;
return paDeviceUnavailable;
hostApiOutputParameters.channelCount = outputChannelCount;
hostApiOutputParameters.sampleFormat = sampleFormat;
@@ -834,15 +834,6 @@ static void WavegenSetEcho(void)
amp = embedded_value[EMBED_H];
delay = 130;
}
#ifdef deleted
if(embedded_value[EMBED_T] > 0)
{
// announcing punctuation, add a small echo
// This seems unpopular
amp = embedded_value[EMBED_T] * 8;
delay = 60;
}
#endif
if(delay == 0)
amp = 0;
@@ -854,7 +845,7 @@ static void WavegenSetEcho(void)
if(amp > 20)
echo_length = echo_head * 2; // perhaps allow 2 echo periods if the echo is loud.
// echo_amp units are 1/256ths of the amplitude of the original sound.
// echo_amp units are 1/256ths of the amplitude of the original sound.
echo_amp = amp;
// compensate (partially) for increase in amplitude due to echo
general_amplitude = GetAmplitude();
@@ -1559,7 +1550,7 @@ static int SetWithRange0(int value, int max)
static void SetPitchFormants()
{//===========================
int ix;
int factor;
int factor = 256;
int pitch_value;
// adjust formants to give better results for a different voice pitch
@@ -1570,11 +1561,13 @@ static void SetPitchFormants()
{
// only adjust if the pitch is higher than normal
factor = 256 + (25 * (pitch_value - 50))/50;
for(ix=0; ix<=5; ix++)
{
wvoice->freq[ix] = (wvoice->freq2[ix] * factor)/256;
}
}
for(ix=0; ix<=5; ix++)
{
wvoice->freq[ix] = (wvoice->freq2[ix] * factor)/256;
}
factor = embedded_value[EMBED_T]*3;
wvoice->height[0] = (wvoice->height2[0] * (256 - factor*2))/256;
wvoice->height[1] = (wvoice->height2[1] * (256 - factor))/256;
@@ -1755,7 +1748,7 @@ if(option_log_frames)
fprintf(f_log,"%3dmS %3d %3d %4d %4d (%3d %3d %3d %3d) to %3d %3d %4d %4d (%3d %3d %3d %3d)\n",length*1000/samplerate,
fr1->ffreq[0],fr1->ffreq[1],fr1->ffreq[2],fr1->ffreq[3], fr1->fheight[0],fr1->fheight[1],fr1->fheight[2],fr1->fheight[3],
fr2->ffreq[0],fr2->ffreq[1],fr2->ffreq[2],fr2->ffreq[3], fr2->fheight[0],fr2->fheight[1],fr2->fheight[2],fr2->fheight[3] );
fclose(f_log);
f_log=NULL;
}
@@ -2036,7 +2029,7 @@ static int SpeedUp(short *outbuf, int length_in, int length_out, int end_of_text
{
sonicSetSpeed(sonicSpeedupStream, sonicSpeed);
}
sonicWriteShortToStream(sonicSpeedupStream, outbuf, length_in);
}