mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-11 00:26:08 +00:00
Merge tag '1.48.11' into android
espeak 1.48.11 Conflicts: Makefile.am
This commit is contained in:
@@ -97,6 +97,7 @@ espeak-data/config
|
||||
espeak-data/dictsource
|
||||
espeak-data/phsource
|
||||
espeak-data/*_dict
|
||||
espeak-data/mbrola_ph/*_phtrans
|
||||
espeak-data/intonations
|
||||
espeak-data/phondata
|
||||
espeak-data/phondata-manifest
|
||||
|
||||
+185
-1
@@ -30,7 +30,7 @@ EXTRA_DIST += ChangeLog
|
||||
|
||||
##### standard build actions:
|
||||
|
||||
all: jni espeakdata apk-release
|
||||
all-local: jni espeakdata apk-release
|
||||
|
||||
uninstall-hook:
|
||||
rm -rf $(DESTDIR)$(DATADIR)
|
||||
@@ -825,3 +825,187 @@ else
|
||||
espeak-data/zhy_dict: src/espeak phsource/phonemes.stamp dictsource/zhy_rules dictsource/zhy_extra
|
||||
endif
|
||||
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=zhy && cd ..
|
||||
|
||||
##### mbrola:
|
||||
|
||||
mbrola: \
|
||||
espeak-data/mbrola_ph/af1_phtrans \
|
||||
espeak-data/mbrola_ph/cr1_phtrans \
|
||||
espeak-data/mbrola_ph/cs_phtrans \
|
||||
espeak-data/mbrola_ph/de2_phtrans \
|
||||
espeak-data/mbrola_ph/de4_phtrans \
|
||||
espeak-data/mbrola_ph/de6_phtrans \
|
||||
espeak-data/mbrola_ph/ee1_phtrans \
|
||||
espeak-data/mbrola_ph/en1_phtrans \
|
||||
espeak-data/mbrola_ph/es_phtrans \
|
||||
espeak-data/mbrola_ph/fr1_phtrans \
|
||||
espeak-data/mbrola_ph/gr2_phtrans \
|
||||
espeak-data/mbrola_ph/grc-de6_phtrans \
|
||||
espeak-data/mbrola_ph/hn1_phtrans \
|
||||
espeak-data/mbrola_ph/hu1_phtrans \
|
||||
espeak-data/mbrola_ph/ic1_phtrans \
|
||||
espeak-data/mbrola_ph/id1_phtrans \
|
||||
espeak-data/mbrola_ph/in1_phtrans \
|
||||
espeak-data/mbrola_ph/ir1_phtrans \
|
||||
espeak-data/mbrola_ph/it3_phtrans \
|
||||
espeak-data/mbrola_ph/la1_phtrans \
|
||||
espeak-data/mbrola_ph/lt1_phtrans \
|
||||
espeak-data/mbrola_ph/lt2_phtrans \
|
||||
espeak-data/mbrola_ph/mx1_phtrans \
|
||||
espeak-data/mbrola_ph/mx2_phtrans \
|
||||
espeak-data/mbrola_ph/nl_phtrans \
|
||||
espeak-data/mbrola_ph/pl1_phtrans \
|
||||
espeak-data/mbrola_ph/pt1_phtrans \
|
||||
espeak-data/mbrola_ph/ptbr_phtrans \
|
||||
espeak-data/mbrola_ph/ptbr4_phtrans \
|
||||
espeak-data/mbrola_ph/ro1_phtrans \
|
||||
espeak-data/mbrola_ph/sv_phtrans \
|
||||
espeak-data/mbrola_ph/sv2_phtrans \
|
||||
espeak-data/mbrola_ph/tr1_phtrans \
|
||||
espeak-data/mbrola_ph/us_phtrans \
|
||||
espeak-data/mbrola_ph/us3_phtrans \
|
||||
espeak-data/mbrola_ph/vz_phtrans
|
||||
|
||||
espeak-data/mbrola_ph/af1_phtrans: phsource/mbrola/af1 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/cr1_phtrans: phsource/mbrola/cr1 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/cs_phtrans: phsource/mbrola/cs src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/de2_phtrans: phsource/mbrola/de2 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/de4_phtrans: phsource/mbrola/de4 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/de6_phtrans: phsource/mbrola/de6 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/ee1_phtrans: phsource/mbrola/ee1 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/en1_phtrans: phsource/mbrola/en1 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/es_phtrans: phsource/mbrola/es src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/fr1_phtrans: phsource/mbrola/fr1 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/gr2_phtrans: phsource/mbrola/gr2 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/grc-de6_phtrans: phsource/mbrola/grc-de6 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/hn1_phtrans: phsource/mbrola/hn1 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/hu1_phtrans: phsource/mbrola/hu1 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/ic1_phtrans: phsource/mbrola/ic1 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/id1_phtrans: phsource/mbrola/id1 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/in1_phtrans: phsource/mbrola/in1 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/ir1_phtrans: phsource/mbrola/ir1 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/it3_phtrans: phsource/mbrola/it3 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/la1_phtrans: phsource/mbrola/la1 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/lt1_phtrans: phsource/mbrola/lt1 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/lt2_phtrans: phsource/mbrola/lt2 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/mx1_phtrans: phsource/mbrola/mx1 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/mx2_phtrans: phsource/mbrola/mx2 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/nl_phtrans: phsource/mbrola/nl src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/pl1_phtrans: phsource/mbrola/pl1 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/pt1_phtrans: phsource/mbrola/pt1 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/ptbr_phtrans: phsource/mbrola/ptbr src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/ptbr4_phtrans: phsource/mbrola/ptbr4 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/ro1_phtrans: phsource/mbrola/ro1 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/sv_phtrans: phsource/mbrola/sv src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/sv2_phtrans: phsource/mbrola/sv2 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/tr1_phtrans: phsource/mbrola/tr1 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/us_phtrans: phsource/mbrola/us src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/us3_phtrans: phsource/mbrola/us3 src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
espeak-data/mbrola_ph/vz_phtrans: phsource/mbrola/vz src/espeakedit
|
||||
mkdir -p espeak-data/mbrola_ph
|
||||
ESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ fi
|
||||
mkdir -p m4
|
||||
touch AUTHORS
|
||||
touch NEWS
|
||||
ln -svf README.md README
|
||||
ln -sf README.md README
|
||||
|
||||
if [ -d .git ] ; then
|
||||
git submodule update --init --recursive || exit 1
|
||||
|
||||
+84
-32
@@ -18,7 +18,7 @@
|
||||
// ?8 Use full vowel, not schwa in some word endings
|
||||
|
||||
|
||||
// $alt1 use strong ending (-age, -an, -ance, -ative, -table, -ed, -eria, -et, -inal, -ier -mouth -on -or -ored, -ose, -s)
|
||||
// $alt1 use strong ending (-age, -an, -ance, -ate, -ative, -table, -ed, -eria, -et, -inal, -ier -mouth -on -or -ored, -ose, -s)
|
||||
// $alt2 use weak ending (ace, ain, an, ar*, ard, ate, ath, ell, ery, ess, et, ie, ile, ine, men, on, ot)
|
||||
// $alt3 use weak first vowel, a->[a#], e->[@], o->[0#]
|
||||
// $alt4 separate 'h', not 'th' 'ph' 'sh'; [t2] not [t]
|
||||
@@ -500,16 +500,16 @@ _17 s'Ev@nti:n
|
||||
?7 _17 s'@v@nti:n
|
||||
_18 'eIti:n
|
||||
_19 n'aInti:n
|
||||
_2X tw'Ent2i
|
||||
_3X T'3:ti
|
||||
?5 _3X T'IRti
|
||||
_4X f'o@ti
|
||||
_5X f'Ifti
|
||||
_6X s'Iksti
|
||||
_7X s'Ev@nti
|
||||
?7 _7X s'@v@nti
|
||||
_8X 'eIti
|
||||
_9X n'aInti
|
||||
_2X tw'Ent2i||
|
||||
_3X T'3:ti||
|
||||
?5 _3X T'IRti||
|
||||
_4X f'o@ti||
|
||||
_5X f'Ifti||
|
||||
_6X s'Iksti||
|
||||
_7X s'Ev@nti||
|
||||
?7 _7X s'@v@nti||
|
||||
_8X 'eIti||
|
||||
_9X n'aInti||
|
||||
|
||||
_0C h'Vndr@d
|
||||
_0M1 T'aUz@nd
|
||||
@@ -570,6 +570,7 @@ asap $abbrev
|
||||
ati $abbrev
|
||||
atk $abbrev
|
||||
atm $abbrev
|
||||
atv $abbrev
|
||||
avc $abbrev
|
||||
avg $abbrev
|
||||
awol eIw0l
|
||||
@@ -894,6 +895,7 @@ anchovy antSoUvi
|
||||
anemone a#nEm@ni
|
||||
anemometer anIm'0mI2t3
|
||||
anesthetize $alt3
|
||||
antacid $2
|
||||
anew a#nju:
|
||||
?3 anew a#nu:
|
||||
anime anImeI
|
||||
@@ -1026,6 +1028,7 @@ axon aks0n
|
||||
ayuh a#j'@
|
||||
ayup a#jVp
|
||||
|
||||
backdate $2
|
||||
backend bak'End
|
||||
backstory baksto@ri
|
||||
badmouth $alt1
|
||||
@@ -1065,6 +1068,7 @@ batman batman
|
||||
battalion $alt3
|
||||
bazaar $alt3
|
||||
bazooka ba#zu:k@
|
||||
beating bi:tIN
|
||||
bedouin bEdu:I#n
|
||||
beige beIZ
|
||||
belisha b@l'i:S@
|
||||
@@ -1085,6 +1089,7 @@ bias baI@s
|
||||
biased baI@st
|
||||
bible baIb@L
|
||||
bidet bi:deI
|
||||
bifurcate $1
|
||||
bigot bIg@t // -ed
|
||||
bijou bi:Zu:
|
||||
bikini bIk'i:ni
|
||||
@@ -1196,6 +1201,7 @@ caldera k0ld'e@r@
|
||||
caliche ka#li:tSi
|
||||
caliph $alt6
|
||||
calix $alt6
|
||||
callous kal@s // -ed
|
||||
calv kA:v // for calved, calving
|
||||
?3 calv kav // for calved, calving
|
||||
calve kA:v
|
||||
@@ -1240,6 +1246,7 @@ cashmere kaSmi@3
|
||||
?3 cashmere kaZmi@3
|
||||
casino $alt3
|
||||
cassette $alt3
|
||||
castrate $2
|
||||
catastrophe $alt3
|
||||
catastrophic kat@str'0fIk
|
||||
catarrh k@tA@
|
||||
@@ -1264,7 +1271,7 @@ centurion sEntS'U@ri@n
|
||||
ceres si@ri:z
|
||||
cerise s@ri:z
|
||||
?3 certain s3:?n-
|
||||
certificate s3tIfIk@t
|
||||
certificate s3tIfIk@t $onlys
|
||||
cerulean $alt3
|
||||
c'est seI $u
|
||||
chagrin SagrIn
|
||||
@@ -1436,6 +1443,7 @@ conker $1
|
||||
coquina koUk'i:n@
|
||||
conquistador k0nk'i:st@do@
|
||||
conscience k0nS@ns
|
||||
console k@nsoUl $verb
|
||||
consort $1
|
||||
consort $verb
|
||||
construct $1 $onlys
|
||||
@@ -1450,6 +1458,7 @@ contest $verb
|
||||
context $1
|
||||
contract $1 $onlys
|
||||
contract $verb
|
||||
contrail k0ntreIl
|
||||
contralto k@ntr'altoU
|
||||
contraption k@ntr'apS@n
|
||||
contrary k0ntr@ri
|
||||
@@ -1552,6 +1561,7 @@ debut deIbju:
|
||||
début debut $text
|
||||
decade dEkeId
|
||||
decaf di:kaf
|
||||
decane dEkeIn
|
||||
decedent dI#si:d@nt
|
||||
decent di:s@nt
|
||||
decibel dEsI#b@L
|
||||
@@ -1571,6 +1581,7 @@ defens dI2fEns // for defensible
|
||||
deficit dEfI2sIt
|
||||
definitive dI2fInI2tIv
|
||||
?!3 defragment di:fragm'Ent
|
||||
degas di:g'as
|
||||
degenerate $alt2 $noun
|
||||
dego deIgoU
|
||||
deice di:'aIs
|
||||
@@ -1602,9 +1613,9 @@ derogative $2
|
||||
descant dEskant
|
||||
descry dI2skreI
|
||||
desert dI2z3:t
|
||||
desert dEs3t $only
|
||||
desert dI2z3:t $verb
|
||||
desolate dEs@l@t
|
||||
desert dEs3t $only
|
||||
desert dI2z3:t $verb
|
||||
desolate dEs@l@t $only
|
||||
desperate $alt2
|
||||
?3 detail $2
|
||||
detante deIt'0nt
|
||||
@@ -1660,6 +1671,7 @@ dishy dISi
|
||||
dismal dIzm@l
|
||||
disparate dIsp@r@t
|
||||
disreputable $2
|
||||
dissipate $1
|
||||
distributor $2
|
||||
distro dIstroU
|
||||
disuse dIs'ju:s
|
||||
@@ -1691,6 +1703,8 @@ drier draI3
|
||||
driest draI|@st
|
||||
duet dju:'Et
|
||||
dugout dVgaUt
|
||||
dumber dVm3
|
||||
dumbest dVm@st
|
||||
dungaree dVNga#r'i:
|
||||
?!3 dupe dju:p
|
||||
duress $2
|
||||
@@ -1724,13 +1738,10 @@ eh eI
|
||||
eid i:d
|
||||
eke i:k
|
||||
el ,El $only
|
||||
electricity I2lEktr'IsI2ti
|
||||
electrode I2lEktroUd
|
||||
electron I2lEktr0n
|
||||
electrocute $2
|
||||
elicit I2lIsI2t
|
||||
electrode I#lEktroUd
|
||||
elicit I#lIsI#t
|
||||
élite Il'i:t
|
||||
elixir I2lIks3
|
||||
elixir I#lIks3
|
||||
embed Emb'Ed
|
||||
ember Emb3
|
||||
embole $1 // embolism
|
||||
@@ -1746,6 +1757,7 @@ enroute 0nr'u:t
|
||||
ensemble 0ns'0mb@L
|
||||
entendre 0nt'0ndr@-
|
||||
entente 0nt'0nt
|
||||
entirity Ent'aI3I#ti
|
||||
entourage 0nt2UrA:Z
|
||||
entrail $1
|
||||
entrance $1 $onlys
|
||||
@@ -1763,6 +1775,7 @@ epitome I2pIt@mI
|
||||
epub $alt6
|
||||
equal i:kw@L
|
||||
equation I2kweIZ@n
|
||||
equilibrate $2
|
||||
equipage EkwIpIdZ
|
||||
equivocal I2kwIv@k@L
|
||||
erase I2reIz // erasing erases
|
||||
@@ -1793,7 +1806,7 @@ ethernet $alt1
|
||||
etiquette $1
|
||||
?3 etiquette EtI#k@t
|
||||
euclidean ju:kl'Idi:|@n
|
||||
eunuch ju:m@k
|
||||
eunuch ju:n@k
|
||||
euphemism ju:f@mIz@m
|
||||
eureka ju:'ri:ka#
|
||||
europa jU@r'oUp@
|
||||
@@ -1807,6 +1820,7 @@ evenings i:vnINz
|
||||
evit EvI2t // inevitable
|
||||
exactement Egzakt@m'A~
|
||||
exalt Egz'0lt
|
||||
exculpate $1
|
||||
excuses Ekskj'u:sI#z
|
||||
execute EksI2kju:t // not $2
|
||||
executable $3
|
||||
@@ -1819,12 +1833,15 @@ expert Eksp3:t
|
||||
expertise Eksp3t'i:z
|
||||
expletive Ekspl'i:tIv
|
||||
?3 expletive EksplI#tIv
|
||||
explicate $1
|
||||
exploit $1 $onlys
|
||||
exploit $verb
|
||||
expo $1
|
||||
exponential Eksp@n'EnS@L
|
||||
export $1 $onlys
|
||||
export $verb
|
||||
expurgate $1
|
||||
extirpate $1
|
||||
extract $1 $onlys
|
||||
extract $1 $only
|
||||
extract $2 $verb
|
||||
@@ -1858,6 +1875,7 @@ favourite feIv@-rI2t
|
||||
favourites feIv@-rI2ts
|
||||
fedora fI2d'o@r@
|
||||
feisty faIsti
|
||||
fellate $2
|
||||
feline fi:laIn
|
||||
felon $alt2
|
||||
feminine fEm@nIn
|
||||
@@ -1872,6 +1890,7 @@ ficus faIk@s
|
||||
fiery faI3ri
|
||||
?3 filet fI2leI
|
||||
?3 fillet fI2leI
|
||||
filtrate $2 $verb
|
||||
finale fI2nA:li
|
||||
finance faInans $only
|
||||
finance $verb
|
||||
@@ -1894,6 +1913,7 @@ flyby flaIbaI
|
||||
foothold fUthoUld
|
||||
forage f0rI2dZ
|
||||
force fo@s
|
||||
forearmed $2
|
||||
foreknowledge $2
|
||||
forensic f@rEnsIk
|
||||
foreshadow $2
|
||||
@@ -2018,6 +2038,7 @@ gucci gu:tSi
|
||||
gui gu:i $onlys
|
||||
guinea gIni
|
||||
gurus gu:ru:z
|
||||
?!3 gyrate $2
|
||||
|
||||
habitual $alt3
|
||||
hacienda hA:sI'End@
|
||||
@@ -2109,6 +2130,7 @@ huevo hweIvoU
|
||||
hula hu:l@
|
||||
hullabaloo hVl@b@lu:
|
||||
humane $2
|
||||
hundred hVndr@d
|
||||
hunger hVNg3
|
||||
hungover $2
|
||||
hurrah h@rA:
|
||||
@@ -2119,6 +2141,7 @@ hussar hVz'A@
|
||||
huzza h@z'A:
|
||||
huzzah h@z'A:
|
||||
hydrangea haIdr'eIndZ@
|
||||
hydrate $2 $verb
|
||||
hyperbola haIp'3:b@l@
|
||||
hyperbole haIp'3:b@li
|
||||
hypercube $1
|
||||
@@ -2142,6 +2165,7 @@ imagery ImIdZri
|
||||
imagine I2madZI2n
|
||||
imbecile ImbI2si:l
|
||||
?3 imbecile Imb@s@L
|
||||
immolate $1
|
||||
impedance Imp'i:d@ns
|
||||
imperative Imp'Er@tIv
|
||||
imperfect Imp'3:fEkt
|
||||
@@ -2180,6 +2204,7 @@ ingenuity IndZI2n'ju:I2ti
|
||||
inherit Inh'ErIt // inherited
|
||||
innard In3d
|
||||
inner In3
|
||||
innervate In3:veIt
|
||||
innovative In@veItIv
|
||||
impetus Imp@t@s
|
||||
?3 inquiry Inkw@ri
|
||||
@@ -2290,6 +2315,7 @@ laboratory la#b'0r@tri
|
||||
laborious $alt3
|
||||
labyrinth lab3InT
|
||||
labyrinthine lab3'InTi:n
|
||||
lactate $2 $verb
|
||||
lascivious $alt3
|
||||
lager lA:g3
|
||||
lagoon $alt3
|
||||
@@ -2304,6 +2330,7 @@ lasagne lasagna $text
|
||||
laser $alt6
|
||||
lasso las'u:
|
||||
?3 lasso lasoU
|
||||
latex $alt4
|
||||
latrine $alt3
|
||||
latte lA:t2eI
|
||||
?3 launch lA:ntS
|
||||
@@ -2335,7 +2362,8 @@ lichen laIk@n
|
||||
lidar laIdA@
|
||||
lien li:@n
|
||||
lier laI3 // outlier
|
||||
ligate li:geIt
|
||||
ligate $2
|
||||
?3 ligate laIgeIt
|
||||
lightning laItnIN
|
||||
lilac laIl@k
|
||||
lily lIli
|
||||
@@ -2672,6 +2700,7 @@ oppose @poUz
|
||||
opposer @poUz3
|
||||
opus oUp@s
|
||||
orange 0rI2ndZ
|
||||
orate $2
|
||||
ordeal O@d'i@l
|
||||
oregano 0rIg'A:noU
|
||||
organelle O@g@n'El
|
||||
@@ -2738,6 +2767,7 @@ panache $alt3
|
||||
panchakarma $alt3 $3
|
||||
panchayat pa#ntSaI@t
|
||||
pancreas pankri@s
|
||||
palpate $2
|
||||
papaya pa#paI;@
|
||||
papyrus pa#paIr@s
|
||||
parabola p@rab@l@
|
||||
@@ -2843,7 +2873,8 @@ pizzeria $alt1
|
||||
plaid plad
|
||||
?3 plateau $2
|
||||
platoon $alt3
|
||||
playtest pleItEst
|
||||
playa plaI@
|
||||
playtest $alt1
|
||||
plaza plA:z@
|
||||
plebeian pl@b'i:@n
|
||||
plethora plET3r@
|
||||
@@ -2851,13 +2882,14 @@ plicate $2
|
||||
plumber plVm3
|
||||
plus plVs
|
||||
pois pwA: $only
|
||||
poly p0lI
|
||||
poleaxe poUlaks
|
||||
politer p@l'aIt3
|
||||
politic p0l@tIk $onlys
|
||||
poll poUl
|
||||
poly p0lI
|
||||
polyamide p0lI'eImaId
|
||||
polyester p0lI'Est3
|
||||
polygon $alt1
|
||||
?3 polygon $alt1
|
||||
polythene $1
|
||||
porcelain $alt2
|
||||
populace $alt2
|
||||
@@ -2866,6 +2898,7 @@ portend po@t'End
|
||||
poseidon p@saId@n
|
||||
posse p0si
|
||||
postage poUstI2dZ
|
||||
postdate $2
|
||||
practise praktI2s
|
||||
prayer pre@
|
||||
precedence prEsI2d@ns
|
||||
@@ -2925,6 +2958,8 @@ project pr0dZEkt $onlys
|
||||
project $verb
|
||||
promenade pr0m@n'A:d
|
||||
pronoun proUnaUn
|
||||
propranolol proUpr'an@l0l
|
||||
prostrate $2 $verb
|
||||
protege pr0t@ZeI
|
||||
?3 protege proUt@ZeI
|
||||
protegé protege $text
|
||||
@@ -2955,6 +2990,7 @@ pythagoras paIT'ag@r@s
|
||||
python paIT@n
|
||||
pyramidal pI2r'amId@L
|
||||
|
||||
qua kwA:
|
||||
qaeda kaId@
|
||||
quadrilateral $3
|
||||
quash kw0S
|
||||
@@ -3186,6 +3222,7 @@ sciatica saI'atIk@
|
||||
sclera skli@r
|
||||
scourge sk3:dZ
|
||||
?5 scourge skVRdZ
|
||||
scrapheap $alt4
|
||||
scrotum skroUt@m
|
||||
scuba sku:b@
|
||||
seabed si:bEd
|
||||
@@ -3347,16 +3384,18 @@ stygian stIdZi@n
|
||||
suave swA:v
|
||||
subcategory $2 // U.S ?
|
||||
subcontinent $2
|
||||
subject sVbdZ'Ekt $verb
|
||||
// subject sVbdZ'Ekt $verb
|
||||
sublevel sVblEv@L
|
||||
sublime $2
|
||||
submenu s'Vbm,Enju:
|
||||
subordinate $2
|
||||
subordinate $alt1 $verb
|
||||
subpoena su:p'i:n@
|
||||
subsequent sVbsI2kw@nt
|
||||
subside s@bsaId
|
||||
subtly sVt@lI $verbf
|
||||
subvocal sVbv'oUk@L
|
||||
succinct s@ksINkt
|
||||
succumb s@kVm
|
||||
sucrose su:kroUs
|
||||
suede sweId
|
||||
suerte swe@rteI // -ed, -es
|
||||
@@ -3371,6 +3410,7 @@ suntan sVntan
|
||||
suite swi:t $onlys
|
||||
superb su:p'3:b
|
||||
superfluous su:p'3:flu:@s
|
||||
superheat $3
|
||||
supernal su:p'3:n@L
|
||||
superstructure $1
|
||||
supplier s@plaI3
|
||||
@@ -3414,6 +3454,7 @@ tangerine tandZ@r'i:n
|
||||
taoiseach ti:S@x
|
||||
tapestry tap@stri
|
||||
tarantula t@rantS@l@
|
||||
tardis $alt1
|
||||
tariff tarIf
|
||||
tase teIz
|
||||
taskforce t'askf,o@s
|
||||
@@ -3520,6 +3561,7 @@ tricycle traIsIk@L
|
||||
trilogy trIl@dZi
|
||||
trio tri:oU
|
||||
triplicate $alt2
|
||||
triplicate $verb
|
||||
trisquel trIsk'El
|
||||
triumphant $2
|
||||
trois twA:
|
||||
@@ -3597,6 +3639,7 @@ useful ju:sf@L
|
||||
utan u:t'an
|
||||
utensil ju:t'Ens@L
|
||||
|
||||
?!3 vacate $2
|
||||
vaccine $2
|
||||
valet valeI
|
||||
?3 valet val'eI
|
||||
@@ -3687,8 +3730,8 @@ whate're w02t'e@
|
||||
whatsoe're w02tsoU'e@
|
||||
wheelbarrow w'i:l_b,aroU
|
||||
?2 wheelbarrow w#'i:l_b,aroU
|
||||
whereas we@'az
|
||||
?2 whereas w#e@'az
|
||||
whereas we@az
|
||||
?2 whereas w#e@az
|
||||
wherewithal we@wIDO:l
|
||||
?2 wherewithal w#e@wIDO:l
|
||||
whew fju:
|
||||
@@ -3976,6 +4019,7 @@ Eyjafjalla eIja#fjatla#
|
||||
Faroe fe@roU
|
||||
Faroes fe@roUz
|
||||
Fermanagh f3:m'an@
|
||||
Flores flo@rIz
|
||||
Folkestone foUkstoUn
|
||||
Fuego fweIgoU
|
||||
Gabon gab0n
|
||||
@@ -4522,6 +4566,7 @@ Jesus dZi:z@s
|
||||
Joachim dZoU@kIm
|
||||
Johann joUhA#n
|
||||
Jonah dZoUn@
|
||||
Jolene $alt3
|
||||
Jorge ho@heI
|
||||
José hoUs'eI
|
||||
Jose hoUs'eI
|
||||
@@ -4771,6 +4816,7 @@ Damocles dam@kli:z
|
||||
(da vinci) da#vIntSi
|
||||
Dante dA:nt2eI
|
||||
?3 Datsun dA:ts@n
|
||||
Degas deIgA: $capital
|
||||
Desiree dI2zi@reI
|
||||
?3 Desiree dEz@r'eI
|
||||
Deslauriers dI2lo@rIeI
|
||||
@@ -4806,6 +4852,8 @@ Ghandhi gA:ndi
|
||||
Gibson gIbs@n
|
||||
Godzilla g0dz'Il@
|
||||
Goliath $alt3
|
||||
Gogh g0x
|
||||
?3 Gogh goU
|
||||
Grigio gri:Z'oU
|
||||
Guinness gInIs
|
||||
Gutierrez gu:tj'ErEz
|
||||
@@ -4832,7 +4880,8 @@ Jimenez hIm'EnEz
|
||||
Jonese dZoUnz // Joneses
|
||||
Kapoor $2
|
||||
Kawasaki kaU|@s'A:ki
|
||||
Kendell kEnd@L
|
||||
Kendall $alt2
|
||||
Kendell $alt2
|
||||
Khrushchev kru:stSEf
|
||||
Khruschev kru:stSEf
|
||||
Kroger kroUg3
|
||||
@@ -4931,6 +4980,7 @@ Urquhart 3:kA@t
|
||||
Versace v3sA:tSi
|
||||
Vicodin vaIk@dI#n
|
||||
Volkswagen v'oUlksv,A:g@n
|
||||
Vries vri:s
|
||||
Wegener veIg@n3
|
||||
Wii wi::
|
||||
Wiimote wi:moUt
|
||||
@@ -5159,6 +5209,7 @@ haves havz
|
||||
has %ha#z $pastf $only
|
||||
has haz $only $atend
|
||||
(has been) %ha#z%bIn $pastf
|
||||
(has-been) hazbi:n
|
||||
(has to) haztu: $atend
|
||||
(has not) h@zn%0t $pastf
|
||||
(has not) ha#zn0t $pastf $atend
|
||||
@@ -5173,7 +5224,7 @@ had ,had $atend
|
||||
(had it) h,adI2t
|
||||
(had them) h,adDEm
|
||||
(had one) hadwVn $atend
|
||||
(had any) h,ad||Eni
|
||||
(had any) h,ad||,Eni
|
||||
(had some) h,ad||sVm
|
||||
having ,havIN $strend2 $pastf $only
|
||||
haven't hav@-nt $pastf
|
||||
@@ -5275,6 +5326,7 @@ thee Di: $u+
|
||||
thou DaU
|
||||
thy ,DaI
|
||||
thine DaIn $u+
|
||||
thyself DaIs'Elf
|
||||
|
||||
(i had) aI||h'ad $atend
|
||||
(he had) hi:||h'ad $atend
|
||||
|
||||
+82
-48
@@ -279,7 +279,7 @@
|
||||
v) ac (a eIk
|
||||
ac (cent ak
|
||||
ac (centu %ak
|
||||
accessi aks'Es@
|
||||
accessib aks'Es@b
|
||||
acci (_ 'A:tSi
|
||||
ac (cid ak
|
||||
acc (ol ak
|
||||
@@ -332,6 +332,7 @@
|
||||
ach (rom ak
|
||||
ac (id_ as
|
||||
_) ac (i a#s
|
||||
acial eIS@L
|
||||
acious 'eIS@s
|
||||
_) ack ak
|
||||
_) ack (n a#k
|
||||
@@ -417,6 +418,7 @@
|
||||
ad (vert_ ad
|
||||
ad (vert a#d
|
||||
_) advo adv@
|
||||
_gr) ad (a eId
|
||||
hex) ad (e ad
|
||||
torn) ad eId
|
||||
_r) ad (L03 eId
|
||||
@@ -555,6 +557,7 @@
|
||||
_) ai (z aI
|
||||
|
||||
.group al
|
||||
&) al (X$w_alt2++ @L
|
||||
_) ale (C_ alI2
|
||||
@ic) al (_S2 @L
|
||||
_) al (@ a#l
|
||||
@@ -622,6 +625,7 @@
|
||||
al (mig %0l
|
||||
_) al (ms A:
|
||||
&) alo (_ @loU
|
||||
h) alo (gena a#l0
|
||||
&) al (ous_ @l
|
||||
_) al (p al
|
||||
alpha alf@
|
||||
@@ -993,6 +997,7 @@ propag) an (d 'an
|
||||
_n) arr (at a#r
|
||||
_) arr (o ar
|
||||
_) arro (g ar@
|
||||
arr (o_ A@
|
||||
ar (i_ 'A@r
|
||||
?3 @) ar (io_ 'ar
|
||||
_b) ar (L02t ar
|
||||
@@ -1006,6 +1011,7 @@ calend) ar 3
|
||||
&l) ar (_ 3
|
||||
&l) ar (ist 3
|
||||
&m) ar (_ 3
|
||||
an) ar (_ 3
|
||||
lun) ar (_ =3
|
||||
_sep) ara (b 3r@
|
||||
_p) ara ar@
|
||||
@@ -1019,7 +1025,7 @@ calend) ar 3
|
||||
&) ar (diz 3
|
||||
%C) ar (d_ 3
|
||||
&d) ar (d_ 3
|
||||
&h) ar (d_ 3
|
||||
// &h) ar (d_ 3
|
||||
&ch) ar (d 3
|
||||
&k) ar (d_ 3
|
||||
ll) ar (d_ A@
|
||||
@@ -1104,6 +1110,7 @@ calend) ar 3
|
||||
_p) arlia A@l@
|
||||
@) ar (ol @r
|
||||
arom (at a#roUm
|
||||
&) ar (ous_ 3
|
||||
arre (_ A@
|
||||
arred (_ A@d
|
||||
arring (_ A@I2N
|
||||
@@ -1120,7 +1127,7 @@ calend) ar 3
|
||||
?3 ion) ary (_ Er%i
|
||||
XC) ary (_ e@r%i
|
||||
w) ar O@
|
||||
wh) ar O@
|
||||
_wh) ar O@
|
||||
w) ar (r 0
|
||||
w) ar (i e@
|
||||
w) ar (y e@
|
||||
@@ -1228,8 +1235,10 @@ calend) ar 3
|
||||
w) atch 0tS
|
||||
_s) ata (n eIt@
|
||||
_g) ator eIt3
|
||||
&) ate (_$w_alt2 @t
|
||||
&) ate (_$w_alt1+ eIt
|
||||
&) ate (_$w_alt2+ @t
|
||||
der) ated (_ eItI#d
|
||||
der) ating (_ eItIN
|
||||
pal) ate (_ @t
|
||||
consul) ate (_ @t
|
||||
macul) ate (_ @t
|
||||
@@ -1244,14 +1253,11 @@ consul) ate (_ @t
|
||||
_it_separ) ate (_ @t
|
||||
par) ates (_ eIt|s
|
||||
ct) ate (_ =eIt
|
||||
@) ated (++_ eItI#d
|
||||
_s) ate (ll at@
|
||||
@) ati (_ 'A:ti
|
||||
at (im_ 'eIt
|
||||
@) ating (++_ eItIN
|
||||
&) at (ive @t
|
||||
&) at (ive_$w_alt1 eIt
|
||||
// &) ately (_ @tli
|
||||
ul) at (ory 'eIt
|
||||
sen) at @t
|
||||
pl) at (ea at
|
||||
@@ -1325,6 +1331,7 @@ _it_separ) ate (_ @t
|
||||
st) atus eIt@s
|
||||
?3 st) atus at@s
|
||||
_) at (y eIt
|
||||
&) at (y_ @t
|
||||
|
||||
.group au
|
||||
au O:
|
||||
@@ -1737,7 +1744,8 @@ _it_separ) ate (_ @t
|
||||
co (mprehen k0
|
||||
co (mprom k0
|
||||
_) comp (tr k%0m
|
||||
compu (t k%0#mpju:
|
||||
co (mput k%0#
|
||||
co (mputat k0
|
||||
_) co (mr k0
|
||||
_) con (@ k%0#n
|
||||
_) conce (ntra k0ns@
|
||||
@@ -1778,6 +1786,7 @@ _it_separ) ate (_ @t
|
||||
_) co (nstip k0
|
||||
_) co (nstitut k0
|
||||
_) co (nsole k0
|
||||
_) co (nstel k0
|
||||
_) co (nsul k0
|
||||
_) co (nsult k%0#
|
||||
_) co (ntact k0
|
||||
@@ -1785,7 +1794,7 @@ _it_separ) ate (_ @t
|
||||
co (ntine k0
|
||||
_) co (ntour k0
|
||||
_) co (ntrA k0#
|
||||
_) contra (C@P6 k,0ntr@
|
||||
_) contra (@P6 k,0ntr@
|
||||
_) contrast k0#ntraast
|
||||
contrac (t k%0#ntrak
|
||||
contrar k%0#ntre@
|
||||
@@ -1870,15 +1879,16 @@ _it_separ) ate (_ @t
|
||||
_) de (ba dI2
|
||||
_) de (bil dI#
|
||||
_) de (c@ dI#
|
||||
deca (den dEk@
|
||||
_) decaffei d%i:kafI
|
||||
_) deca dEk@
|
||||
_) deca ((ff d%i:ka
|
||||
_) deca (nt d%Ika
|
||||
_) de (cL05 dE
|
||||
de (cenc di:
|
||||
de (cib dE
|
||||
de (cil dE
|
||||
de (cim dE
|
||||
_) de (com d,i:
|
||||
_) de (con d,i:
|
||||
_) de (conP2 d,i:
|
||||
de (cor dE
|
||||
de (coru dI2
|
||||
de (creas di:
|
||||
@@ -1886,6 +1896,8 @@ _it_separ) ate (_ @t
|
||||
de (du dI2
|
||||
_) de (emp d%i:
|
||||
_) de (f@ dI2
|
||||
_) de (falc di:
|
||||
_) de (feca dE
|
||||
de (finit dE
|
||||
de (flat d%i:
|
||||
de (feren dE
|
||||
@@ -1895,6 +1907,8 @@ _it_separ) ate (_ @t
|
||||
_) de (g@ dI2
|
||||
_) de (hAP2 d,i:
|
||||
_) de (hyd ,di:
|
||||
_) de (ifL02 deI
|
||||
?3 _) de (ifL02 di:
|
||||
_) de (ist deI
|
||||
_) de (j dI2
|
||||
_) de (l@ dI2
|
||||
@@ -1906,6 +1920,7 @@ _it_separ) ate (_ @t
|
||||
de (lv+ dE
|
||||
de (ma dI2
|
||||
de (magog dE
|
||||
?!3 _) de (marca di:
|
||||
demea dI2m'i:
|
||||
de (men dI2
|
||||
_) de (milit d%i:
|
||||
@@ -1922,9 +1937,11 @@ _it_separ) ate (_ @t
|
||||
deni (tri d%i:naI
|
||||
_) de (no dI2
|
||||
_) de (nu dI2
|
||||
_) de (nuda d,i:
|
||||
_) de (o d%i:
|
||||
_) de (p@ dI2
|
||||
de (per d%i:
|
||||
_) de (pila dE
|
||||
de (pol d%i:
|
||||
de (pop d%i:
|
||||
depo (siti dEp@
|
||||
@@ -2022,7 +2039,7 @@ _it_separ) ate (_ @t
|
||||
di (scov dI2
|
||||
_) dis (eP3 ,dIs
|
||||
di (sh_ dI
|
||||
di (shC dI
|
||||
_) di (shC dI
|
||||
_) di (shev+ dI2
|
||||
_) dis (hAP3 dI2s
|
||||
_) dis (inP3 ,dIs
|
||||
@@ -2037,7 +2054,7 @@ _it_separ) ate (_ @t
|
||||
_) diss (@ dI2s
|
||||
dis (sect daI
|
||||
dis (sid dI
|
||||
di (ssip dI
|
||||
_) dis (sip dI
|
||||
dis (solu dI
|
||||
dis (son dI
|
||||
di (stan dI
|
||||
@@ -2295,6 +2312,7 @@ _it_separ) ate (_ @t
|
||||
cl) ed (_S1v d
|
||||
@p) ed (_S2vdei t
|
||||
@@er) ed (_S2v d
|
||||
our) ed (_S2v d
|
||||
@ss) ed (_S2dv t
|
||||
@t) ed (_S2vdei I#d
|
||||
?8 @t) ed (_S2vdei Ed
|
||||
@@ -2374,11 +2392,12 @@ _it_separ) ate (_ @t
|
||||
_w) eigh eI
|
||||
|
||||
.group el
|
||||
_) el (A %Il
|
||||
_) el (A I#l
|
||||
_) electro %Il,EktroU
|
||||
_) elect (rocu I2lEkt
|
||||
_) elect (rol %ElEkt
|
||||
_) elect (ron I2lE2kt
|
||||
_) elect (rici I#lE2kt
|
||||
_) elect (rocu I#lE2kt
|
||||
_) elect (rol I#lE2kt
|
||||
_) elect (ron I#lE2kt
|
||||
_) ele (g ElI
|
||||
_) elem ElIm
|
||||
_) ele (p ElI
|
||||
@@ -2440,6 +2459,7 @@ _it_separ) ate (_ @t
|
||||
em (ana Em
|
||||
emba (s Emb@
|
||||
em (blem Em
|
||||
_) em (broc Em
|
||||
em (bry Em
|
||||
em (eral Em
|
||||
_) em (e I2m
|
||||
@@ -2505,6 +2525,7 @@ _it_separ) ate (_ @t
|
||||
_) ener En3
|
||||
g) ener (i @nEr
|
||||
@@th) enes (_ =@ni:z
|
||||
_) en (gel En
|
||||
g) en (etic I2n
|
||||
&) en (ger In
|
||||
eng (lA INg
|
||||
@@ -2771,6 +2792,7 @@ _it_separ) ate (_ @t
|
||||
|
||||
.group es
|
||||
ess (_$w_alt2 @s
|
||||
&) es (X$w_alt1+ Es
|
||||
&) es (_S1i z
|
||||
&es) es (_ i:z
|
||||
ese (_ i:z
|
||||
@@ -2778,7 +2800,7 @@ _it_separ) ate (_ @t
|
||||
&f) es (_S1 s
|
||||
&k) es (_S1 s
|
||||
&p) es (_S1 s
|
||||
&t) es (_S1 s
|
||||
&t) es (_S1 z#
|
||||
&c) es (_S1 %Iz
|
||||
&g) es (_S1 %Iz
|
||||
&ch) es (_S1 %Iz
|
||||
@@ -2851,9 +2873,10 @@ _it_separ) ate (_ @t
|
||||
eth (ic ET
|
||||
_) ethno (@ ETnoU#
|
||||
eth (ra 'i:T
|
||||
eth (yl i:T
|
||||
eth (ylen ET
|
||||
eth (ylK i:T
|
||||
?3 ethyl (K ET@L
|
||||
@C) eth (_S3e @T
|
||||
_) etio i:tI@
|
||||
etta (_ 'Et@
|
||||
ette (_ 'Et
|
||||
pal) ett (e @t
|
||||
@@ -2945,6 +2968,7 @@ _it_separ) ate (_ @t
|
||||
excav Eksk@v
|
||||
_) exc (e %Eks
|
||||
exc (i %Eks
|
||||
_) ex (ecra Eks
|
||||
_) ex (crem Eks
|
||||
exce (llen Eks@
|
||||
C) ex (e Eks
|
||||
@@ -2962,6 +2986,7 @@ _it_separ) ate (_ @t
|
||||
exped (it Eksp@d
|
||||
ex (pert Eks
|
||||
experim %EkspErIm
|
||||
_) ex (piat Eks
|
||||
@) ex (ia 'Eks
|
||||
_) exi (gen EksI
|
||||
ss) ex (_ Iks
|
||||
@@ -3184,7 +3209,7 @@ _it_separ) ate (_ @t
|
||||
scr) i (ber aI
|
||||
i (ber_ aI
|
||||
t) ibe (t Ib'E
|
||||
i (bilit I
|
||||
i (bilit @
|
||||
b) i (ble_ aI
|
||||
@) ible (_S4ev @b@L
|
||||
@) ibles (_S5ev @b@Lz
|
||||
@@ -3248,7 +3273,7 @@ _it_separ) ate (_ @t
|
||||
ifier (_ IfaI3
|
||||
r) i (fl aI
|
||||
st) i (fl aI
|
||||
&) ify (_ =I2faI
|
||||
&) ify (_ =I#faI
|
||||
i (genous 'I
|
||||
n) ihi aI|@
|
||||
_) i (h aI
|
||||
@@ -3293,15 +3318,15 @@ _it_separ) ate (_ @t
|
||||
_t) ia i:@
|
||||
XC) ia (_ i@
|
||||
&) iac (_ =Iak
|
||||
&) ian (_S1 n
|
||||
&) ians (_S2 nz
|
||||
&) ian (_NS1 n
|
||||
&) ians (_NS2 nz
|
||||
|
||||
C) iar aI3
|
||||
?8 C) iar aIa#
|
||||
iar (iC i@3
|
||||
iar (ity Iar
|
||||
&) iary =j@r%I
|
||||
&l) iary =i@r%I
|
||||
&) iary =j@ri
|
||||
&l) iary =i@ri
|
||||
_) ian i@n
|
||||
&) ia (_N =i|@
|
||||
&) ia (_ =i@
|
||||
@@ -3455,7 +3480,6 @@ _it_separ) ate (_ @t
|
||||
igno (ran Ign3
|
||||
ig (na Ig
|
||||
_m) ig (ra aIg
|
||||
_m) ig (rati %aIg
|
||||
igu (e 'i:g
|
||||
igu (_ 'i:g
|
||||
|
||||
@@ -3643,7 +3667,9 @@ _it_separ) ate (_ @t
|
||||
_) in (tegri %In
|
||||
inte (llec Int@
|
||||
_) inter (@P5 ,Int3 // prefix
|
||||
_) inter (- ,Int3
|
||||
_) inter (AP5 ,Int@r
|
||||
_) inter (cal %Int3:
|
||||
_) inter (est Intr
|
||||
interfer Int@f'i@3
|
||||
_) int (erio+ %Int
|
||||
@@ -3988,7 +4014,7 @@ _it_separ) ate (_ @t
|
||||
_) jes (ui dZEz
|
||||
_) jh (A@ dZ
|
||||
_) jiha (d dZI2hA:
|
||||
_) joa (n@ dZoU'a
|
||||
_) joa (nn dZoU'a
|
||||
n) j (a_ j
|
||||
j (ü j
|
||||
|
||||
@@ -4063,12 +4089,11 @@ _it_separ) ate (_ @t
|
||||
&t) ling (_ _lIN
|
||||
&l) ling (_S4vd IN
|
||||
linux lInVks
|
||||
listen lIs@n
|
||||
?3 _) lo (gK lO
|
||||
@) lo (gous =l@
|
||||
lu (na lu:
|
||||
@) ly (_S2i l%i
|
||||
@l) ly (_S2 i
|
||||
&) ly (_S2i l%i
|
||||
&l) ly (_S2 i
|
||||
f) ly (_ laI
|
||||
ief) ly (_S2 l%i
|
||||
ff) ly (_S2 l%i
|
||||
@@ -4079,7 +4104,7 @@ multip) ly laI
|
||||
&p) ly (_S2 l%i
|
||||
p) ly (_ laI
|
||||
_) ly (d lI
|
||||
@) lEss (_S4i l@s
|
||||
&) lEss (_S4i l@s
|
||||
@) lEssly (_S6i l@sl%i
|
||||
|
||||
.group le
|
||||
@@ -4140,8 +4165,8 @@ multip) ly laI
|
||||
mbly mbl%I
|
||||
o) mb (e m
|
||||
_bo) mb (K m
|
||||
_du) mb m
|
||||
_) mc (C@ m@k
|
||||
_du) mb (K m
|
||||
_) mc (C@P2 m@k
|
||||
_) mc (_C m@k
|
||||
_) mc (_L05 m@ // c,g,k
|
||||
_) mc (L05@ m@
|
||||
@@ -4332,6 +4357,7 @@ multip) ly laI
|
||||
@@C) o (_ =oU
|
||||
oa oU
|
||||
oa (_ 'oU@
|
||||
oa (b oUa
|
||||
g) oa (n_ oU@
|
||||
z) oa (n_ 'oU@
|
||||
br) oa (d O:
|
||||
@@ -4432,6 +4458,7 @@ multip) ly laI
|
||||
@l) oge (_ 0g
|
||||
&) o (gen_ @
|
||||
ogeni (c oUdZ'EnI
|
||||
o (genat '0
|
||||
o (genous '0
|
||||
o (geny '0
|
||||
r) o (ger 0
|
||||
@@ -4468,7 +4495,7 @@ multip) ly laI
|
||||
orp) oise @s
|
||||
o (ism oU
|
||||
@) o (ist oU
|
||||
oix (_ wa
|
||||
oix (_ wA:
|
||||
tr) o (jan oU
|
||||
o (ku oU
|
||||
o (ky_ oU
|
||||
@@ -4594,7 +4621,7 @@ multip) ly laI
|
||||
&) om (ise_ =@m
|
||||
&) om (ize_ =@m
|
||||
@) om (ist_ =@m
|
||||
_s) om (n %0m
|
||||
_s) om (na %0m
|
||||
_) omni (@@P4 ,0mnI2
|
||||
_) omni 0mnI
|
||||
_) omnipo 0mn'Ip@
|
||||
@@ -4830,7 +4857,7 @@ multip) ly laI
|
||||
_f) ore (tel %o@
|
||||
@) or (iti 0r
|
||||
@) or (ity 0r
|
||||
_fav) orit 3I#t
|
||||
_fav) orit @-rI#t
|
||||
_) or (iC 0r
|
||||
@t) ore (_ 3
|
||||
st) ore (_ o@
|
||||
@@ -4842,7 +4869,7 @@ multip) ly laI
|
||||
?!3 _h) or (o 0r
|
||||
orr (_ o@
|
||||
or (r 0
|
||||
?3 or (r O:
|
||||
?3 or (r O@
|
||||
bb) or (n 3
|
||||
f) oreign 0r@n
|
||||
f) or (ever 3
|
||||
@@ -4932,11 +4959,11 @@ multip) ly laI
|
||||
&g) ot (_ @t
|
||||
&rr) ot (_ @t
|
||||
&) ot (_$w_alt2 @t
|
||||
n) ot (a oUt
|
||||
r) ot (a oUt
|
||||
t) ot (a oUt
|
||||
c) ot (an oUt
|
||||
ot (at oUt
|
||||
nn) ot (at @t
|
||||
h) ote (l %oUtE
|
||||
p) ot (enti @t
|
||||
b) oth oUT
|
||||
@@ -5027,7 +5054,6 @@ multip) ly laI
|
||||
c) ou (pl V
|
||||
&) our (_ 3
|
||||
np) our (_ o@
|
||||
&) oured 3d
|
||||
ev) our (ed aU@
|
||||
our (n 3:
|
||||
?5 our (n VR
|
||||
@@ -5256,6 +5282,7 @@ multip) ly laI
|
||||
_) peregrin pEr@grIn
|
||||
per (fec p3
|
||||
_) per (iC@@ p,Er
|
||||
_) per (igr pEr
|
||||
_) perini pErIn'i:
|
||||
_) per (iph p3r
|
||||
_) per (isc pEr
|
||||
@@ -5390,6 +5417,7 @@ multip) ly laI
|
||||
_) pro (sa pr@
|
||||
_) pro (sc pr@
|
||||
pro (spectA pr@
|
||||
_) pro (stra pr0
|
||||
_) pro (sumer pr%oU
|
||||
pro (tec pr@
|
||||
pro (test pr@
|
||||
@@ -5500,6 +5528,7 @@ multip) ly laI
|
||||
_) re (arm %ri:
|
||||
_) re (au@P2 ,ri:
|
||||
re (ck rE
|
||||
_) re (clina rE
|
||||
reco (g rEk@
|
||||
_) re (comP2 r,i:
|
||||
_) re (conP2 ,ri:
|
||||
@@ -5562,6 +5591,7 @@ multip) ly laI
|
||||
repe (titiv rI2pE
|
||||
re (pli rE
|
||||
re (prim rE
|
||||
_) re (prob rE
|
||||
re (pt rE
|
||||
_) re (puta rE
|
||||
re (quis rE
|
||||
@@ -5749,6 +5779,7 @@ multip) ly laI
|
||||
1_) st (_
|
||||
_) st (_ s@nt
|
||||
stein staIn
|
||||
i) st (en_ s
|
||||
_) s (u s
|
||||
&) s (u_ =s
|
||||
ssue Su:
|
||||
@@ -5760,7 +5791,7 @@ multip) ly laI
|
||||
Ai) s (y z
|
||||
s (_N z
|
||||
@) s (_NS1m z
|
||||
@) s (_$w_alt1S1 s
|
||||
@) s (_$w_alt1 s
|
||||
_BA) s (_N s
|
||||
&se) s (_S1 I#z
|
||||
&sse) s (_S2 I#z
|
||||
@@ -5806,8 +5837,8 @@ multip) ly laI
|
||||
su (burba s@
|
||||
su (bv s@
|
||||
substa (nt s@bsta
|
||||
su (ccA s@
|
||||
su (ccul sV
|
||||
su (cce s@
|
||||
su (cci s@
|
||||
su (ffic s@
|
||||
sugar SUg3
|
||||
re) su (mA zju:
|
||||
@@ -5856,6 +5887,7 @@ multip) ly laI
|
||||
_) tz (ar ts
|
||||
t (h$w_alt4 t
|
||||
t (A$w_alt4 t2
|
||||
t (E$w_alt4 t2
|
||||
|
||||
t (ap_ t2
|
||||
ie) t (ary_ t2
|
||||
@@ -5875,6 +5907,7 @@ multip) ly laI
|
||||
t (op_ t2
|
||||
@) town (_S4 t2aUn
|
||||
tow (er t2aU
|
||||
_) trans (migP5 trans
|
||||
_) trans (nP5 trans
|
||||
_) tri (A traI
|
||||
_) trie traI
|
||||
@@ -5969,12 +6002,12 @@ multip) ly laI
|
||||
theo (logy TI'0
|
||||
theo (logis TI'0
|
||||
_) th (eC% T
|
||||
_) th (us D
|
||||
|
||||
|
||||
.group ti
|
||||
&) tia (_ S@
|
||||
&s) tia (_ tS@
|
||||
propi) ti (a tI
|
||||
ti (ac tI
|
||||
&) tian (_ =S@n
|
||||
&s) ti (an_ tS
|
||||
@@ -5998,6 +6031,7 @@ multip) ly laI
|
||||
tion (ality S@n
|
||||
&) tious S=@s
|
||||
AC) tive (_ =tIv
|
||||
_) ti (trat t%aI
|
||||
|
||||
|
||||
.group tu
|
||||
@@ -6116,7 +6150,7 @@ contin) u ju:
|
||||
_) u (lA u:
|
||||
&f) ul (_ @L
|
||||
?8 &f) ul (_ Vl
|
||||
s) ul (_ @L
|
||||
&s) ul (_ @L
|
||||
@) u (la_ =jU
|
||||
@) u (lar =jU
|
||||
@) u (late =jU
|
||||
@@ -6369,6 +6403,7 @@ contin) u ju:
|
||||
v v
|
||||
v (v
|
||||
_) v (la v
|
||||
_) vr (A vr
|
||||
|
||||
@) va (len veI
|
||||
_) vehem vi@m
|
||||
@@ -6444,8 +6479,7 @@ contin) u ju:
|
||||
xis (_ =ksIs
|
||||
xus (_ =ks@s
|
||||
xu (a =kSu:
|
||||
lu) x (ur gZ
|
||||
?3 lu) xu (r gZU@
|
||||
lu) xu (r gZU@
|
||||
xure (_ kS%U@
|
||||
|
||||
.group y
|
||||
|
||||
+190
-132
@@ -1,132 +1,190 @@
|
||||
|
||||
// This file is UTF8 encoded
|
||||
// Spelling-to-phoneme words for Basque
|
||||
|
||||
b be
|
||||
c ze
|
||||
d de
|
||||
f efe
|
||||
g ge
|
||||
h atSe
|
||||
j xota
|
||||
k ka
|
||||
l ele
|
||||
m eme
|
||||
n ene
|
||||
ñ en^e
|
||||
p pe
|
||||
q ku
|
||||
r eR2e
|
||||
s ese
|
||||
t te
|
||||
v uBe
|
||||
w uBe||bikoitza
|
||||
x iSa
|
||||
y i||grekoa
|
||||
z zeta
|
||||
|
||||
_a a
|
||||
_e e
|
||||
_i i
|
||||
_o o
|
||||
_u u
|
||||
|
||||
|
||||
// numbers
|
||||
_0 zer'o
|
||||
_1 b'at
|
||||
_2 b'i
|
||||
_3 hir'u
|
||||
_4 l'aU
|
||||
_5 b'ost
|
||||
_6 s'eI
|
||||
_7 zazp'i
|
||||
_8 zort'i
|
||||
_9 beD'eratzi
|
||||
_10 am'aR2
|
||||
_11 am'aIka
|
||||
_12 amaB'i
|
||||
_13 ama'ir,u
|
||||
_14 amal'aU
|
||||
_15 amaB'ost
|
||||
_16 amas'eI
|
||||
_17 amazazp'i
|
||||
_18 emezort'i
|
||||
_19 emeretz'i
|
||||
_20 hoQ'eI
|
||||
_2X hoQ'eIta
|
||||
_40 b'eR2oQeI
|
||||
_4X b'eR2oQeIta2
|
||||
_60 ir'uroQeI
|
||||
_6X ir'uroQeIta2
|
||||
_80 l'aUroQeI
|
||||
_8X l'aUroQeIta2
|
||||
_1C e'un
|
||||
_2C b'eR2eun
|
||||
_0C R2e,un
|
||||
_0M1 mil'a
|
||||
_0M2 mil^'i;oI
|
||||
_0and eta
|
||||
_dpt _koma
|
||||
|
||||
|
||||
// names of punctuation and symbol characters
|
||||
|
||||
|
||||
|
||||
// functuion words
|
||||
// conjunctions
|
||||
eta $u+ $pause // and
|
||||
bainan $pause
|
||||
|
||||
|
||||
// pronouns
|
||||
ni $u+
|
||||
zu $u+
|
||||
hura $u+
|
||||
gu $u+
|
||||
zuek $u+
|
||||
haiek $u+
|
||||
|
||||
nire $u+ // possessive
|
||||
zure $u+
|
||||
haren $u+
|
||||
bere $u+
|
||||
gure $u+
|
||||
zuen $u+
|
||||
haien $u+
|
||||
beren $u+
|
||||
|
||||
hau $u+ // this
|
||||
hori $u+ // that
|
||||
hura $u+ // that (further)
|
||||
|
||||
// auxillary verbs
|
||||
izan $u // to be
|
||||
naiz $u
|
||||
zara $u
|
||||
da $u
|
||||
gara $u
|
||||
zarete $u
|
||||
dira $u
|
||||
|
||||
egon $u // to be
|
||||
nago $u
|
||||
zaude $u
|
||||
gaude $u
|
||||
zaudete $u
|
||||
daute $u
|
||||
|
||||
|
||||
// gramatical suffixes which can appear as words appended to numbers etc.
|
||||
// Should these be in eu_rules ??
|
||||
a $u
|
||||
an $u
|
||||
ean $u
|
||||
eko $u
|
||||
era $u
|
||||
ko $u
|
||||
|
||||
|
||||
etxe $1 $only
|
||||
|
||||
|
||||
// This file is UTF8 encoded
|
||||
// Spelling-to-phoneme words for Basque
|
||||
|
||||
b be
|
||||
c ze
|
||||
d de
|
||||
f 'efe
|
||||
g ge
|
||||
h 'atSe
|
||||
j J'ota
|
||||
k ka
|
||||
l 'ele
|
||||
m 'eme
|
||||
n 'ene
|
||||
ñ 'en^e
|
||||
p pe
|
||||
q ku
|
||||
r 'eR2e
|
||||
s 'ese
|
||||
t 'te
|
||||
v 'uBe
|
||||
w 'uBe||bikoitza
|
||||
x 'iSa
|
||||
y i||gr'ekoa
|
||||
z 'z'eta
|
||||
|
||||
_a a
|
||||
_e e
|
||||
_i i
|
||||
_o o
|
||||
_u u
|
||||
|
||||
|
||||
// numbers
|
||||
_0 zer'o
|
||||
_1 b'at
|
||||
_2 b'i
|
||||
_3 'iru
|
||||
_4 l'aU
|
||||
_5 b'ost
|
||||
_6 s'eI
|
||||
_7 z'azpi
|
||||
_8 z'ortzi
|
||||
_9 beD'eratzi
|
||||
_10 am'aR2
|
||||
_11 am'aIka
|
||||
_12 am'aBi
|
||||
_13 am'aIru
|
||||
_14 am'alaU
|
||||
_15 am'aBost
|
||||
_16 am'aseI
|
||||
_17 am'azazpi
|
||||
_18 em'ezortzi
|
||||
_19 em'eretzi
|
||||
_20 oQ'eI
|
||||
_2X oQeIta
|
||||
_40 beR2oQ'eI
|
||||
_4X beR2oQeIta
|
||||
_60 iruroQ'eI
|
||||
_6X iruroQeIta
|
||||
_80 laUroQ'eI
|
||||
_8X laUroQeIta
|
||||
_1C e'un
|
||||
_2C beR2'eun
|
||||
_3C ir'ureun
|
||||
_4C laur'eun
|
||||
_5C bost'eun
|
||||
_6C sei'eun
|
||||
_7C zazp'ieun
|
||||
_8C zortz'ieun
|
||||
_9c bederatz'ieun
|
||||
_0C e,un
|
||||
_0M1 m'il^a
|
||||
_0M2 mil^'ioI
|
||||
_1M2 mil^'ioI||bat
|
||||
_0and eta
|
||||
_dpt _koma
|
||||
|
||||
|
||||
// names of punctuation and symbol characters
|
||||
_. p'untu
|
||||
_, k'oma
|
||||
_- gid'oI
|
||||
_! arr'idura
|
||||
_? gald'era
|
||||
_: b'i||p'untu
|
||||
_; p'untu||eta||k'oma
|
||||
|
||||
// functuion words
|
||||
// conjunctions
|
||||
eta $u+ $pause // and
|
||||
baina $u+ $pause
|
||||
|
||||
// pronouns
|
||||
ni $1
|
||||
zu $1
|
||||
hura $1
|
||||
gu $1
|
||||
zuek $1
|
||||
haiek $1
|
||||
nire $u+
|
||||
zure $u+
|
||||
haren $u+
|
||||
bere $u+
|
||||
gure $u+
|
||||
zuen $u+
|
||||
haien $u+
|
||||
beren $u+
|
||||
|
||||
hau $1 // this
|
||||
honen $1
|
||||
hauen $1
|
||||
hori $1 // that
|
||||
horren $1 // genitive
|
||||
hura $1 // that (further)
|
||||
haien $1 // genitive
|
||||
|
||||
// Some auxiliary verbs
|
||||
gara $2
|
||||
zara $2
|
||||
dira $2
|
||||
|
||||
// gramatical suffixes which can appear as words appended to numbers etc.
|
||||
// Should these be in eu_rules ??
|
||||
a $u
|
||||
ak $u
|
||||
an $u
|
||||
ean $u
|
||||
etan $u
|
||||
eko $u
|
||||
etarako $u
|
||||
ko $u
|
||||
era $u
|
||||
ra $u
|
||||
etara $u
|
||||
|
||||
|
||||
// Other words (mostly nouns)
|
||||
|
||||
// Bisillabic words which have the stres always in the first syllable
|
||||
kaixo $1
|
||||
testu $1
|
||||
lehia $1
|
||||
patu $1
|
||||
|
||||
// Bisillabic words whitch get misspronounced with the suffix list
|
||||
etxe $1 $only
|
||||
kale $1 $only
|
||||
aste $1 $only
|
||||
urte $1 $only
|
||||
|
||||
// j as [x]
|
||||
jipoi x'ipoi
|
||||
|
||||
// other
|
||||
|
||||
aerobiko $3
|
||||
aerodinamiko $5
|
||||
aerodinamika $5
|
||||
aerodromo $3
|
||||
aerometro $3
|
||||
aeromodelismo $6
|
||||
aeronauta $4
|
||||
aeronautika $4
|
||||
aeronautiko9 $4
|
||||
aerosol $4
|
||||
aerostatika $4
|
||||
aerostato $4
|
||||
adrenalina adrenalin2a
|
||||
aharraus $2
|
||||
aharrausika $2
|
||||
ahur aur $only
|
||||
ahurr auR2
|
||||
|
||||
// Abbreviations
|
||||
adib ad'ibidez $hasdot
|
||||
|
||||
// proper names and surnames
|
||||
juan xw'an
|
||||
jorge x'orxe
|
||||
jose x'ose
|
||||
josé x'os'e
|
||||
joaquín xoak'in
|
||||
san $u
|
||||
santo $u
|
||||
aristoteles $3
|
||||
hume x'iUm
|
||||
nietztsche n'itSe
|
||||
abako $1
|
||||
|
||||
+224
-121
@@ -1,147 +1,250 @@
|
||||
// This file is UTF8 encoded
|
||||
// Spelling-to-phoneme rules for Basque
|
||||
|
||||
.L01 b d g
|
||||
.L02 e i
|
||||
|
||||
|
||||
.group a
|
||||
a a
|
||||
ai aI
|
||||
ahi aI
|
||||
au aU
|
||||
ahu aU
|
||||
a (_S1t a
|
||||
ak (_S2t ak
|
||||
ari (_S3t ari
|
||||
aren (_S4t a**en
|
||||
arekin (_S6t a**ekin
|
||||
arentzat (_S8t a**entzat
|
||||
arentzako (_S9t arentzako
|
||||
an (_S2t an
|
||||
atik (_S4t atik
|
||||
ara (_S3t a**a
|
||||
arat (_S4t arat
|
||||
atatik (_S6t atatik
|
||||
atara (_S5t ata**a
|
||||
atarat (_S5t atarat
|
||||
ako (_S3t ako
|
||||
atako (_S5t atako
|
||||
araino (_S6t a**ain^o
|
||||
ataraino (_S8t ata**an^o
|
||||
arantz (_S6t a**antz
|
||||
atarantz (_S8t a**antz
|
||||
agana (_S5t agana
|
||||
arengana (_S8t a**engana
|
||||
arenganaino (_s11 a**enganain^o
|
||||
arengatik (_S9t a**engatik
|
||||
atzat (_S5t atzat
|
||||
␍
|
||||
␍
|
||||
|
||||
// This file is UTF8 encoded
|
||||
// Spelling-to-phoneme rules for Basque
|
||||
.group b
|
||||
b b
|
||||
_ez_) b (A p'
|
||||
␍
|
||||
|
||||
.group c
|
||||
c k
|
||||
c (L02 T
|
||||
␍
|
||||
␍
|
||||
|
||||
.group a
|
||||
a a
|
||||
ai aI
|
||||
au aU
|
||||
.group d
|
||||
d d
|
||||
dd J
|
||||
A) d (A D // ??
|
||||
_ez_) d (A t'
|
||||
␍
|
||||
␍
|
||||
␍
|
||||
|
||||
.group e
|
||||
e e
|
||||
ei eI
|
||||
ehi eI
|
||||
l) ehi (A eI
|
||||
eu eU
|
||||
ek (_S2t ek
|
||||
ei (_S2t eI
|
||||
en (_S2t en
|
||||
ean (_S3t ean
|
||||
etan (_S4t etan
|
||||
etatik (_S6t etatik
|
||||
etara (_S5t eta**a
|
||||
erat (_S4t erat
|
||||
etako (_S5t etako
|
||||
eko (_S3t eko
|
||||
etarako (_S7t etarako
|
||||
etarantz (_S8t eta**antz
|
||||
etaraino (_S8t eta**aino
|
||||
engana (_S6t engana
|
||||
entzat (_S6t entzat
|
||||
entzako (_S7t entzako
|
||||
engatik (S7 engatik
|
||||
ekin (_S4t ekin
|
||||
ekiko (_S5t ekiko
|
||||
ez (_S2t ez
|
||||
etaz (_S4t etaz
|
||||
␍
|
||||
␍
|
||||
|
||||
.group b
|
||||
b b
|
||||
.group f
|
||||
f f
|
||||
␍
|
||||
␍
|
||||
|
||||
.group g
|
||||
g g
|
||||
A) g (A Q // ??
|
||||
_ez_) g (A k'
|
||||
gana (_S4t gana
|
||||
go (_S2t go
|
||||
␍
|
||||
|
||||
.group c
|
||||
c k
|
||||
c (e s
|
||||
c (i s
|
||||
.group h
|
||||
h // silent
|
||||
zi) h (o x
|
||||
␍
|
||||
␍
|
||||
|
||||
.group i
|
||||
i i
|
||||
K) i (_S1t i
|
||||
ad) i (eraz j
|
||||
le) i (h j
|
||||
arraz) i (on j
|
||||
␍
|
||||
|
||||
.group d
|
||||
d d
|
||||
Ki) d (A J
|
||||
dd J
|
||||
A) d (A D // ??
|
||||
.group j
|
||||
j J // try [x] [J] [j] [J^] [Z] [S]
|
||||
ad) j (udika x
|
||||
␍
|
||||
␍
|
||||
|
||||
.group k
|
||||
k k
|
||||
ko (_S2t ko
|
||||
␍
|
||||
␍
|
||||
|
||||
.group l
|
||||
l l
|
||||
ll l^
|
||||
_ez_) l (A l'
|
||||
␍
|
||||
|
||||
.group m
|
||||
m m
|
||||
␍
|
||||
␍
|
||||
|
||||
.group e
|
||||
e e
|
||||
ei eI
|
||||
eu eU
|
||||
.group n
|
||||
n n
|
||||
n (_S1t n
|
||||
adrenali) n n2
|
||||
admi) n (istr n2
|
||||
␍
|
||||
|
||||
&) ek (_S2 ek
|
||||
|
||||
.group o
|
||||
o o
|
||||
oi oI
|
||||
␍
|
||||
␍
|
||||
|
||||
.group f
|
||||
f f
|
||||
.group p
|
||||
p p
|
||||
␍
|
||||
␍
|
||||
|
||||
.group q
|
||||
q k
|
||||
␍
|
||||
␍
|
||||
|
||||
.group g
|
||||
g g
|
||||
A) g (A Q // ??
|
||||
.group r
|
||||
r r
|
||||
_) r R2
|
||||
rr R2
|
||||
A) ri (_S2t ri
|
||||
ren (_S3t ren
|
||||
ra (_S2t ra
|
||||
rat (_S3 t rat
|
||||
rantz (_S5t rantz
|
||||
raino (_S5t raino
|
||||
rako (_S4t rako
|
||||
rentzat (_S7t rentzat
|
||||
rentzako (_S8t rentzako
|
||||
rekin (_S5t rekin
|
||||
rengan (_S6t rengan
|
||||
rengana (_S7t rengana
|
||||
rengandik (_S9t rengandik
|
||||
rengatik (_S8t rengatik
|
||||
␍
|
||||
␍
|
||||
|
||||
.group s
|
||||
s s
|
||||
␍
|
||||
␍
|
||||
|
||||
.group h
|
||||
h // silent
|
||||
.group t
|
||||
t t
|
||||
ts ts
|
||||
tt c
|
||||
tx tS
|
||||
tz tz
|
||||
tan (_S3t tan
|
||||
tara (_S4 t tara
|
||||
tarat (_S5t tarat
|
||||
tik (_S3t tik
|
||||
tatik (_S5t tatik
|
||||
taz (_S3t taz
|
||||
tu (_S2t tu
|
||||
tuko (_S4t tuko
|
||||
tzen (_S4t tzen
|
||||
ten (_S3t ten
|
||||
␍
|
||||
␍
|
||||
|
||||
.group u
|
||||
u u
|
||||
␍
|
||||
␍
|
||||
|
||||
.group i
|
||||
i i
|
||||
.group v
|
||||
v b
|
||||
␍
|
||||
␍
|
||||
|
||||
.group w
|
||||
w u
|
||||
␍
|
||||
␍
|
||||
|
||||
.group j
|
||||
j J // try [x] [J] [j] [J^] [Z] [S]
|
||||
.group x
|
||||
x S
|
||||
␍
|
||||
␍
|
||||
|
||||
.group y
|
||||
y jj
|
||||
␍
|
||||
|
||||
.group k
|
||||
k k
|
||||
|
||||
|
||||
.group l
|
||||
l l
|
||||
ll l^
|
||||
Ki) l (A l^
|
||||
|
||||
|
||||
.group m
|
||||
m m
|
||||
|
||||
|
||||
.group n
|
||||
n n
|
||||
Ki) n (A n^
|
||||
|
||||
|
||||
.group ñ
|
||||
ñ n^
|
||||
|
||||
|
||||
.group o
|
||||
o o
|
||||
oi oI
|
||||
|
||||
|
||||
.group p
|
||||
p p
|
||||
|
||||
|
||||
.group q
|
||||
q k
|
||||
qu kw
|
||||
que (_ k
|
||||
|
||||
|
||||
.group r
|
||||
r r
|
||||
_) r R2
|
||||
r (_ R2
|
||||
rr R2
|
||||
|
||||
|
||||
.group s
|
||||
s s
|
||||
|
||||
|
||||
.group t
|
||||
t t
|
||||
Ki) t (A c
|
||||
ts ts
|
||||
tt c
|
||||
tx tS
|
||||
tz tz
|
||||
|
||||
|
||||
.group u
|
||||
u u
|
||||
|
||||
|
||||
.group v
|
||||
v v
|
||||
|
||||
|
||||
.group w
|
||||
w w
|
||||
|
||||
|
||||
.group x
|
||||
x S
|
||||
|
||||
|
||||
.group y
|
||||
y j
|
||||
K) y (K i
|
||||
|
||||
|
||||
.group z
|
||||
z z
|
||||
|
||||
|
||||
|
||||
.group
|
||||
ç s
|
||||
ü Y
|
||||
.group z
|
||||
z z
|
||||
_e) z (_L01 %z
|
||||
_e) z (_l
|
||||
z (_S1t z
|
||||
␍
|
||||
|
||||
.group
|
||||
á ''a
|
||||
é ''e
|
||||
í ''i
|
||||
ó ''o
|
||||
ú ''u
|
||||
ç s
|
||||
ü Y
|
||||
ñ n^
|
||||
␍
|
||||
|
||||
+1
-1
@@ -81,7 +81,7 @@
|
||||
.group c
|
||||
|
||||
c ts
|
||||
ch h
|
||||
ch x
|
||||
ch (i C
|
||||
chi (A hj
|
||||
psy) chi (a hi
|
||||
|
||||
+47
-17
@@ -120,6 +120,11 @@ _− m'enUs
|
||||
½ m'eIU
|
||||
¾ tRes#kw'a*@-tUs#
|
||||
® xeZistR'adU
|
||||
↑ s'Et&as'im&
|
||||
↓ s'Et&ab'aISU
|
||||
← s'Et&aes#k'e*@-d&
|
||||
?2 → s'Et&adZi*eIt&
|
||||
|
||||
?1 ™ m'a*@-k&xeZiSt'ad&
|
||||
?2 ™ m'a*@-k&xeZistR'ad&
|
||||
_, v'irgul&
|
||||
@@ -694,14 +699,18 @@ ampola $alt2
|
||||
ampulheta $alt2
|
||||
anchova $alt2
|
||||
andorra $alt2
|
||||
andrea $alt
|
||||
andreia $alt
|
||||
antonieta $alt2
|
||||
apego $alt2 $noun
|
||||
apelo $alt2 $noun
|
||||
apelos $alt2
|
||||
aposto $alt $verb
|
||||
aperto $alt2 $noun
|
||||
apertos $alt2
|
||||
apneia $alt
|
||||
apoio $alt $verb
|
||||
aqueia $alt
|
||||
arredores $alt
|
||||
arremesso $alt2 $noun
|
||||
arrocho $alt2 $noun
|
||||
@@ -722,9 +731,12 @@ açores $alt2
|
||||
bairro b'aIxU
|
||||
baitola $alt2
|
||||
balancete $alt2
|
||||
bangladesh $alt
|
||||
banquete $alt2
|
||||
barreto $alt2
|
||||
basileia $alt
|
||||
bastonete $alt2
|
||||
baviera $alt
|
||||
beco $alt2
|
||||
besta $alt2
|
||||
beça $alt
|
||||
@@ -753,14 +765,17 @@ broto $alt2 $noun
|
||||
buceta $alt2
|
||||
cabresto $alt2
|
||||
cacete $alt2
|
||||
cacoete $alt2
|
||||
caderneta $alt2
|
||||
cadete $alt2
|
||||
caibro k'aIbRU
|
||||
cãibra k'&~IbR&
|
||||
caixeta $alt2
|
||||
caldeia $alt
|
||||
camelha $alt
|
||||
camiseta $alt2
|
||||
canaleta $alt2
|
||||
cananeia $alt
|
||||
canhoto $alt2
|
||||
capacete $alt2
|
||||
caractere $alt
|
||||
@@ -775,18 +790,16 @@ catequeses $alt
|
||||
catorze $alt2
|
||||
cavalete $alt2
|
||||
cebola $alt2
|
||||
cedro $alt
|
||||
cefaleia $alt
|
||||
centopeia $alt
|
||||
cerebelo $alt2
|
||||
cerca $alt $verb
|
||||
cerco $alt $verb
|
||||
cetro $alt
|
||||
chamego $alt2 $verb
|
||||
chamegos $alt2
|
||||
chamego $alt2
|
||||
chamego $alt $verb
|
||||
chapeleta $alt2
|
||||
chaveta $alt2
|
||||
chefe $alt
|
||||
choco $alt2 $noun
|
||||
choça $alt
|
||||
chofer $alt
|
||||
@@ -823,7 +836,6 @@ controles $alt2
|
||||
controles $alt $verb
|
||||
controlo $alt2 $noun
|
||||
conveses $alt
|
||||
copta $alt
|
||||
coreia $alt
|
||||
cores $alt2
|
||||
cores $alt $verb
|
||||
@@ -835,8 +847,10 @@ coro $alt $verb
|
||||
corpete $alt2
|
||||
corpos $alt
|
||||
corto $alt
|
||||
corveia $alt
|
||||
corveta $alt2
|
||||
corvos $alt
|
||||
cosme $alt
|
||||
costeleta $alt2
|
||||
coto $alt2
|
||||
cotovelo $alt2
|
||||
@@ -844,11 +858,14 @@ cozem $alt
|
||||
cratera $alt
|
||||
crede $alt2
|
||||
credo $alt
|
||||
crimeia $alt
|
||||
decoreba $alt
|
||||
decoro $alt2 $noun
|
||||
degelo $alt2
|
||||
desaforo $alt2
|
||||
desamores $alt2
|
||||
desapego $alt2 $noun
|
||||
desapego $alt2
|
||||
desapego $alt $verb
|
||||
desassossego $alt2 $noun
|
||||
desconfortos $alt2
|
||||
desconsolo $alt2 $noun
|
||||
@@ -857,6 +874,7 @@ descordo $alt
|
||||
descorno $alt
|
||||
desemprego $alt2
|
||||
desemprego $alt $verb
|
||||
desenvolto $alt2
|
||||
desespero $alt2
|
||||
desespero $alt $verb
|
||||
desfecho $alt2
|
||||
@@ -869,6 +887,8 @@ desse $alt2
|
||||
desse $alt $verb
|
||||
deste $alt2
|
||||
deste $alt $verb
|
||||
destempero $alt2 $noun
|
||||
destemperos $alt2
|
||||
desterro $alt2
|
||||
destroem $alt
|
||||
deteriore $alt
|
||||
@@ -892,7 +912,8 @@ doso $alt
|
||||
doze $alt2
|
||||
dueto $alt2
|
||||
edson $alt
|
||||
elixir eliSir
|
||||
egeia $alt
|
||||
eleia $alt
|
||||
emborco $alt
|
||||
emprego $alt2
|
||||
emprego $alt2 $noun
|
||||
@@ -900,6 +921,7 @@ encasqueta $alt
|
||||
encosto $alt $verb
|
||||
endereço $alt $verb
|
||||
endoide $alt2
|
||||
eneias $alt
|
||||
enforco $alt
|
||||
engodo $alt2
|
||||
engordo $alt
|
||||
@@ -976,6 +998,7 @@ força $alt $verb
|
||||
forço $alt
|
||||
formos $alt2
|
||||
forro $alt $verb
|
||||
fosso $alt2
|
||||
frescores $alt2
|
||||
frevo $alt2
|
||||
fulgores $alt2
|
||||
@@ -993,7 +1016,6 @@ gesso $alt2
|
||||
gloso $alt
|
||||
gonorreia $alt
|
||||
gol gow
|
||||
golpe $alt
|
||||
gorda $alt2
|
||||
gorjeta $alt2
|
||||
gororoba $alt
|
||||
@@ -1003,6 +1025,7 @@ gota $alt2
|
||||
governo $alt2
|
||||
governo $alt $verb
|
||||
gozo $alt2 $noun
|
||||
gozos $alt2
|
||||
graveto $alt2
|
||||
groselha $alt
|
||||
grosso $alt2
|
||||
@@ -1028,6 +1051,7 @@ jogo $alt $verb
|
||||
jogos $alt
|
||||
joguete $alt2
|
||||
judeia $alt
|
||||
jurubeba $alt
|
||||
lacerda $alt
|
||||
lagosta $alt2
|
||||
lambreta $alt2
|
||||
@@ -1043,13 +1067,11 @@ lopes $alt
|
||||
lutero $alt
|
||||
macete $alt2
|
||||
maioneses $alt
|
||||
manopla $alt
|
||||
maniçoba $alt
|
||||
marieta $alt2
|
||||
mariposa $alt2
|
||||
megera $alt
|
||||
melhor $alt
|
||||
menor $alt
|
||||
meta $alt $noun
|
||||
metro $alt
|
||||
minueto $alt2
|
||||
@@ -1064,7 +1086,6 @@ moem $alt
|
||||
mofo $alt $verb
|
||||
mogno $alt
|
||||
molho $alt2 $noun
|
||||
monera $alt
|
||||
montenegro $alt2
|
||||
mor $alt
|
||||
morcego $alt2
|
||||
@@ -1077,6 +1098,7 @@ namoro $alt2 $noun
|
||||
naquela $nounf
|
||||
naquele $alt2 $nounf
|
||||
nervo $alt2
|
||||
niceia $alt
|
||||
ninfeta $alt2
|
||||
nitreto $alt2
|
||||
nojo $alt2
|
||||
@@ -1097,8 +1119,11 @@ pacheco $alt2
|
||||
paexa paeSa
|
||||
paella pa'el^&
|
||||
palacete $alt2
|
||||
palermo $alt
|
||||
palimpsesto $alt2
|
||||
palheta $alt2
|
||||
palhoça $alt
|
||||
panaceia $alt
|
||||
pangeia $alt
|
||||
pantera $alt
|
||||
papoco $alt2 $noun
|
||||
@@ -1106,7 +1131,7 @@ paradoxo $alt
|
||||
parede $alt2
|
||||
pateta $alt
|
||||
peba $alt
|
||||
pedra $alt
|
||||
pedro $alt2
|
||||
peixoto $alt2
|
||||
pela $alt2
|
||||
pelo $alt2
|
||||
@@ -1120,6 +1145,7 @@ pesadelo $alt2
|
||||
peses $alt
|
||||
peseta $alt2
|
||||
peso $alt $verb
|
||||
pigmeia $alt
|
||||
piloto $alt2 $noun
|
||||
pilotos $alt2
|
||||
pior $alt
|
||||
@@ -1130,6 +1156,7 @@ plebeia $alt
|
||||
poderem $alt2
|
||||
polca $alt
|
||||
pompeia $alt
|
||||
popa $alt2
|
||||
porcos $alt
|
||||
porque $alt2
|
||||
porra $alt2
|
||||
@@ -1153,6 +1180,7 @@ quitinete $alt
|
||||
quinteto $alt2
|
||||
ramalhete $alt2
|
||||
rancores $alt2
|
||||
ranheta $alt2
|
||||
raposa $alt2
|
||||
recomeço $alt $verb
|
||||
reconstroem $alt
|
||||
@@ -1228,10 +1256,10 @@ sulfureto $alt2
|
||||
super s'Uper
|
||||
suporto $alt
|
||||
suor suOr
|
||||
tabefe $alt
|
||||
tambores $alt2
|
||||
tapera $alt
|
||||
tapete $alt2
|
||||
tebas $alt
|
||||
temores $alt2
|
||||
tempero $alt2 $noun
|
||||
tenores $alt2
|
||||
@@ -1249,6 +1277,7 @@ torno $alt $verb
|
||||
tornozelo $alt2
|
||||
torre $alt2 $noun
|
||||
torres $alt2
|
||||
torreta $alt2
|
||||
torro $alt
|
||||
toso $alt
|
||||
totens $alt
|
||||
@@ -1264,6 +1293,7 @@ tropa $alt
|
||||
tropeço $alt2 $noun
|
||||
trombeta $alt2
|
||||
ureia $alt
|
||||
uretra $alt
|
||||
vanessa $alt2
|
||||
vareta $alt2
|
||||
vera $alt
|
||||
@@ -1277,7 +1307,6 @@ voga $alt
|
||||
voice $alt
|
||||
xarope $alt
|
||||
xereta $alt2
|
||||
xerox S'E*Oks
|
||||
xeroxes $alt
|
||||
zelo $alt2 $noun
|
||||
zorra $alt2
|
||||
@@ -1314,7 +1343,7 @@ doc d'Ok
|
||||
?2 designer dez'aIner
|
||||
?2 designers dez'aIners
|
||||
?2 desktops deskt'Ops
|
||||
dj d,i:dZ'eI
|
||||
?1 dj d,i:dZ'eI
|
||||
?2 diesel dZ'izEU
|
||||
?2 doha d'ox&
|
||||
?1 down d'a,wn
|
||||
@@ -1349,6 +1378,7 @@ get gEt
|
||||
?1 hardware 'ard,w'Er-
|
||||
?2 hardware h'ardwe@-
|
||||
happy x'Epy
|
||||
?2 haxixe xaS'iSy
|
||||
?1 home 'omy
|
||||
?2 home h'owmi
|
||||
hot xOt
|
||||
@@ -1424,9 +1454,10 @@ upgrade &pgR'eId
|
||||
upload &pl'oud
|
||||
?2 web w'Eb
|
||||
writer r'aIter
|
||||
xerox S'E*Oks
|
||||
?1 yahoo 'i,ah'u
|
||||
?2 yahoo iah'u
|
||||
?1 yes j'Es
|
||||
yes j'Es
|
||||
|
||||
|
||||
// common person names
|
||||
@@ -1470,7 +1501,6 @@ mac mEk
|
||||
?2 microsoft m'aIkRows'Oft
|
||||
?1 movie m'uvi
|
||||
?1 nero n'Eru
|
||||
?2 nero n'ErU
|
||||
?2 netbooks nEtbUks
|
||||
?2 notebook nowtbUk
|
||||
?2 notebooks nowtbUks
|
||||
|
||||
+59
-76
@@ -1,4 +1,4 @@
|
||||
// translation rules Brazilian
|
||||
// translation rules Brazilian
|
||||
// This file is UTF-8 encoded
|
||||
|
||||
// Options
|
||||
@@ -22,6 +22,7 @@
|
||||
.L05 r ra ram re rem rde rmo
|
||||
.L06 r ra ram ste sse ssem re rem rmo
|
||||
.L07 sse ssem ste
|
||||
.L08 a o
|
||||
|
||||
|
||||
.group a
|
||||
@@ -201,7 +202,7 @@
|
||||
|
||||
e (dL02_ E
|
||||
|
||||
e (fa_ E
|
||||
e (fL04_ E
|
||||
|
||||
e (gL04_ E
|
||||
|
||||
@@ -218,16 +219,16 @@
|
||||
|
||||
ib) e (rL04_ E
|
||||
d) e (rL04_ E
|
||||
eb) e (L07_ e // recebeste, etc.
|
||||
ed) e (rL04_ e
|
||||
eg) e (L07_ e // elegeste, etc.
|
||||
_@o) e (L07_ e // doeste, etc.
|
||||
iv) e (rL04_ E
|
||||
pod) e (rA_ e
|
||||
|
||||
@s) e (L05_ E
|
||||
|
||||
p) e (rL04_ E
|
||||
|
||||
f) e (rL04_ E
|
||||
|
||||
n) e (rL04_ E
|
||||
p) e (rL04_ E
|
||||
e (quL02_ E
|
||||
e (rbL04_ E
|
||||
e (rgL04_ E
|
||||
@@ -241,19 +242,12 @@
|
||||
?2 ee (C_ i
|
||||
?2 C) e (em_ e
|
||||
e (stL04_ E
|
||||
|
||||
e (strL04_ E
|
||||
|
||||
e (rme_ E
|
||||
|
||||
e (rnL04_ E
|
||||
|
||||
e (rtL04_ E
|
||||
|
||||
e (rrL04_ E
|
||||
|
||||
e (rvL04_ E
|
||||
|
||||
e (tL04_ E
|
||||
m) e (tL03_ e
|
||||
An) e (tA_ e
|
||||
@@ -345,6 +339,7 @@
|
||||
|
||||
ef) e (tuL02_ e
|
||||
t) e (tra E
|
||||
e (drL04_ E
|
||||
|
||||
âC) e (C@ e
|
||||
âCC) e (C@ e
|
||||
@@ -357,6 +352,7 @@
|
||||
éCC) e (CA_ e
|
||||
éCCC) e (C@ e
|
||||
?2 íC) el (_ eU
|
||||
í) e (C@ e
|
||||
íC) e (C@ e
|
||||
íCC) e (C@ e
|
||||
óC) e (C@ e
|
||||
@@ -375,6 +371,8 @@
|
||||
_pud) e (L05_ E
|
||||
_exag) e (L05_ E
|
||||
_mulh) e (L05_ E
|
||||
_chancel) e (L05_ E
|
||||
vi) e (L05_ E
|
||||
_talh) e (L05_ E
|
||||
_troux) e (L05_ E
|
||||
@m) e (L06_ e // temeram, etc.
|
||||
@@ -384,19 +382,15 @@ _troux) e (L05_ E
|
||||
diss) e (L06_ E // contra-
|
||||
romp) e (L06_ e // cor- inter-
|
||||
_houv) e (L06_ E
|
||||
_escond) e (L06_ e
|
||||
respond) e (L06_ e
|
||||
sCond) e (L06_ e // esconderam, etc.
|
||||
constrang) e (L07_ e
|
||||
eb) e (L07_ e // recebeste, etc.
|
||||
eg) e (L07_ e // elegeste, etc.
|
||||
_@o) e (L07_ e // doeste, etc.
|
||||
_cr) e (L07_ e
|
||||
_dev) e (L07_ e
|
||||
bat) e (L07_ e // re- com-
|
||||
ced) e (L07_ e // pro- con- su-
|
||||
met) e (L07_ e // meteste, cometeste, etc.
|
||||
mex) e (L07_ e
|
||||
_requer) e (L07_ e
|
||||
_requer) e (L07_ e
|
||||
prouv) e (L07_ e
|
||||
mov) e (L07_ e // re- co-
|
||||
olv) e (L07_ e // devolveste, etc.
|
||||
@@ -408,8 +402,8 @@ precav) e (L07_ e
|
||||
_coz) e (L07_ e
|
||||
_val) e (L07_ e
|
||||
colh) e (L07_ e // & es-
|
||||
_lamb) e (L07_ e
|
||||
_prov) e (L07_ e
|
||||
_lamb) e (L07_ e
|
||||
_prov) e (L07_ e
|
||||
ench) e (L07_ e // pre-
|
||||
vert) e (L07_ e // in- re- con-
|
||||
ergu) e (L07_ e
|
||||
@@ -427,11 +421,12 @@ _troux) e (L07_ E
|
||||
_amanc) e (bL03_ E
|
||||
qu) e (brL04_ E
|
||||
_perp) e (trL04_ E
|
||||
_assev) e (rL04_ E
|
||||
sev) e (rL04_ E
|
||||
_imp) e (trL04_ E
|
||||
cel) e (brL04_ E
|
||||
_sop) e (sL04_ E
|
||||
_C) e (bre_ E
|
||||
_barb) e (tA_ e
|
||||
_boch) e (chL04_ e
|
||||
_ex) e (crL04_ E
|
||||
impr) e (gnL04_ E
|
||||
@@ -440,56 +435,47 @@ _amanc) e (bL03_ E
|
||||
_sob) e (rbL03_ e
|
||||
_pr) e (dL03_ E
|
||||
_arr) e (dL03_ E
|
||||
_emp) e (drL03_ E
|
||||
_enc) e (dL03_ E
|
||||
_api) e (dL03_ E
|
||||
_enc) e (dL03_ E
|
||||
_api) e (dL03_ E
|
||||
_depr) e (dL03_ E
|
||||
_hosp) e (dL03_ E
|
||||
_enver) e (dL03_ E
|
||||
_) e (dnL03_ E
|
||||
_gr) e (gL03_ e
|
||||
_gal) e (gL03_ e
|
||||
_alvin) e (grL03_ e
|
||||
_) e (dnL08_ E
|
||||
_gr) e (gL08_ e
|
||||
_gal) e (gL08_ e
|
||||
_lanc) e (tA_ e
|
||||
menorr) ei (a_ EI
|
||||
_pel) e (gL03_ e
|
||||
_n) e (grL03_ e
|
||||
_pel) e (gL08_ e
|
||||
n) e (grL08_ e
|
||||
estr) ei (L04_ EI
|
||||
_confed) e (rL04_ E
|
||||
_r) e (jL03_ E
|
||||
_inv) e (jL04_ E
|
||||
_panfl) e (tL04_ e
|
||||
_v) e (lhL03_ E
|
||||
_v) e (lhL08_ E
|
||||
_gr) e (lhL04_ E
|
||||
_tataran) e (tA_ E
|
||||
_tetran) e (tA_ E
|
||||
_trin) e (tA_ E
|
||||
_tataran) e (tL08_ E
|
||||
_tetran) e (tL08_ E
|
||||
_trin) e (tL08_ E
|
||||
_caC) e (lo_ e
|
||||
_porr) e (tA_ e
|
||||
_porr) e (tA_ e
|
||||
_livr) e (tA_ e
|
||||
?2 el (ton_ 'EU
|
||||
ad) e (quL04_ E
|
||||
_ing) e (rL02_ E
|
||||
_dig) e (rL02_ E
|
||||
_m) e (rL03_ E
|
||||
_sev) e (rL03_ E
|
||||
_reit) e (rL04_ E
|
||||
_sinc) e (rL03_ E
|
||||
_sinc) e (rL08_ E
|
||||
_g) e (rL04_ E
|
||||
_z) e (rL04_ E
|
||||
qu) e (rL04_ E // re-
|
||||
_on) e (rL04_ E
|
||||
gen) e (rL04_ E // de- re-
|
||||
_alt) e (rL04_ E
|
||||
_enc) e (rL04_ E
|
||||
_esm) e (rL04_ E
|
||||
_esm) e (rL04_ E
|
||||
_min) e (rL04_ E
|
||||
_sug) e (rL04_ E
|
||||
_tol) e (rL04_ E
|
||||
_ven) e (rL04_ E
|
||||
acel) e (rL04_ E // des-
|
||||
eson) e (rL04_ E
|
||||
_apod) e (rL04_ E
|
||||
_enum) e (rL04_ E
|
||||
_exub) e (rL04_ E
|
||||
@@ -497,23 +483,21 @@ _adult) e (rL04_ E
|
||||
_aglom) e (rL04_ E
|
||||
_dilac) e (rL04_ E
|
||||
_encarc) e (rL04_ E
|
||||
_incin) e (rL04_ E
|
||||
_persev) e (rL04_ E
|
||||
_refrig) e (rL04_ E
|
||||
_c) e (rcL02_ E
|
||||
_ex) e (rcL02_ E
|
||||
_alic) e (rcL02_ E
|
||||
_esqu) e (rdL03_ e
|
||||
_esqu) e (rdL08_ e
|
||||
_C) e (rdL04_ E
|
||||
_des) e (rdL04_ E
|
||||
_oblit) e (rL04_ E
|
||||
_oblit) e (rL04_ E
|
||||
s_colh) e (res_ E
|
||||
_) e (rgL03_ e
|
||||
_re) e (rgL03_ e
|
||||
_so) e (rgL03_ e
|
||||
sp) e (rma_ E
|
||||
e (rquL02_ E
|
||||
_bez) e (rrL03_ e
|
||||
_beC) e (rrL08_ e
|
||||
v) e (rtL03_ e // con- re- in-
|
||||
_f) e (rvL03_ e
|
||||
_alic) e (rçL03_ E
|
||||
@@ -525,7 +509,7 @@ s_colh) e (res_ E
|
||||
_p) e (scL03_ E
|
||||
_m) e (sclL04 E
|
||||
dioc) e (ses_ E
|
||||
_aust) e (rA_ E
|
||||
_aust) e (rL08_ E
|
||||
_d) e (spL02_ E
|
||||
proc) e (ssL02_ E
|
||||
_p) e (squL02_ E
|
||||
@@ -535,20 +519,20 @@ s_colh) e (res_ E
|
||||
_ac) e (ssL02_ E
|
||||
_esp) e (ssL03_ e
|
||||
_c) e (stL03_ e
|
||||
_pr) e (tL03_ e
|
||||
_pr) e (tL08_ e
|
||||
_rem) e (tL03_ e
|
||||
_derr) e (tL03_ e
|
||||
_obsol) e (tL03_ e
|
||||
_obsol) e (tL08_ e
|
||||
_bol) e (tL04_ e
|
||||
_CaC) e (ta_ e
|
||||
_minu) e (tA_ e
|
||||
_terc) e (tA_ e
|
||||
viol) e (ta_ e
|
||||
_Carr) e (ta_ e
|
||||
_Gur) e (ta_ e
|
||||
_Gur) e (ta_ e
|
||||
_pen) e (trL04_ E
|
||||
_sol) e (trL04_ E
|
||||
_n) eu (trL03_ 'eU
|
||||
_n) eu (trL08_ 'eU
|
||||
_d) e (vL03_ e
|
||||
scr) e (vL03_ e // e- in- pre- ree- de-
|
||||
_atr) e (vL03_ e
|
||||
@@ -632,7 +616,7 @@ _redar) gu (A gw
|
||||
san) gu (ín gw
|
||||
san) gu (in gw
|
||||
stin) gu (A gw
|
||||
_un) gu (ento_ gw
|
||||
_un) gu (ento_ gw
|
||||
xtin) gu (A gw
|
||||
?1 n) gu (A gw // eg: língua, etc.
|
||||
?1 man) gu (ei g // mangueira
|
||||
@@ -891,6 +875,7 @@ _redar) gu (A gw
|
||||
b) o (rL04_ O
|
||||
o (p_ O
|
||||
C) o (pL04_ O
|
||||
o (pCL04_ O
|
||||
?1 _) o (C O // eg: olá, orla, opção, etc...
|
||||
?1 _C) o (CACAC u // Documento, documentação, localizar, etc.
|
||||
?1 f) o (rmat u // formatar, formato.
|
||||
@@ -920,16 +905,16 @@ _redar) gu (A gw
|
||||
//sort
|
||||
_f) o (L05_ o
|
||||
_red) o (L05_ O
|
||||
_pormen) o (L05_ O
|
||||
men) o (L05_ O
|
||||
_f) o (L07_ o
|
||||
_s) o (bL02_ O
|
||||
_af) o (bL04_ O
|
||||
_esn) o (bL04_ O
|
||||
_engl) o (bL04_ O
|
||||
_sal) o (brL03_ o
|
||||
_) o (cL03_ o
|
||||
_barr) o (cL03_ o
|
||||
_ch) o (chA_ o
|
||||
_sal) o (brL08_ o
|
||||
_) o (cL08_ o
|
||||
_barr) o (cL08_ o
|
||||
_ch) o (chL08_ o
|
||||
_m) o (chA_ o
|
||||
_f) o (dL01_s o
|
||||
_ecl) o (dL03_ o
|
||||
@@ -944,7 +929,7 @@ _pormen) o (L05_ O
|
||||
_ap) oi (L02_ OI
|
||||
_b) oi (L04_ OI
|
||||
_C) oi (ce_ oI
|
||||
_t) o (lL03_ o
|
||||
_t) o (lL08_ o
|
||||
_f) o (lgL04_ O
|
||||
_emp) o (lgL04_ O
|
||||
_arr) o (lhL03_ O
|
||||
@@ -953,13 +938,10 @@ _pormen) o (L05_ O
|
||||
_) o (bstL04_ O
|
||||
m) o (lhL04_ O
|
||||
emb) o (lsL04_ O
|
||||
_env) o (ltL03_ o
|
||||
_env) o (ltL08_ o
|
||||
_esC) o (pA_ o
|
||||
antr) o (pL03_ o
|
||||
_s) o (prL04_ O
|
||||
_al) o (prL04_ O
|
||||
_ass) o (prL04_ O
|
||||
_) o (ptL04_ O
|
||||
g) ol (pe_ Ow
|
||||
antr) o (pL08_ o
|
||||
flex) o (rA_
|
||||
p) o (rL02_ o
|
||||
_dev) o (rL02_ O
|
||||
@@ -1004,13 +986,14 @@ _pormen) o (L05_ O
|
||||
?1 ovos (_G Ov=UZ novos, povos, etc.
|
||||
?2 ovos (_G Ov=Uz novos, povos, etc.
|
||||
ortos (_ O*@-t=Us# // tortos, mortos, etc.
|
||||
_Gar) o (tL03_ o
|
||||
_escr) o (tL03_ o
|
||||
_Gar) o (tL08_ o
|
||||
_escr) o (tL08_ o
|
||||
zig) o (to_ o
|
||||
_ch) o (vL01_ o
|
||||
pr) o (vL03_ O
|
||||
_Com) o (do_ o
|
||||
_ortod) o (xL03_ O
|
||||
_ortod) o (xL08_ O
|
||||
_arr) ox (A OS
|
||||
_g) o (zL04_ O
|
||||
_alm) o (çL01_ O
|
||||
_esb) o (çL01_ O
|
||||
@@ -1019,7 +1002,7 @@ _ortod) o (xL03_ O
|
||||
_ad) o (çL03_ O
|
||||
_emp) o (çL03_ O
|
||||
_end) o (çL03_ O
|
||||
_c) o (çL03_ O
|
||||
_c) o (çL03_ O
|
||||
//endsort
|
||||
|
||||
.group ô
|
||||
@@ -1229,11 +1212,9 @@ _ortod) o (xL03_ O
|
||||
.group x
|
||||
x (A S
|
||||
A) x (A ks
|
||||
e) x (A ks
|
||||
_e) x (A z
|
||||
_ê) x (A z
|
||||
_ine) x (A z
|
||||
_ine) x (orAC ks
|
||||
e) x (A ks
|
||||
?1 e) x (CA S
|
||||
ai) x (A S
|
||||
ei) x (A S
|
||||
@@ -1254,7 +1235,6 @@ _ortod) o (xL03_ O
|
||||
xA) x (A S
|
||||
_abaca) x (i S
|
||||
ale) x (a S
|
||||
_arro) x (e S
|
||||
_ave) x (A S
|
||||
bau) x (A S
|
||||
brA) x (A S
|
||||
@@ -1263,6 +1243,7 @@ _abaca) x (i S
|
||||
_ca) x (A S
|
||||
_co) x (A S
|
||||
_coe) x (A z
|
||||
_eli) x (ir S
|
||||
_esdrA) x (ul S
|
||||
_e) x (u_ S
|
||||
_fa) x (i S
|
||||
@@ -1270,6 +1251,8 @@ _esdrA) x (ul S
|
||||
gra) x (A S
|
||||
_he) x (A z
|
||||
?2 _he) x (A ks
|
||||
_ine) x (A z
|
||||
_ine) x (orAC ks
|
||||
_lagarti) x (A S
|
||||
_li) x (A S
|
||||
_lu) x (A S
|
||||
|
||||
@@ -304,6 +304,7 @@ _#-லும் ilUm
|
||||
|
||||
// English words
|
||||
tamil தமிழ் $text
|
||||
andagakavi அந்தகக்கவி $text
|
||||
|
||||
|
||||
// exceptions
|
||||
|
||||
@@ -4676,6 +4676,7 @@ _மைக்ரோசா) ப் (ட f
|
||||
_ஹ) ப்ப (ர்ட bbV
|
||||
_துர்) ப்ப (ல bbV
|
||||
_முழு) ப்ப (ல bbV
|
||||
_மனோ) ப்ப (ல bbV
|
||||
உ) ப்ப (லா bbV
|
||||
உ) ப்ப (லாக bbV
|
||||
உ) ப்ப (லான bbV
|
||||
@@ -4718,6 +4719,7 @@ _வெளி) ப்பி (ரகார pp
|
||||
_சுக) ப்பி (ரச pp
|
||||
அதிக) ப்பி (ரசங்க pp
|
||||
_மலை) ப்பி (ரசங்க pp
|
||||
_மலை) ப்பி (ரசங்க pp
|
||||
_சண்ட) ப்பி (ரசண்ட pp
|
||||
L03) ப்பிரச (ார pprVtS
|
||||
_கை) ப்பி (ரசுர pp
|
||||
@@ -4745,6 +4747,7 @@ _சத்திய) ப்பி (ரமா pp
|
||||
இரத்த) ப்பி (ரவாக pp
|
||||
_ஒL10ி) ப்பி (ரவாக pp
|
||||
_மணி) ப்பி (ரவாள pp
|
||||
_மணி) ப்பி (ரவாள pp
|
||||
தேச) ப்பி (ரஷ்ட pp
|
||||
_ஜாதி) ப்பி (ரஷ்ட pp
|
||||
_வான) ப்பி (ரஸ்த pp
|
||||
@@ -4757,6 +4760,7 @@ _கூட்டு) ப்பி (ரார்த்தனை pp
|
||||
_கஜ) ப்ப (ிருஷ்ட bb
|
||||
L03) ப்பி (ரேத pp
|
||||
L03) ப்பி (ரேத pp
|
||||
L03) ப்பி (ரேத pp
|
||||
L03) ப்பி (ரேரணை pp
|
||||
_ஹ) ப்ப (ிள bb
|
||||
_க்ள) ப்ப (ுகள bb
|
||||
@@ -4771,6 +4775,7 @@ _சந்தேக) ப்ப (ுத்தி bb
|
||||
_ல) ப்ப (ை bb
|
||||
_தர்) ப்ப (ை bb
|
||||
_மர) ப்ப (ொம்மை bb
|
||||
ரா) ப்ப (ோஜன bb
|
||||
_ரா) ப்ப (ோஜன bb
|
||||
துர்) ப்ப (ோதனை bb
|
||||
_கே) ப் (மாரி p
|
||||
|
||||
+13
-8
@@ -80,7 +80,7 @@ If neither -f nor --stdin is given, then the text input is taken from "text word
|
||||
<dt>
|
||||
<strong>-s <integer></strong><br>
|
||||
<dd>Sets the speed in words-per-minute (approximate values for the default English voice, others may differ slightly). The default value is 175. I generally use a faster speed
|
||||
of 200. Range 80 to 450. Larger value are rounded down to the maximum.
|
||||
of 260. The lower limit is 80. There is no upper limit, but about 500 is probably a practical maximum.
|
||||
<p>
|
||||
<dt>
|
||||
<strong>-b <integer></strong><br>
|
||||
@@ -141,8 +141,9 @@ Some languages may need additional dictionary data, see <a href="languages.html"
|
||||
<p>
|
||||
<dt>
|
||||
<strong>-x</strong><br>
|
||||
<dd>The phoneme mnemonics, into which the input text is translated, are
|
||||
written to stdout.
|
||||
<dd>The phoneme mnemonics, into which the input text is translated, are written to stdout.
|
||||
If a phoneme name contains more than one letter (eg. [tS]), the --sep or --tie option can be used to distinguish
|
||||
this from separate phonemes.
|
||||
<p>
|
||||
<dt>
|
||||
<strong>-X</strong><br>
|
||||
@@ -167,12 +168,8 @@ The same as <strong>--compile</strong>, but source line numbers from the *_rules
|
||||
<dt><strong>--ipa</strong><br>
|
||||
<dd>
|
||||
Writes phonemes to stdout, using the International Phonetic Alphabet (IPA).<br>
|
||||
If a phoneme name contains more than one letter (eg. [tS]) an optional parameter can be used to distinguish
|
||||
If a phoneme name contains more than one letter (eg. [tS]), the --sep or --tie option can be used to distinguish
|
||||
this from separate phonemes.
|
||||
<br>
|
||||
<code>--pho=1 </code> Use a tie character (U+0361) before subsequence letters.
|
||||
<br>
|
||||
<code>--pho=2 </code> Use a zero-width-joiner (U+200D) before subsequent letters.
|
||||
<p>
|
||||
<dt><strong>--path [="<directory path>"]</strong><br>
|
||||
<dd>
|
||||
@@ -190,10 +187,18 @@ If specified, the output from -x, -X, --ipa, and --pho options is written to thi
|
||||
<dd>
|
||||
Speaks the names of punctuation characters when they are encountered in the text. If <characters> are given, then only those listed punctuation characters are spoken, eg. <code> --punct=".,;?"</code>
|
||||
<p>
|
||||
<dt><strong>--sep [=<character>]</strong><br>
|
||||
<dd>
|
||||
The character is used to separate individual phonemes in the output which is produced by the -x or --ipa options. The default is a space character. The character z means use a ZWNJ character (U+200c).
|
||||
<p>
|
||||
<dt><strong>--split [=<minutes>]</strong><br>
|
||||
<dd>
|
||||
Used with <strong>-w</strong>, it starts a new WAV file every <code><minutes></code> minutes, at the next sentence boundary.
|
||||
<p>
|
||||
<dt><strong>--tie [=<character>]</strong><br>
|
||||
<dd>
|
||||
The character is used within multi-letter phonemes in the output which is produced by the -x or --ipa options. The default is the tie character ͡ U+361. The character z means use a ZWJ character (U+200d).
|
||||
<p>
|
||||
<dt>
|
||||
<strong>--voices [=<language code>]</strong><br>
|
||||
<dd>Lists the available voices.<br>
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+23
@@ -11,6 +11,7 @@ import os
|
||||
voices = set()
|
||||
dictionaries = {}
|
||||
phoneme_data = set()
|
||||
mbrola = set()
|
||||
|
||||
# Map voice names to dictionaries when these do not match.
|
||||
special_voices = {
|
||||
@@ -46,8 +47,13 @@ def find_phoneme_data(path):
|
||||
if filename.startswith('ph_'):
|
||||
phoneme_data.add(phondata_path)
|
||||
|
||||
def find_mbrola_voices(path):
|
||||
for filename in os.listdir(path):
|
||||
mbrola.add(filename)
|
||||
|
||||
find_voices('espeak-data/voices')
|
||||
find_phoneme_data('phsource')
|
||||
find_mbrola_voices('phsource/mbrola')
|
||||
|
||||
for filename in os.listdir('dictsource'):
|
||||
if filename.endswith('_rules') or filename.endswith('_list') or filename in ['bg_listx', 'it_listx']:
|
||||
@@ -101,6 +107,21 @@ def write_dictionary_make_rules(f):
|
||||
f.write('endif\n')
|
||||
f.write('\tcd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=%s && cd ..\n' % name)
|
||||
|
||||
def write_mbrola_make_rules(f):
|
||||
f.write('\n##### mbrola:\n')
|
||||
f.write('\n')
|
||||
f.write('mbrola: \\\n')
|
||||
for n, name in enumerate(sorted(mbrola)):
|
||||
if n == len(mbrola) - 1:
|
||||
f.write('\tespeak-data/mbrola_ph/%s_phtrans\n' % name)
|
||||
else:
|
||||
f.write('\tespeak-data/mbrola_ph/%s_phtrans \\\n' % name)
|
||||
for name in sorted(mbrola):
|
||||
f.write('\n')
|
||||
f.write('espeak-data/mbrola_ph/%s_phtrans: phsource/mbrola/%s src/espeakedit\n' % (name, name))
|
||||
f.write('\tmkdir -p espeak-data/mbrola_ph\n')
|
||||
f.write('\tESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile-mbrola ${PWD}/$<\n')
|
||||
|
||||
try:
|
||||
filename = sys.argv[1]
|
||||
except:
|
||||
@@ -113,6 +134,8 @@ if filename:
|
||||
f.write(prelude)
|
||||
write_phoneme_data_rules(f)
|
||||
write_dictionary_make_rules(f)
|
||||
write_mbrola_make_rules(f)
|
||||
else:
|
||||
write_phoneme_data_rules(sys.stdout)
|
||||
write_dictionary_make_rules(sys.stdout)
|
||||
write_mbrola_make_rules(sys.stdout)
|
||||
|
||||
@@ -37,6 +37,8 @@
|
||||
|
||||
// phonemes for English words
|
||||
0 @L NULL 40 @ l
|
||||
0 m- NULL 20 @ m
|
||||
0 n- NULL 20 @ n
|
||||
0 @2 NULL 0 @
|
||||
0 @5 NULL 0 @
|
||||
0 a# NULL 0 @
|
||||
|
||||
+167
-186
@@ -1,186 +1,167 @@
|
||||
|
||||
//====================================================
|
||||
// Basque - based on Base2
|
||||
//====================================================
|
||||
|
||||
phoneme a
|
||||
vowel starttype #a endtype #a
|
||||
length 200
|
||||
FMT(vowel/a_4)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme a2 // delete if the next vowel is 'a'. Used for numbers.
|
||||
vowel starttype #a endtype #a
|
||||
length 200
|
||||
|
||||
IF nextPh(#a) THEN
|
||||
ChangePhoneme(NULL) // merge consecutive 'a'
|
||||
ELSE
|
||||
ChangePhoneme(a)
|
||||
ENDIF
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme e
|
||||
vowel starttype #e endtype #e
|
||||
length 200
|
||||
FMT(vowel/e_mid2)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme i
|
||||
vowel starttype #i endtype #i
|
||||
length 190
|
||||
IfNextVowelAppend(;)
|
||||
FMT(vowel/i)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme o
|
||||
vowel starttype #o endtype #o
|
||||
length 200
|
||||
FMT(vowel/oo)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme u
|
||||
vowel starttype #u endtype #u
|
||||
length 200
|
||||
FMT(vowel/u_bck2)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme Y
|
||||
vowel starttype #@ endtype #@
|
||||
length 200
|
||||
FMT(vowel/y#)
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
// Note: I have made [s] and [z] the same, and similarly [ts] and [tz]
|
||||
// These should be changed to the correct "s", "z", "ts" and "tz" sounds fo Basque.
|
||||
|
||||
phoneme s
|
||||
vls alv frc sibilant
|
||||
ipa ʂ
|
||||
lengthmod 3
|
||||
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
|
||||
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
|
||||
|
||||
IF nextPh(isPause) THEN
|
||||
WAV(ufric/sh_rfx, 60)
|
||||
ENDIF
|
||||
WAV(ufric/sh_rfx, 90) // different from s but probably not correct
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme z
|
||||
vls alv frc sibilant
|
||||
ipa s
|
||||
lengthmod 3
|
||||
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
|
||||
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
|
||||
|
||||
// z+z=tz, z+g=zk, z+g=zt, z+b=zp
|
||||
IF nextPh(z) THEN
|
||||
ChangeNextPhoneme(tz)
|
||||
ChangePhoneme(NULL)
|
||||
ELSEIF nextPh(g) THEN
|
||||
ChangeNextPhoneme(k)
|
||||
ELSEIF nextPh(d) THEN
|
||||
ChangeNextPhoneme(t)
|
||||
ELSEIF nextPh(b) THEN
|
||||
ChangeNextPhoneme(p)
|
||||
ENDIF
|
||||
|
||||
IF nextPh(isPause) THEN
|
||||
WAV(ufric/s_, 60)
|
||||
ENDIF
|
||||
WAV(ufric/s, 80)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme ts
|
||||
vls alv afr sibilant
|
||||
ipa tʂ
|
||||
lengthmod 2
|
||||
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
|
||||
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
|
||||
IF nextPh(isPause2) THEN
|
||||
WAV(ustop/ts_)
|
||||
ENDIF
|
||||
WAV(ustop/ts)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme tz
|
||||
vls alv afr sibilant
|
||||
ipa ts
|
||||
lengthmod 2
|
||||
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
|
||||
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
|
||||
IF nextPh(isPause2) THEN
|
||||
WAV(ustop/ts_)
|
||||
ENDIF
|
||||
WAV(ustop/ts)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme t
|
||||
vls dnt stop
|
||||
lengthmod 2
|
||||
|
||||
// t+g=k, t+d=t, t+z=tz
|
||||
IF nextPh(g) THEN
|
||||
ChangeNextPhoneme(k)
|
||||
ChangePhoneme(NULL)
|
||||
ELSEIF nextPh(d) THEN
|
||||
ChangeNextPhoneme(t)
|
||||
ChangePhoneme(NULL)
|
||||
ELSEIF nextPh(z) THEN
|
||||
ChangeNextPhoneme(tz)
|
||||
ChangePhoneme(NULL)
|
||||
ENDIF
|
||||
|
||||
CALL base2/t
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme r
|
||||
vcd alv flp rhotic
|
||||
brkafter
|
||||
ipa ɾ
|
||||
lengthmod 3
|
||||
|
||||
IF nextPhW(isVowel) THEN
|
||||
ChangePhoneme(**)
|
||||
ENDIF
|
||||
|
||||
CALL base/*
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme b
|
||||
import_phoneme es/b
|
||||
endphoneme
|
||||
|
||||
phoneme d
|
||||
import_phoneme es/d
|
||||
endphoneme
|
||||
|
||||
phoneme g
|
||||
import_phoneme es/g
|
||||
endphoneme
|
||||
|
||||
phoneme n
|
||||
vcd alv nasal
|
||||
lengthmod 4
|
||||
|
||||
IF prevPhW(i) AND nextPhW(isVowel) THEN
|
||||
ChangePhoneme(n^)
|
||||
ENDIF
|
||||
|
||||
CALL base/n
|
||||
endphoneme
|
||||
|
||||
//====================================================
|
||||
// Basque - based on Base2
|
||||
//====================================================
|
||||
|
||||
phoneme a
|
||||
vowel starttype #a endtype #a
|
||||
length 200
|
||||
FMT(vowel/a_4)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme a2 // delete if the next vowel is 'a'. Used for numbers.
|
||||
vowel starttype #a endtype #a
|
||||
|
||||
length 200
|
||||
|
||||
IF nextPh(#a) THEN
|
||||
ChangePhoneme(NULL) // merge consecutive 'a'
|
||||
ENDIF
|
||||
|
||||
FMT(vowel/a_4)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme e
|
||||
vowel starttype #e endtype #e
|
||||
length 200
|
||||
FMT(vowel/e_mid2)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme i
|
||||
vowel starttype #i endtype #i
|
||||
length 190
|
||||
IfNextVowelAppend(;)
|
||||
FMT(vowel/i)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme o
|
||||
vowel starttype #o endtype #o
|
||||
length 200
|
||||
FMT(vowel/oo)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme u
|
||||
vowel starttype #u endtype #u
|
||||
length 200
|
||||
FMT(vowel/u_bck2)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme Y
|
||||
vowel starttype #@ endtype #@
|
||||
length 200
|
||||
FMT(vowel/y#)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme s
|
||||
import_phoneme es/s
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme z
|
||||
vls alv frc sibilant
|
||||
ipa s
|
||||
lengthmod 3
|
||||
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
|
||||
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
|
||||
IF nextPh(isPause) THEN
|
||||
WAV(ufric/z_eu, 60)
|
||||
ENDIF
|
||||
WAV(ufric/z_eu, 90)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme ts
|
||||
vls alv afr sibilant
|
||||
ipa t?
|
||||
lengthmod 2
|
||||
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
|
||||
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
|
||||
IF nextPh(isPause2) THEN
|
||||
WAV(ufric/ts_eu, 60)
|
||||
ENDIF
|
||||
WAV(ufric/ts_eu, 90)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme tz
|
||||
vls alv afr sibilant
|
||||
ipa ts
|
||||
lengthmod 2
|
||||
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
|
||||
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
|
||||
IF nextPh(isPause2) THEN
|
||||
WAV(ufric/tz_eu, 90)
|
||||
ENDIF
|
||||
WAV(ufric/tz_eu, 60)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme t
|
||||
vls dnt stop
|
||||
lengthmod 2
|
||||
CALL base2/t
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme r
|
||||
vcd alv flp rhotic
|
||||
brkafter
|
||||
ipa ?
|
||||
lengthmod 3
|
||||
|
||||
IF nextPhW(isVowel) THEN
|
||||
ChangePhoneme(**)
|
||||
ENDIF
|
||||
|
||||
CALL base/*
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme b
|
||||
import_phoneme es/b
|
||||
endphoneme
|
||||
|
||||
phoneme d
|
||||
import_phoneme es/d
|
||||
endphoneme
|
||||
|
||||
phoneme g
|
||||
import_phoneme es/g
|
||||
endphoneme
|
||||
|
||||
phoneme n
|
||||
vcd alv nasal
|
||||
lengthmod 4
|
||||
|
||||
IF prevPhW(#i) AND nextPhW(isVowel) THEN
|
||||
ChangePhoneme(n^)
|
||||
ENDIF
|
||||
|
||||
CALL base/n
|
||||
endphoneme
|
||||
|
||||
phoneme n2 // doesn't palatalise, used for exceptions
|
||||
vcd alv nasal
|
||||
lengthmod 4
|
||||
CALL base/n
|
||||
endphoneme
|
||||
|
||||
phoneme l
|
||||
liquid
|
||||
IF prevPhW(#i) AND nextPhW(isVowel) THEN
|
||||
ChangePhoneme(l^)
|
||||
ENDIF
|
||||
CALL base/l
|
||||
endphoneme
|
||||
|
||||
phoneme l2 // same as l2
|
||||
liquid
|
||||
CALL base/l
|
||||
endphoneme
|
||||
|
||||
+4
-3
@@ -279,13 +279,14 @@ endphoneme
|
||||
|
||||
phoneme i // optional variant of [I] for end of words
|
||||
vowel starttype #i endtype #i
|
||||
unstressed
|
||||
ipa i
|
||||
length 150
|
||||
IfNextVowelAppend(;)
|
||||
|
||||
IF NOT thisPh(isFinalVowel) THEN
|
||||
ChangePhoneme(I)
|
||||
ENDIF
|
||||
// IF NOT thisPh(isFinalVowel) THEN
|
||||
// ChangePhoneme(I)
|
||||
// ENDIF
|
||||
|
||||
FMT(vowel/ii_7)
|
||||
endphoneme
|
||||
|
||||
@@ -48,8 +48,8 @@ phoneme a
|
||||
|
||||
IF nextPh(isNasal) THEN
|
||||
FMT(vnasal/ee_n2)
|
||||
ELSEIF nextPh(r) THEN
|
||||
length 230
|
||||
ELSEIF nextPh(r) AND thisPh(isStressed) THEN
|
||||
length 190
|
||||
FMT(vwl_en_us/ar)
|
||||
ENDIF
|
||||
FMT(vwl_en_us/a)
|
||||
|
||||
+1
-17
@@ -165,22 +165,6 @@ phoneme z.
|
||||
endphoneme
|
||||
|
||||
phoneme r
|
||||
liquid rhotic
|
||||
lengthmod 3
|
||||
|
||||
IF thisPh(isWordEnd) THEN
|
||||
CALL base/r/
|
||||
ENDIF
|
||||
|
||||
IF prevPhW(isVowel) THEN
|
||||
IF nextPhW(isNotVowel) THEN
|
||||
ChangePhoneme(**)
|
||||
ENDIF
|
||||
|
||||
ChangePhoneme(*)
|
||||
ENDIF
|
||||
|
||||
CALL base/r
|
||||
ipa ɾ
|
||||
import_phoneme base/r
|
||||
endphoneme
|
||||
|
||||
|
||||
+2
-1
@@ -1980,5 +1980,6 @@ include ph_greenlandic
|
||||
phonemetable om base
|
||||
include ph_oromo
|
||||
|
||||
//phonemetable en2 en
|
||||
//phonemetable en-test base
|
||||
//include ph_english_test
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
+11
-3
@@ -3747,9 +3747,9 @@ fprintf(f_errors,"\nRefs %d, Reused %d\n",count_references,duplicate_references
|
||||
ReadPhondataManifest();
|
||||
} // end of CompilePhonemeData
|
||||
|
||||
#include <errno.h>
|
||||
|
||||
|
||||
void CompileMbrola()
|
||||
void CompileMbrola(const char *mbrola_file)
|
||||
{//=================
|
||||
char *p;
|
||||
FILE *f_in;
|
||||
@@ -3769,7 +3769,15 @@ void CompileMbrola()
|
||||
int mbrola_ctrl = 20; // volume in 1/16 ths
|
||||
MBROLA_TAB data[N_PHONEME_TAB];
|
||||
|
||||
wxString filepath = wxFileSelector(_T("Read Mbrola phonemes file"),path_phsource+_T("/mbrola"),_T(""),_T(""),_T("*"),wxOPEN);
|
||||
wxString filepath;
|
||||
if (mbrola_file == NULL)
|
||||
{
|
||||
filepath = wxFileSelector(_T("Read Mbrola phonemes file"),path_phsource+_T("/mbrola"),_T(""),_T(""),_T("*"),wxOPEN);
|
||||
}
|
||||
else
|
||||
{
|
||||
filepath = mbrola_file;
|
||||
}
|
||||
strcpy(buf,filepath.mb_str(wxConvLocal));
|
||||
if((f_in = fopen(buf,"r")) == NULL)
|
||||
{
|
||||
|
||||
+18
-3
@@ -915,7 +915,7 @@ static char rule_phonemes[80];
|
||||
static char group_name[LEN_GROUP_NAME+1];
|
||||
static int group3_ix;
|
||||
|
||||
#define N_RULES 2000 // max rules for each group
|
||||
#define N_RULES 3000 // max rules for each group
|
||||
|
||||
|
||||
|
||||
@@ -1681,6 +1681,7 @@ static int compile_dictrules(FILE *f_in, FILE *f_out, char *fname_temp)
|
||||
int count=0;
|
||||
int different;
|
||||
int wc;
|
||||
int err_n_rules=0;
|
||||
const char *prev_rgroup_name;
|
||||
unsigned int char_code;
|
||||
int compile_mode=0;
|
||||
@@ -1726,6 +1727,7 @@ static int compile_dictrules(FILE *f_in, FILE *f_out, char *fname_temp)
|
||||
count += n_rules;
|
||||
}
|
||||
n_rules = 0;
|
||||
err_n_rules = 0;
|
||||
|
||||
if(compile_mode == 2)
|
||||
{
|
||||
@@ -1808,9 +1810,22 @@ static int compile_dictrules(FILE *f_in, FILE *f_out, char *fname_temp)
|
||||
{
|
||||
case 1: // .group
|
||||
prule = compile_rule(buf);
|
||||
if((prule != NULL) && (n_rules < N_RULES))
|
||||
if(prule != NULL)
|
||||
{
|
||||
rules[n_rules++] = prule;
|
||||
if(n_rules < N_RULES)
|
||||
{
|
||||
rules[n_rules++] = prule;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(err_n_rules == 0)
|
||||
{
|
||||
fprintf(stderr, "\nExceeded limit of rules (%d) in group '%s'\n", N_RULES, group_name);
|
||||
error_count++;
|
||||
err_n_rules = 1;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
+54
-45
@@ -642,8 +642,11 @@ const char *GetTranslatedPhonemeString(int phoneme_mode)
|
||||
/* Called after a clause has been translated into phonemes, in order
|
||||
to display the clause in phoneme mnemonic form.
|
||||
|
||||
phoneme_mode bits 0-3: 0=only phoneme names, 1=ties, 2=ZWJ, 3=underscore separator
|
||||
bit 4: 0=eSpeak phoneme names, 1=IPA
|
||||
phoneme_mode
|
||||
bit 1: use IPA phoneme names
|
||||
bit 7: use tie between letters in multi-character phoneme names
|
||||
bits 8-23 tie or separator character
|
||||
|
||||
*/
|
||||
|
||||
int ix;
|
||||
@@ -657,16 +660,12 @@ const char *GetTranslatedPhonemeString(int phoneme_mode)
|
||||
int flags;
|
||||
int use_ipa;
|
||||
int use_tie;
|
||||
int separate_phonemes = 0;
|
||||
int separate_phonemes;
|
||||
char phon_buf[30];
|
||||
char phon_buf2[30];
|
||||
PHONEME_LIST *plist;
|
||||
|
||||
static const char *stress_chars = "==,,''";
|
||||
static const int char_tie[] = {0x0361, 0x200d}; // combining-double-inverted-breve, zero-width-joiner
|
||||
|
||||
use_ipa = phoneme_mode & 0x10;
|
||||
use_tie = phoneme_mode & 0x0f;
|
||||
|
||||
if(phon_out_buf == NULL)
|
||||
{
|
||||
@@ -678,10 +677,15 @@ const char *GetTranslatedPhonemeString(int phoneme_mode)
|
||||
}
|
||||
}
|
||||
|
||||
if(use_tie >= 3)
|
||||
use_ipa = phoneme_mode & espeakPHONEMES_IPA;
|
||||
if(phoneme_mode & espeakPHONEMES_TIE)
|
||||
{
|
||||
// separate individual phonemes with underscores
|
||||
separate_phonemes = '_';
|
||||
use_tie = phoneme_mode >> 8;
|
||||
separate_phonemes = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
separate_phonemes = phoneme_mode >> 8;
|
||||
use_tie = 0;
|
||||
}
|
||||
|
||||
@@ -695,14 +699,15 @@ const char *GetTranslatedPhonemeString(int phoneme_mode)
|
||||
WritePhMnemonic(phon_buf2, plist->ph, plist, use_ipa, &flags);
|
||||
if(plist->newword)
|
||||
*buf++ = ' ';
|
||||
else
|
||||
|
||||
if((!plist->newword) || (separate_phonemes == ' '))
|
||||
{
|
||||
if((separate_phonemes != 0) && (ix > 1))
|
||||
{
|
||||
utf8_in(&c, phon_buf2);
|
||||
if((c < 0x2b0) || (c > 0x36f)) // not if the phoneme starts with a superscript letter
|
||||
{
|
||||
*buf++ = separate_phonemes;
|
||||
buf += utf8_out(separate_phonemes, buf);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -739,12 +744,12 @@ const char *GetTranslatedPhonemeString(int phoneme_mode)
|
||||
for(p=phon_buf2; *p != 0;)
|
||||
{
|
||||
p += utf8_in(&c, p);
|
||||
if(use_tie > 0)
|
||||
if(use_tie != 0)
|
||||
{
|
||||
// look for non-inital alphabetic character, but not diacritic, superscript etc.
|
||||
if((count>0) && !(flags & (1 << (count-1))) && ((c < 0x2b0) || (c > 0x36f)) && iswalpha2(c))
|
||||
{
|
||||
buf += utf8_out(char_tie[use_tie-1], buf);
|
||||
buf += utf8_out(use_tie, buf);
|
||||
}
|
||||
}
|
||||
buf += utf8_out(c, buf);
|
||||
@@ -1202,6 +1207,7 @@ void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags,
|
||||
PHONEME_TAB *ph;
|
||||
int stress;
|
||||
int max_stress;
|
||||
int max_stress_input; // any stress specified in the input?
|
||||
int vowel_count; // num of vowels + 1
|
||||
int ix;
|
||||
int v;
|
||||
@@ -1266,7 +1272,7 @@ void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags,
|
||||
unstressed_word = 1;
|
||||
}
|
||||
|
||||
max_stress = GetVowelStress(tr, phonetic, vowel_stress, &vowel_count, &stressed_syllable, 1);
|
||||
max_stress = max_stress_input = GetVowelStress(tr, phonetic, vowel_stress, &vowel_count, &stressed_syllable, 1);
|
||||
if((max_stress < 0) && dictionary_flags)
|
||||
{
|
||||
max_stress = 0;
|
||||
@@ -1347,40 +1353,33 @@ void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags,
|
||||
{
|
||||
stressed_syllable = vowel_count - 2;
|
||||
|
||||
if(stressflags & (S_FINAL_SPANISH | S_FINAL_STRESS_C))
|
||||
if(stressflags & S_FINAL_SPANISH)
|
||||
{
|
||||
// LANG=Spanish, stress on last vowel if the word ends in a consonant other than 'n' or 's'
|
||||
if(phoneme_tab[final_ph]->type != phVOWEL)
|
||||
{
|
||||
if(stressflags & S_FINAL_STRESS_C)
|
||||
mnem = phoneme_tab[final_ph]->mnemonic;
|
||||
|
||||
if(tr->translator_name == L('a','n'))
|
||||
{
|
||||
stressed_syllable = vowel_count - 1;
|
||||
if(((mnem != 's') && (mnem !='n')) || phoneme_tab[final_ph2]->type != phVOWEL)
|
||||
stressed_syllable = vowel_count - 1; // stress on last syllable
|
||||
}
|
||||
else
|
||||
if(tr->translator_name == L('i','a'))
|
||||
{
|
||||
if((mnem != 's') || phoneme_tab[final_ph2]->type != phVOWEL)
|
||||
stressed_syllable = vowel_count - 1; // stress on last syllable
|
||||
}
|
||||
else
|
||||
{
|
||||
mnem = phoneme_tab[final_ph]->mnemonic;
|
||||
|
||||
if(tr->translator_name == L('a','n'))
|
||||
if((mnem == 's') && (phoneme_tab[final_ph2]->type == phNASAL))
|
||||
{
|
||||
if(((mnem != 's') && (mnem !='n')) || phoneme_tab[final_ph2]->type != phVOWEL)
|
||||
stressed_syllable = vowel_count - 1; // stress on last syllable
|
||||
// -ns stress remains on penultimate syllable
|
||||
}
|
||||
else
|
||||
if(tr->translator_name == L('i','a'))
|
||||
else if(((phoneme_tab[final_ph]->type != phNASAL) && (mnem != 's')) || (phoneme_tab[final_ph2]->type != phVOWEL))
|
||||
{
|
||||
if((mnem != 's') || phoneme_tab[final_ph2]->type != phVOWEL)
|
||||
stressed_syllable = vowel_count - 1; // stress on last syllable
|
||||
}
|
||||
else
|
||||
{
|
||||
if((mnem == 's') && (phoneme_tab[final_ph2]->type == phNASAL))
|
||||
{
|
||||
// -ns stress remains on penultimate syllable
|
||||
}
|
||||
else if(((phoneme_tab[final_ph]->type != phNASAL) && (mnem != 's')) || (phoneme_tab[final_ph2]->type != phVOWEL))
|
||||
{
|
||||
stressed_syllable = vowel_count - 1;
|
||||
}
|
||||
stressed_syllable = vowel_count - 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1587,6 +1586,16 @@ void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags,
|
||||
break;
|
||||
}
|
||||
|
||||
if((stressflags & S_FINAL_VOWEL_UNSTRESSED) && (vowel_count > 2) && (max_stress_input < 3) && (vowel_stress[vowel_count - 1] == 4))
|
||||
{
|
||||
if(phoneme_tab[final_ph]->type == phVOWEL)
|
||||
{
|
||||
// don't allow stress on a word-final vowel
|
||||
vowel_stress[vowel_count - 1] = 1;
|
||||
vowel_stress[vowel_count - 2] = 4;
|
||||
}
|
||||
}
|
||||
|
||||
/* now guess the complete stress pattern */
|
||||
if(max_stress < 4)
|
||||
stress = 4; /* no primary stress marked, use for 1st syllable */
|
||||
@@ -2560,7 +2569,7 @@ static void MatchRule(Translator *tr, char *word[], char *word_start, int group_
|
||||
total_consumed = consumed;
|
||||
}
|
||||
|
||||
if((option_phonemes == 2) && (match.points > 0) && ((word_flags & FLAG_NO_TRACE) == 0))
|
||||
if((option_phonemes & espeakPHONEMES_TRACE) && (match.points > 0) && ((word_flags & FLAG_NO_TRACE) == 0))
|
||||
{
|
||||
// show each rule that matches, and it's points score
|
||||
int pts;
|
||||
@@ -2637,7 +2646,7 @@ int TranslateRules(Translator *tr, char *p_start, char *phonemes, int ph_size, c
|
||||
word_copy[ix] = 0;
|
||||
|
||||
|
||||
if((option_phonemes == 2) && ((word_flags & FLAG_NO_TRACE)==0))
|
||||
if((option_phonemes & espeakPHONEMES_TRACE) && ((word_flags & FLAG_NO_TRACE)==0))
|
||||
{
|
||||
char wordbuf[120];
|
||||
unsigned int ix;
|
||||
@@ -2875,7 +2884,7 @@ int TranslateRules(Translator *tr, char *p_start, char *phonemes, int ph_size, c
|
||||
return(0);
|
||||
}
|
||||
|
||||
if((option_phonemes == 2) && ((word_flags & FLAG_NO_TRACE)==0))
|
||||
if((option_phonemes & espeakPHONEMES_TRACE) && ((word_flags & FLAG_NO_TRACE)==0))
|
||||
{
|
||||
fprintf(f_trans,"\n");
|
||||
}
|
||||
@@ -3376,7 +3385,7 @@ static const char *LookupDict2(Translator *tr, const char *word, const char *wor
|
||||
|
||||
if(phoneme_len == 0)
|
||||
{
|
||||
if(option_phonemes == 2)
|
||||
if(option_phonemes & espeakPHONEMES_TRACE)
|
||||
{
|
||||
print_dictionary_flags(flags, dict_flags_buf, sizeof(dict_flags_buf));
|
||||
fprintf(f_trans,"Flags: %s %s\n", word1, dict_flags_buf);
|
||||
@@ -3387,7 +3396,7 @@ static const char *LookupDict2(Translator *tr, const char *word, const char *wor
|
||||
if(flags != NULL)
|
||||
flags[0] |= FLAG_FOUND; // this flag indicates word was found in dictionary
|
||||
|
||||
if(option_phonemes == 2)
|
||||
if(option_phonemes & espeakPHONEMES_TRACE)
|
||||
{
|
||||
char ph_decoded[N_WORD_PHONEMES];
|
||||
int textmode;
|
||||
@@ -3569,7 +3578,7 @@ int LookupDictList(Translator *tr, char **wordptr, char *ph_out, unsigned int *f
|
||||
word1 = *wordptr;
|
||||
*wordptr = &word_replacement[2];
|
||||
|
||||
if(option_phonemes == 2)
|
||||
if(option_phonemes & espeakPHONEMES_TRACE)
|
||||
{
|
||||
len = found - word1;
|
||||
memcpy(word,word1,len); // include multiple matching words
|
||||
@@ -3768,7 +3777,7 @@ int RemoveEnding(Translator *tr, char *word, int end_type, char *word_copy)
|
||||
{
|
||||
utf8_out(tr->langopts.suffix_add_e, &word_end[1]);
|
||||
|
||||
if(option_phonemes == 2)
|
||||
if(option_phonemes & espeakPHONEMES_TRACE)
|
||||
{
|
||||
fprintf(f_trans,"add e\n");
|
||||
}
|
||||
|
||||
+86
-17
@@ -53,7 +53,7 @@ static const char *help_text =
|
||||
"-p <integer>\n"
|
||||
"\t Pitch adjustment, 0 to 99, default is 50\n"
|
||||
"-s <integer>\n"
|
||||
"\t Speed in words per minute, 80 to 450, default is 175\n"
|
||||
"\t Speed in approximate words per minute. The default is 175\n"
|
||||
"-v <voice name>\n"
|
||||
"\t Use voice file of this name from espeak-data/voices\n"
|
||||
"-w <wave file name>\n"
|
||||
@@ -68,7 +68,6 @@ static const char *help_text =
|
||||
"\t Compile pronunciation rules and dictionary from the current\n"
|
||||
"\t directory. <voice name> specifies the language\n"
|
||||
"--ipa Write phonemes to stdout using International Phonetic Alphabet\n"
|
||||
"\t --ipa=1 Use ties, --ipa=2 Use ZWJ, --ipa=3 Separate with _\n"
|
||||
"--path=\"<path>\"\n"
|
||||
"\t Specifies the directory containing the espeak-data directory\n"
|
||||
"--pho Write mbrola phoneme data (.pho) to stdout or to the file in --phonout\n"
|
||||
@@ -77,9 +76,15 @@ static const char *help_text =
|
||||
"--punct=\"<characters>\"\n"
|
||||
"\t Speak the names of punctuation characters during speaking. If\n"
|
||||
"\t =<characters> is omitted, all punctuation is spoken.\n"
|
||||
"--split=\"<minutes>\"\n"
|
||||
"--sep=<character>\n"
|
||||
"\t Separate phonemes (from -x --ipa) with <character>.\n"
|
||||
"\t Default is space, z means ZWJN character.\n"
|
||||
"--split=<minutes>\n"
|
||||
"\t Starts a new WAV file every <minutes>. Used with -w\n"
|
||||
"--stdout Write speech output to stdout\n"
|
||||
"--tie=<character>\n"
|
||||
"\t Use a tie character within multi-letter phoneme names.\n"
|
||||
"\t Default is U+361, z means ZWJ character.\n"
|
||||
"--version Shows version number and date, and location of espeak-data\n"
|
||||
"--voices=<language>\n"
|
||||
"\t List the available voices for the specified language.\n"
|
||||
@@ -123,6 +128,37 @@ void strncpy0(char *dest, const char *source, int size)
|
||||
}
|
||||
}
|
||||
|
||||
int utf8_in(int *c, const char *buf)
|
||||
{//=================================
|
||||
// Read a unicode characater from a UTF8 string
|
||||
// Returns the number of UTF8 bytes used.
|
||||
// backwards: set if we are moving backwards through the UTF8 string
|
||||
int c1;
|
||||
int n_bytes;
|
||||
int ix;
|
||||
static const unsigned char mask[4] = {0xff,0x1f,0x0f,0x07};
|
||||
|
||||
n_bytes = 0;
|
||||
|
||||
if((c1 = *buf++) & 0x80)
|
||||
{
|
||||
if((c1 & 0xe0) == 0xc0)
|
||||
n_bytes = 1;
|
||||
else if((c1 & 0xf0) == 0xe0)
|
||||
n_bytes = 2;
|
||||
else if((c1 & 0xf8) == 0xf0)
|
||||
n_bytes = 3;
|
||||
|
||||
c1 &= mask[n_bytes];
|
||||
for(ix=0; ix<n_bytes; ix++)
|
||||
{
|
||||
c1 = (c1 << 6) + (*buf++ & 0x3f);
|
||||
}
|
||||
}
|
||||
*c = c1;
|
||||
return(n_bytes+1);
|
||||
}
|
||||
|
||||
|
||||
void DisplayVoices(FILE *f_out, char *language)
|
||||
{//============================================
|
||||
@@ -381,6 +417,8 @@ int main (int argc, char **argv)
|
||||
{"pho", no_argument, 0, 0x109},
|
||||
{"ipa", optional_argument, 0, 0x10a},
|
||||
{"version", no_argument, 0, 0x10b},
|
||||
{"sep", optional_argument, 0, 0x10c},
|
||||
{"tie", optional_argument, 0, 0x10d},
|
||||
{0, 0, 0, 0}
|
||||
};
|
||||
|
||||
@@ -408,8 +446,8 @@ int main (int argc, char **argv)
|
||||
int wordgap = -1;
|
||||
int option_capitals = -1;
|
||||
int option_punctuation = -1;
|
||||
int option_phonemes = 0;
|
||||
int option_mbrola_phonemes = 0;
|
||||
int phonemes_separator = 0;
|
||||
int phoneme_options = 0;
|
||||
int option_linelength = 0;
|
||||
int option_waveout = 0;
|
||||
|
||||
@@ -513,11 +551,11 @@ int main (int argc, char **argv)
|
||||
break;
|
||||
|
||||
case 'x':
|
||||
option_phonemes = 1;
|
||||
phoneme_options |= espeakPHONEMES_SHOW;
|
||||
break;
|
||||
|
||||
case 'X':
|
||||
option_phonemes = 2;
|
||||
phoneme_options |= espeakPHONEMES_TRACE;
|
||||
break;
|
||||
|
||||
case 'm':
|
||||
@@ -616,27 +654,56 @@ int main (int argc, char **argv)
|
||||
break;
|
||||
|
||||
case 0x109: // --pho
|
||||
option_mbrola_phonemes = 16;
|
||||
phoneme_options |= espeakPHONEMES_MBROLA;
|
||||
break;
|
||||
|
||||
case 0x10a: // --ipa
|
||||
option_phonemes = 3;
|
||||
phoneme_options |= espeakPHONEMES_IPA;
|
||||
if(optarg2 != NULL)
|
||||
{
|
||||
value = -1;
|
||||
sscanf(optarg2,"%d",&value);
|
||||
if((value<0) || (value>3))
|
||||
// deprecated and obsolete
|
||||
switch(atoi(optarg2))
|
||||
{
|
||||
fprintf(stderr,"Bad value for -ipa=\n");
|
||||
value = 0;
|
||||
case 1:
|
||||
phonemes_separator = '_';
|
||||
break;
|
||||
case 2:
|
||||
phonemes_separator = 0x0361;
|
||||
phoneme_options |= espeakPHONEMES_TIE;
|
||||
break;
|
||||
case 3:
|
||||
phonemes_separator = 0x200d; // ZWJ
|
||||
phoneme_options |= espeakPHONEMES_TIE;
|
||||
break;
|
||||
}
|
||||
option_phonemes += value;
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x10b: // -version
|
||||
case 0x10b: // --version
|
||||
PrintVersion();
|
||||
exit(0);
|
||||
|
||||
case 0x10c: // --sep
|
||||
phoneme_options |= espeakPHONEMES_SHOW;
|
||||
if(optarg2 == 0)
|
||||
phonemes_separator = ' ';
|
||||
else
|
||||
utf8_in(&phonemes_separator, optarg2);
|
||||
if(phonemes_separator == 'z')
|
||||
phonemes_separator = 0x200c; // ZWNJ
|
||||
break;
|
||||
|
||||
case 0x10d: // --tie
|
||||
phoneme_options |= (espeakPHONEMES_SHOW | espeakPHONEMES_TIE);
|
||||
if(optarg2 == 0)
|
||||
phonemes_separator = 0x0361; // default: combining-double-inverted-breve
|
||||
else
|
||||
utf8_in(&phonemes_separator, optarg2);
|
||||
if(phonemes_separator == 'z')
|
||||
phonemes_separator = 0x200d; // ZWJ
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
exit(0);
|
||||
@@ -707,7 +774,9 @@ int main (int argc, char **argv)
|
||||
espeak_SetParameter(espeakLINELENGTH,option_linelength,0);
|
||||
if(option_punctuation == 2)
|
||||
espeak_SetPunctuationList(option_punctlist);
|
||||
espeak_SetPhonemeTrace(option_phonemes | option_mbrola_phonemes,f_phonemes_out);
|
||||
|
||||
|
||||
espeak_SetPhonemeTrace(phoneme_options | (phonemes_separator << 8), f_phonemes_out);
|
||||
|
||||
if(filename[0]==0)
|
||||
{
|
||||
|
||||
+12
-1
@@ -63,7 +63,7 @@ extern void DictionarySort(const char *dictname);
|
||||
extern void init_z();
|
||||
extern void CompilePhonemeData(void);
|
||||
extern void CompileSampleRate(void);
|
||||
extern void CompileMbrola();
|
||||
extern void CompileMbrola(const char *mbrola_file = NULL);
|
||||
extern void CompileIntonation();
|
||||
extern void InitSpectrumDisplay();
|
||||
extern void InitProsodyDisplay();
|
||||
@@ -148,6 +148,17 @@ if(argc > 1)
|
||||
CompilePhonemeData();
|
||||
CompileIntonation();
|
||||
}
|
||||
else if(argc > 2 && strcmp(param,"--compile-mbrola")==0)
|
||||
{
|
||||
samplerate_native = samplerate = 22050;
|
||||
LoadPhData(NULL);
|
||||
if(LoadVoice("", 0) == NULL)
|
||||
{
|
||||
fprintf(stderr, "Failed to load default voice\n");
|
||||
exit(1);
|
||||
}
|
||||
CompileMbrola(argv[2]);
|
||||
}
|
||||
exit(0);
|
||||
}
|
||||
|
||||
|
||||
+52
-13
@@ -87,7 +87,7 @@ static const char *help_text =
|
||||
"-p <integer>\n"
|
||||
"\t Pitch adjustment, 0 to 99, default is 50\n"
|
||||
"-s <integer>\n"
|
||||
"\t Speed in words per minute, 80 to 450, default is 175\n"
|
||||
"\t Speed in approximate words per minute. The default is 175\n"
|
||||
"-v <voice name>\n"
|
||||
"\t Use voice file of this name from espeak-data/voices\n"
|
||||
"-w <wave file name>\n"
|
||||
@@ -102,7 +102,6 @@ static const char *help_text =
|
||||
"\t Compile pronunciation rules and dictionary from the current\n"
|
||||
"\t directory. <voice name> specifies the language\n"
|
||||
"--ipa Write phonemes to stdout using International Phonetic Alphabet\n"
|
||||
"\t --ipa=1 Use ties, --ipa=2 Use ZWJ, --ipa=3 Separate with _\n"
|
||||
"--path=\"<path>\"\n"
|
||||
"\t Specifies the directory containing the espeak-data directory\n"
|
||||
"--pho Write mbrola phoneme data (.pho) to stdout or to the file in --phonout\n"
|
||||
@@ -111,9 +110,15 @@ static const char *help_text =
|
||||
"--punct=\"<characters>\"\n"
|
||||
"\t Speak the names of punctuation characters during speaking. If\n"
|
||||
"\t =<characters> is omitted, all punctuation is spoken.\n"
|
||||
"--split=\"<minutes>\"\n"
|
||||
"--sep=<character>\n"
|
||||
"\t Separate phonemes (from -x --ipa) with <character>.\n"
|
||||
"\t Default is space, z means ZWJN character.\n"
|
||||
"--split=<minutes>\n"
|
||||
"\t Starts a new WAV file every <minutes>. Used with -w\n"
|
||||
"--stdout Write speech output to stdout\n"
|
||||
"--tie=<character>\n"
|
||||
"\t Use a tie character within multi-letter phoneme names.\n"
|
||||
"\t Default is U+361, z means ZWJ character.\n"
|
||||
"--version Shows version number and date, and location of espeak-data\n"
|
||||
"--voices=<language>\n"
|
||||
"\t List the available voices for the specified language.\n"
|
||||
@@ -496,6 +501,8 @@ int main (int argc, char **argv)
|
||||
{"pho", no_argument, 0, 0x109},
|
||||
{"ipa", optional_argument, 0, 0x10a},
|
||||
{"version", no_argument, 0, 0x10b},
|
||||
{"sep", optional_argument, 0, 0x10c},
|
||||
{"tie", optional_argument, 0, 0x10d},
|
||||
{0, 0, 0, 0}
|
||||
};
|
||||
|
||||
@@ -516,6 +523,8 @@ int main (int argc, char **argv)
|
||||
int flag_stdin = 0;
|
||||
int flag_compile = 0;
|
||||
int pitch_adjustment = 50;
|
||||
int phoneme_options = 0;
|
||||
int phonemes_separator = 0;
|
||||
espeak_VOICE voice_select;
|
||||
char filename[200];
|
||||
char voicename[40];
|
||||
@@ -622,11 +631,11 @@ int main (int argc, char **argv)
|
||||
break;
|
||||
|
||||
case 'x':
|
||||
option_phonemes = 1;
|
||||
phoneme_options |= espeakPHONEMES_SHOW;
|
||||
break;
|
||||
|
||||
case 'X':
|
||||
option_phonemes = 2;
|
||||
phoneme_options |= espeakPHONEMES_TRACE;
|
||||
break;
|
||||
|
||||
case 'm':
|
||||
@@ -729,21 +738,29 @@ int main (int argc, char **argv)
|
||||
break;
|
||||
|
||||
case 0x109: // --pho
|
||||
option_mbrola_phonemes = 16;
|
||||
phoneme_options |= espeakPHONEMES_MBROLA;
|
||||
break;
|
||||
|
||||
case 0x10a: // --ipa
|
||||
option_phonemes = 3;
|
||||
phoneme_options |= espeakPHONEMES_IPA;
|
||||
if(optarg2 != NULL)
|
||||
{
|
||||
value = -1;
|
||||
sscanf(optarg2,"%d",&value);
|
||||
if((value<0) || (value>3))
|
||||
// deprecated and obsolete
|
||||
switch(atoi(optarg2))
|
||||
{
|
||||
fprintf(stderr,"Bad value for -ipa=\n");
|
||||
value = 0;
|
||||
case 1:
|
||||
phonemes_separator = '_';
|
||||
break;
|
||||
case 2:
|
||||
phonemes_separator = 0x0361;
|
||||
phoneme_options |= espeakPHONEMES_TIE;
|
||||
break;
|
||||
case 3:
|
||||
phonemes_separator = 0x200d; // ZWJ
|
||||
phoneme_options |= espeakPHONEMES_TIE;
|
||||
break;
|
||||
}
|
||||
option_phonemes += value;
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -751,6 +768,26 @@ int main (int argc, char **argv)
|
||||
init_path(argv[0],data_path);
|
||||
printf("speak text-to-speech: %s Data at: %s\n",version_string,path_home);
|
||||
exit(0);
|
||||
|
||||
case 0x10c: // --sep
|
||||
phoneme_options |= espeakPHONEMES_SHOW;
|
||||
if(optarg2 == 0)
|
||||
phonemes_separator = ' ';
|
||||
else
|
||||
utf8_in(&phonemes_separator, optarg2);
|
||||
if(phonemes_separator == 'z')
|
||||
phonemes_separator = 0x200c; // ZWNJ
|
||||
break;
|
||||
|
||||
case 0x10d: // --tie
|
||||
phoneme_options |= (espeakPHONEMES_SHOW | espeakPHONEMES_TIE);
|
||||
if(optarg2 == 0)
|
||||
phonemes_separator = 0x0361; // default: combining-double-inverted-breve
|
||||
else
|
||||
utf8_in(&phonemes_separator, optarg2);
|
||||
if(phonemes_separator == 'z')
|
||||
phonemes_separator = 0x200d; // ZWJ
|
||||
break;
|
||||
|
||||
default:
|
||||
exit(0);
|
||||
@@ -803,6 +840,8 @@ int main (int argc, char **argv)
|
||||
SetParameter(espeakPUNCTUATION,option_punctuation,0);
|
||||
SetParameter(espeakWORDGAP,wordgap,0);
|
||||
|
||||
option_phonemes = phoneme_options | (phonemes_separator << 8);
|
||||
|
||||
if(pitch_adjustment != 50)
|
||||
{
|
||||
SetParameter(espeakPITCH,pitch_adjustment,0);
|
||||
|
||||
+19
-15
@@ -812,7 +812,6 @@ ENTER("espeak_Initialize");
|
||||
return(EE_INTERNAL_ERROR);
|
||||
|
||||
option_phonemes = 0;
|
||||
option_mbrola_phonemes = 0;
|
||||
option_phoneme_events = (options & (espeakINITIALIZE_PHONEME_EVENTS | espeakINITIALIZE_PHONEME_IPA));
|
||||
|
||||
VoiceReset(0);
|
||||
@@ -1160,19 +1159,22 @@ ESPEAK_API espeak_ERROR espeak_SetPunctuationList(const wchar_t *punctlist)
|
||||
} // end of espeak_SetPunctuationList
|
||||
|
||||
|
||||
ESPEAK_API void espeak_SetPhonemeTrace(int value, FILE *stream)
|
||||
{//============================================================
|
||||
ESPEAK_API void espeak_SetPhonemeTrace(int phonememode, FILE *stream)
|
||||
{//===================================================================
|
||||
ENTER("espeak_SetPhonemes");
|
||||
/* Controls the output of phoneme symbols for the text
|
||||
bits 0-3:
|
||||
value=0 No phoneme output (default)
|
||||
value=1 Output the translated phoneme symbols for the text
|
||||
value=2 as (1), but also output a trace of how the translation was done (matching rules and list entries)
|
||||
value=3 as (1), but produces IPA phoneme names rather than ascii
|
||||
bit 4: produce mbrola pho data
|
||||
*/
|
||||
option_phonemes = value & 7;
|
||||
option_mbrola_phonemes = value & 16;
|
||||
/* phonememode: Controls the output of phoneme symbols for the text
|
||||
bits 0-2:
|
||||
value=0 No phoneme output (default)
|
||||
value=1 Output the translated phoneme symbols for the text
|
||||
value=2 as (1), but produces IPA phoneme names rather than ascii
|
||||
bit 3: output a trace of how the translation was done (showing the matching rules and list entries)
|
||||
bit 4: produce pho data for mbrola
|
||||
bit 7: use (bits 8-23) as a tie within multi-letter phonemes names
|
||||
bits 8-23: separator character, between phoneme names
|
||||
|
||||
stream output stream for the phoneme symbols (and trace). If stream=NULL then it uses stdout.
|
||||
*/
|
||||
option_phonemes = phonememode;
|
||||
f_trans = stream;
|
||||
if(stream == NULL)
|
||||
f_trans = stderr;
|
||||
@@ -1182,8 +1184,10 @@ ESPEAK_API void espeak_SetPhonemeTrace(int value, FILE *stream)
|
||||
|
||||
ESPEAK_API const char *espeak_TextToPhonemes(const void **textptr, int textmode, int phonememode)
|
||||
{//=================================================================================================
|
||||
/* phoneme_mode bits 0-3: 0=only phoneme names, 1=ties, 2=ZWJ, 3=underscore separator
|
||||
bits 4-7: 0=eSpeak phoneme names, 1=IPA
|
||||
/* phoneme_mode
|
||||
bit 1: 0=eSpeak's ascii phoneme names, 1= International Phonetic Alphabet (as UTF-8 characters).
|
||||
bit 7: use (bits 8-23) as a tie within multi-letter phonemes names
|
||||
bits 8-23: separator character, between phoneme names
|
||||
*/
|
||||
|
||||
option_multibyte = textmode & 7;
|
||||
|
||||
+24
-15
@@ -34,7 +34,7 @@
|
||||
#define ESPEAK_API
|
||||
#endif
|
||||
|
||||
#define ESPEAK_API_REVISION 9
|
||||
#define ESPEAK_API_REVISION 10
|
||||
/*
|
||||
Revision 2
|
||||
Added parameter "options" to eSpeakInitialize()
|
||||
@@ -61,6 +61,9 @@ Revision 8 26.Apr.2013
|
||||
Revision 9 30.May.2013
|
||||
Changed function espeak_TextToPhonemes().
|
||||
|
||||
Revision 10 29.Aug.2014
|
||||
Changed phonememode parameter to espeak_TextToPhonemes() and espeak_SetPhonemeTrace
|
||||
|
||||
*/
|
||||
/********************/
|
||||
/* Initialization */
|
||||
@@ -473,15 +476,25 @@ ESPEAK_API espeak_ERROR espeak_SetPunctuationList(const wchar_t *punctlist);
|
||||
EE_INTERNAL_ERROR.
|
||||
*/
|
||||
|
||||
#define espeakPHONEMES_SHOW 0x01
|
||||
#define espeakPHONEMES_IPA 0x02
|
||||
#define espeakPHONEMES_TRACE 0x08
|
||||
#define espeakPHONEMES_MBROLA 0x10
|
||||
#define espeakPHONEMES_TIE 0x80
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
ESPEAK_API void espeak_SetPhonemeTrace(int value, FILE *stream);
|
||||
/* Controls the output of phoneme symbols for the text
|
||||
value=0 No phoneme output (default)
|
||||
value=1 Output the translated phoneme symbols for the text
|
||||
value=2 as (1), but also output a trace of how the translation was done (matching rules and list entries)
|
||||
value=3 as (1), but produces IPA rather than ascii phoneme names
|
||||
ESPEAK_API void espeak_SetPhonemeTrace(int phonememode, FILE *stream);
|
||||
/* phonememode: Controls the output of phoneme symbols for the text
|
||||
bits 0-2:
|
||||
value=0 No phoneme output (default)
|
||||
value=1 Output the translated phoneme symbols for the text
|
||||
value=2 as (1), but produces IPA phoneme names rather than ascii
|
||||
bit 3: output a trace of how the translation was done (showing the matching rules and list entries)
|
||||
bit 4: produce pho data for mbrola
|
||||
bit 7: use (bits 8-23) as a tie within multi-letter phonemes names
|
||||
bits 8-23: separator character, between phoneme names
|
||||
|
||||
stream output stream for the phoneme symbols (and trace). If stream=NULL then it uses stdout.
|
||||
*/
|
||||
@@ -506,15 +519,11 @@ ESPEAK_API const char *espeak_TextToPhonemes(const void **textptr, int textmode,
|
||||
espeakCHARS_WCHAR Wide characters (wchar_t)
|
||||
espeakCHARS_16BIT 16 bit characters.
|
||||
|
||||
phonememode: bits0-3:
|
||||
0= just phonemes.
|
||||
1= include ties (U+361) for phoneme names of more than one letter.
|
||||
2= include zero-width-joiner for phoneme names of more than one letter.
|
||||
3= separate phonemes with underscore characters.
|
||||
phoneme_mode
|
||||
bit 1: 0=eSpeak's ascii phoneme names, 1= International Phonetic Alphabet (as UTF-8 characters).
|
||||
bit 7: use (bits 8-23) as a tie within multi-letter phonemes names
|
||||
bits 8-23: separator character, between phoneme names
|
||||
|
||||
bits 4-7:
|
||||
0= eSpeak's ascii phoneme names.
|
||||
1= International Phonetic Alphabet (as UTF-8 characters).
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -35,7 +35,6 @@
|
||||
#include "translate.h"
|
||||
#include "voice.h"
|
||||
|
||||
int option_mbrola_phonemes;
|
||||
|
||||
#ifdef INCLUDE_MBROLA
|
||||
|
||||
@@ -646,7 +645,7 @@ int MbrolaGenerate(PHONEME_LIST *phoneme_list, int *n_ph, int resume)
|
||||
if(*n_ph == 0)
|
||||
return(0);
|
||||
|
||||
if(option_mbrola_phonemes)
|
||||
if(option_phonemes & espeakPHONEMES_MBROLA)
|
||||
{
|
||||
// send mbrola data to a file, not to the mbrola library
|
||||
f_mbrola = f_trans;
|
||||
|
||||
+8
-2
@@ -35,7 +35,7 @@
|
||||
#include "translate.h"
|
||||
#include "wave.h"
|
||||
|
||||
const char *version_string = "1.48.10 09.Aug.14";
|
||||
const char *version_string = "1.48.11 31.Aug.14";
|
||||
const int version_phdata = 0x014801;
|
||||
|
||||
int option_device_number = -1;
|
||||
@@ -620,6 +620,7 @@ static bool InterpretCondition(Translator *tr, int control, PHONEME_LIST *plist,
|
||||
int instn;
|
||||
int instn2;
|
||||
int count;
|
||||
int check_endtype = 0;
|
||||
PHONEME_TAB *ph;
|
||||
PHONEME_LIST *plist_this;
|
||||
|
||||
@@ -672,6 +673,7 @@ static bool InterpretCondition(Translator *tr, int control, PHONEME_LIST *plist,
|
||||
case 0: // prevPh
|
||||
case 5: // prevPhW
|
||||
plist--;
|
||||
check_endtype = 1;
|
||||
break;
|
||||
|
||||
case 1: // thisPh
|
||||
@@ -705,6 +707,7 @@ static bool InterpretCondition(Translator *tr, int control, PHONEME_LIST *plist,
|
||||
if((worddata==NULL) || (worddata->prev_vowel.ph == NULL))
|
||||
return(false); // no previous vowel
|
||||
plist = &(worddata->prev_vowel);
|
||||
check_endtype = 1;
|
||||
break;
|
||||
|
||||
case 9: // next3PhW
|
||||
@@ -720,6 +723,7 @@ static bool InterpretCondition(Translator *tr, int control, PHONEME_LIST *plist,
|
||||
if((plist[0].sourceix) || (plist[-1].sourceix))
|
||||
return(false);
|
||||
plist-=2;
|
||||
check_endtype = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -744,7 +748,9 @@ static bool InterpretCondition(Translator *tr, int control, PHONEME_LIST *plist,
|
||||
// 'data' is a phoneme number
|
||||
if((phoneme_tab[data]->mnemonic == ph->mnemonic) == true)
|
||||
return(true);
|
||||
if((which == 0) && (ph->type == phVOWEL))
|
||||
|
||||
// not an exact match, check for a vowel type (eg. #i )
|
||||
if((check_endtype) && (ph->type == phVOWEL))
|
||||
return(data == ph->end_type); // prevPh() match on end_type
|
||||
return(data == ph->start_type); // thisPh() or nextPh(), match on start_type
|
||||
}
|
||||
|
||||
+3
-7
@@ -1980,14 +1980,10 @@ int SpeakNextClause(FILE *f_in, const void *text_in, int control)
|
||||
CalcPitches(translator, clause_tone);
|
||||
CalcLengths(translator);
|
||||
|
||||
if((option_phonemes > 0) || (phoneme_callback != NULL))
|
||||
if((option_phonemes & 0xf) || (phoneme_callback != NULL))
|
||||
{
|
||||
int phoneme_mode = 0;
|
||||
if(option_phonemes >= 3)
|
||||
phoneme_mode = 0x10 + option_phonemes-3; // 0x10=ipa, 0x11=ipa with tie, 0x12=ipa with ZWJ, 0x13=ipa with separators
|
||||
|
||||
phon_out = GetTranslatedPhonemeString(phoneme_mode);
|
||||
if(option_phonemes > 0)
|
||||
phon_out = GetTranslatedPhonemeString(option_phonemes);
|
||||
if(option_phonemes & 0xf)
|
||||
{
|
||||
fprintf(f_trans,"%s\n",phon_out);
|
||||
}
|
||||
|
||||
@@ -781,7 +781,8 @@ Translator *SelectTranslator(const char *name)
|
||||
if(name2 == L_pap)
|
||||
{
|
||||
// stress last syllable unless word ends with a vowel
|
||||
tr->langopts.stress_flags = S_FINAL_STRESS_C | S_FINAL_DIM_ONLY | S_FINAL_NO_2 | S_NO_AUTO_2;
|
||||
tr->langopts.stress_rule = STRESSPOSN_1R;
|
||||
tr->langopts.stress_flags = S_FINAL_VOWEL_UNSTRESSED | S_FINAL_DIM_ONLY | S_FINAL_NO_2 | S_NO_AUTO_2;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -795,7 +796,8 @@ Translator *SelectTranslator(const char *name)
|
||||
static const short stress_lengths_eu[8] = {200, 200, 200, 200, 0, 0, 210, 230}; // very weak stress
|
||||
static const unsigned char stress_amps_eu[8] = {16,16, 18,18, 18,18, 18,18 };
|
||||
SetupTranslator(tr,stress_lengths_eu,stress_amps_eu);
|
||||
tr->langopts.stress_rule = STRESSPOSN_2L; // ?? second syllable ??
|
||||
tr->langopts.stress_rule = STRESSPOSN_2L; // ?? second syllable, but not on a word-final vowel
|
||||
tr->langopts.stress_flags = S_FINAL_VOWEL_UNSTRESSED;
|
||||
tr->langopts.param[LOPT_SUFFIX] = 1;
|
||||
tr->langopts.numbers = NUM_SINGLE_STRESS | NUM_DECIMAL_COMMA | NUM_HUNDRED_AND | NUM_OMIT_1_HUNDRED | NUM_OMIT_1_THOUSAND | NUM_VIGESIMAL;
|
||||
}
|
||||
@@ -1349,8 +1351,8 @@ SetLengthMods(tr,3); // all equal
|
||||
|
||||
SetupTranslator(tr,stress_lengths_ro,stress_amps_ro);
|
||||
|
||||
tr->langopts.stress_rule = STRESSPOSN_2R;
|
||||
tr->langopts.stress_flags = S_FINAL_STRESS_C + S_FINAL_DIM_ONLY;
|
||||
tr->langopts.stress_rule = STRESSPOSN_1R;
|
||||
tr->langopts.stress_flags = S_FINAL_VOWEL_UNSTRESSED | S_FINAL_DIM_ONLY;
|
||||
|
||||
tr->charset_a0 = charsets[2]; // ISO-8859-2
|
||||
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_DFRACTION_3 | NUM_AND_UNITS | NUM_ROMAN;
|
||||
@@ -1453,8 +1455,8 @@ SetLengthMods(tr,3); // all equal
|
||||
|
||||
SetupTranslator(tr,stress_lengths_sq,stress_amps_sq);
|
||||
|
||||
tr->langopts.stress_rule = STRESSPOSN_2R;
|
||||
tr->langopts.stress_flags = S_FINAL_DIM_ONLY | S_FINAL_NO_2 | S_FINAL_STRESS_C;
|
||||
tr->langopts.stress_rule = STRESSPOSN_1R;
|
||||
tr->langopts.stress_flags = S_FINAL_DIM_ONLY | S_FINAL_NO_2 | S_FINAL_VOWEL_UNSTRESSED;
|
||||
SetLetterVowel(tr,'y');
|
||||
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_HUNDRED_AND | NUM_AND_UNITS | NUM_DFRACTION_4;
|
||||
tr->langopts.accents = 2; // "capital" after letter name
|
||||
|
||||
+3
-3
@@ -767,7 +767,7 @@ int ChangeEquivalentPhonemes(Translator *tr, int lang2, char *phonemes)
|
||||
}
|
||||
remove_stress = pb[1];
|
||||
|
||||
if(option_phonemes == 2)
|
||||
if(option_phonemes & espeakPHONEMES_TRACE)
|
||||
{
|
||||
DecodePhonemes(phonemes, phonbuf);
|
||||
fprintf(f_trans,"(%s) %s -> (%s) ", phoneme_tab_list[lang2].name, phonbuf, phoneme_tab_list[tr->phoneme_tab_ix].name);
|
||||
@@ -810,7 +810,7 @@ int ChangeEquivalentPhonemes(Translator *tr, int lang2, char *phonemes)
|
||||
|
||||
strcpy(phonemes, phonbuf);
|
||||
|
||||
if(option_phonemes == 2)
|
||||
if(option_phonemes & espeakPHONEMES_TRACE)
|
||||
{
|
||||
SelectPhonemeTable(tr->phoneme_tab_ix);
|
||||
DecodePhonemes(phonemes, phonbuf);
|
||||
@@ -1224,7 +1224,7 @@ if(end_type & SUFX_UNPRON)
|
||||
end_type = end2;
|
||||
strcpy(phonemes,phonemes2);
|
||||
strcpy(end_phonemes,end_phonemes2);
|
||||
if(option_phonemes == 2)
|
||||
if(option_phonemes & espeakPHONEMES_TRACE)
|
||||
{
|
||||
DecodePhonemes(end_phonemes,end_phonemes2);
|
||||
fprintf(f_trans," suffix [%s]\n\n",end_phonemes2);
|
||||
|
||||
+2
-3
@@ -408,8 +408,8 @@ typedef struct {
|
||||
#define S_FIRST_PRIMARY 0x80
|
||||
// bit7=if more than one primary stress, make the subsequent primaries to secondary stress
|
||||
|
||||
#define S_FINAL_STRESS_C 0x100
|
||||
// bit8=stress last syllable if it doesn't end in a vowel
|
||||
#define S_FINAL_VOWEL_UNSTRESSED 0x100
|
||||
// bit8=don't apply default stress to a word-final vowel
|
||||
|
||||
#define S_FINAL_SPANISH 0x200
|
||||
// bit9=stress last syllable if it doesn't end in vowel or "s" or "n" LANG=Spanish
|
||||
@@ -673,7 +673,6 @@ extern int option_tone_flags;
|
||||
extern int option_waveout;
|
||||
extern int option_quiet;
|
||||
extern int option_phonemes;
|
||||
extern int option_mbrola_phonemes;
|
||||
extern int option_phoneme_events;
|
||||
extern int option_linelength; // treat lines shorter than this as end-of-clause
|
||||
extern int option_multibyte;
|
||||
|
||||
+5
-7
@@ -410,7 +410,6 @@ void TranslDlg::OnCommand(wxCommandEvent& event)
|
||||
const char *phon_out2;
|
||||
int clause_tone;
|
||||
int clause_count;
|
||||
int use_ipa = 0;
|
||||
FILE *f;
|
||||
int fd_temp;
|
||||
char fname_temp[100];
|
||||
@@ -448,21 +447,20 @@ void TranslDlg::OnCommand(wxCommandEvent& event)
|
||||
}
|
||||
#endif
|
||||
t_phonetic->SetDefaultStyle(style_phonetic);
|
||||
translate_text = 2;
|
||||
translate_text = espeakPHONEMES_TRACE;
|
||||
break;
|
||||
|
||||
case T_TRANSLATE:
|
||||
case MENU_SPEAK_TRANSLATE:
|
||||
t_phonetic->SetDefaultStyle(style_phonetic);
|
||||
translate_text = 1;
|
||||
translate_text = espeakPHONEMES_SHOW;
|
||||
break;
|
||||
|
||||
case T_TRANSLATE_IPA:
|
||||
case MENU_SPEAK_IPA:
|
||||
t_phonetic->SetDefaultStyle(style_phonetic_large);
|
||||
|
||||
translate_text = 3;
|
||||
use_ipa = 0x10;
|
||||
translate_text = espeakPHONEMES_IPA;
|
||||
break;
|
||||
|
||||
case T_PROCESS:
|
||||
@@ -497,7 +495,7 @@ void TranslDlg::OnCommand(wxCommandEvent& event)
|
||||
CalcPitches(translator,clause_tone);
|
||||
CalcLengths(translator);
|
||||
|
||||
phon_out2 = GetTranslatedPhonemeString(use_ipa);
|
||||
phon_out2 = GetTranslatedPhonemeString(option_phonemes);
|
||||
if(clause_count++ > 0)
|
||||
strcat(phon_out," ||");
|
||||
strcat(phon_out, phon_out2);
|
||||
@@ -515,7 +513,7 @@ void TranslDlg::OnCommand(wxCommandEvent& event)
|
||||
ph_list[N_PH_LIST].ph = NULL; // to recognize overrun off list (in Generate() )
|
||||
|
||||
t_phonetic->Clear();
|
||||
if(option_phonemes == 2)
|
||||
if(option_phonemes & espeakPHONEMES_TRACE)
|
||||
{
|
||||
option_phonemes=0;
|
||||
rewind(f_trans);
|
||||
|
||||
Reference in New Issue
Block a user