Browse Source

[1.29] lang=en, minor changes to phonemes [I] [V] [aI] [eI]


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@80 d46cf337-b52f-0410-862d-fd96e6ae7743
master
jonsd 18 years ago
parent
commit
3d97adb438

+ 373
- 372
dictsource/en_list View File

@@ -172,8 +172,9 @@ ltd lImItId
mc m@k
oem $abbrev
ok $abbrev
otoh $abbrev
omg $abbrev
os $abbrev
otoh $abbrev
riscos rIskoUEs
sae $abbrev
st s@nt
@@ -317,10 +318,10 @@ allover O:l'oUv3
alm A:m
almost O:lmoUst
allspice $1
alternate Olt'3:n@t $only
alternate Olt3neIt $verb
alternately Olt'3:n@tlI2 $verbf
alternative Olt'3:n@tIv
alternate O:lt'3:n@t $only
alternate O:lt3neIt $verb
alternately O:lt'3:n@tlI2 $verbf
alternative O:lt'3:n@tIv
altogether ,O:lt@gED3
always O:lweIz
aluminium aljUm'Ini@m
@@ -1920,372 +1921,372 @@ zulu zu:lu:

// place names

Altrincham O:ltrIN@m
Anglesey aNg@LsI2
Argyle A@g'aIl
Argyll A@g;aIl
Bacup beIk@p
Berwick bErIk
Betws bEtUs
Cambridge keImbrIdZ
Cheadle tSi:d@L
Cheshire tSES3
Chiswick tSIzIk
Dolgellau d0lg'EClaI
Dover doUv3
Dumfries dVmfr'i:s
Dyfed d'VvId
Edinburgh EdInb%Vr@
Ely i:lI2
Exeter EksIt3
Exmoor EksmU@
Fylde faIld
Glasgow glaazgoU
Glenrothes gl,Enr'0TI2s
Greenwich grEnItS
Harwich harIdZ
Hasting heIstI2N
Kirkcaldy kIRk'0dI2
Leven li:v@n
Lincoln lInk@n
Malvern mO:lv3n
Morecambe mo@k@m
Norfolk nO@f@k
Norwich n0rItS
Plymouth plIm@T
Regis ri:dZI2s
Rhyl rIl
Salisbury sO:lsbrI2
Southend sA:f'End
Suffolk sVf@k
Walsall wO:lsO:l
Watford w0tf@d
Welwyn wElIn
Wirral wIr@L
Ababa aba2b@
Accra akra2
Addis adIs
Adelaide ad@leId
Aegean $2
Afghan afgan
Aires aIrIz
Alamo al@moU
Albuquerque alb@k'3:kI
Algiers $2
Amman a2m'A:n
Andes andi:z
Angeles andZ@li:z
Antarctica $2
Antigua ant'i:g@
Antilles ant'Ili:z
Apennine ap@naIn
Armageddon A@ma2g'Ed@n
Arkansas A@k@nsO:
Athens aTInz
Bahrain $2
Belgrade $2
Barents bar@nt|s
Bangledesh baNgl@d'ES
Beijing $2
Beirut beIr'u:t
Belize bEl'i:z
Bengal b,Eng'O:l
Benin bEnIn
Berlin b3:l'In
Bhutan bu:t'an
Bogata b0ga2t'A:
Bucharest bu:k@r'Est
Budapest bu:d@p'Est
Buenos bweIn0s
Burundi bUr'UndI
Brazil braz'Il
Cadiz $2
Cairo kaIroU
Calcutta $2
Canada kan@d@
Carolina kar@l'aIn@
Caribbean kar@b'i@n
Chicago SIk'A:goU
Chile tSIlI2
Ceylon $2
Cologne k@loUn
Congo $1
Copenhagen koUp@nh'eIg@n
Cruz kru:z
Cyprus saIpr@s
Dahomey $2
Damascus da2mask@s
Danish deInIS
Delhi dElI2
Djibouti dZIb'u:tI
Egyptian IdZ'IpS@n
Eire e@r@
Geneva dZ@ni:v@
Harare h@rA:rI
Hanoi han'OI
Hawaii h@w'aIi:
Hawaiian h@w'aI@n
Hebrew hi:bru:
Hebrides hEbr@di:z
Honduras h0nd'jU@ra2s
Houston hju:st@n
Idaho $1
Illinois Il@n'OI
Indochina IndoUtS'aIn@
Israeli Izr'eIlI2
Istanbul ,Ist,anb'Ul
Italia It'alI2@ // Italian(s)
Jakarta $2
Jerusalem dZ@ru:s@l@m
Johannesburg $2
Kalgoorlie kalgU@lI2
Karachi k@rA@tSI2
Kiev ki:Ev
Khmer kmi@
Korea kOr'i:@
Korean kOr'i:@n
Kuala kwA:la2
Lagos leIg0s
Leone li:'oUn
Lesotho l@s'u:tu:
Liberia laIb'i@ri:@
Lima li:ma2
Luxembourg lVks@mb3:g
?5 Luxembourg lVks@mbVRg
Madagascar mad@g'ask3
Madras m@draas
Madrid m@drId
Malawi ma2lA:wI2
Maldives mO:ld'i:v
Mali mA:lI2
Manhatten $2
Massachusetts $3
Maya maI@
Mayan maI@n
Altrincham O:ltrIN@m
Anglesey aNg@LsI2
Argyle A@g'aIl
Argyll A@g;aIl
Bacup beIk@p
Berwick bErIk
Betws bEtUs
Cambridge keImbrIdZ
Cheadle tSi:d@L
Cheshire tSES3
Chiswick tSIzIk
Dolgellau d0lg'EClaI
Dover doUv3
Dumfries dVmfr'i:s
Dyfed d'VvId
Edinburgh EdInb%Vr@
Ely i:lI2
Exeter EksIt3
Exmoor EksmU@
Fylde faIld
Glasgow glaazgoU
Glenrothes gl,Enr'0TI2s
Greenwich grEnItS
Harwich harIdZ
Hasting heIstI2N
Kirkcaldy kIRk'0dI2
Leven li:v@n
Lincoln lInk@n
Malvern mO:lv3n
Morecambe mo@k@m
Norfolk nO@f@k
Norwich n0rItS
Plymouth plIm@T
Regis ri:dZI2s
Rhyl rIl
Salisbury sO:lsbrI2
Southend sA:f'End
Suffolk sVf@k
Walsall wO:lsO:l
Watford w0tf@d
Welwyn wElIn
Wirral wIr@L
Ababa aba2b@
Accra akra2
Addis adIs
Adelaide ad@leId
Aegean $2
Afghan afgan
Aires aIrIz
Alamo al@moU
Albuquerque alb@k'3:kI
Algiers $2
Amman a2m'A:n
Andes andi:z
Angeles andZ@li:z
Antarctica $2
Antigua ant'i:g@
Antilles ant'Ili:z
Apennine ap@naIn
Armageddon A@ma2g'Ed@n
Arkansas A@k@nsO:
Athens aTInz
Bahrain $2
Belgrade $2
Barents bar@nt|s
Bangledesh baNgl@d'ES
Beijing $2
Beirut beIr'u:t
Belize bEl'i:z
Bengal b,Eng'O:l
Benin bEnIn
Berlin b3:l'In
Bhutan bu:t'an
Bogata b0ga2t'A:
Bucharest bu:k@r'Est
Budapest bu:d@p'Est
Buenos bweIn0s
Burundi bUr'UndI
Brazil braz'Il
Cadiz $2
Cairo kaIroU
Calcutta $2
Canada kan@d@
Carolina kar@l'aIn@
Caribbean kar@b'i@n
Chicago SIk'A:goU
Chile tSIlI2
Ceylon $2
Cologne k@loUn
Congo $1
Copenhagen koUp@nh'eIg@n
Cruz kru:z
Cyprus saIpr@s
Dahomey $2
Damascus da2mask@s
Danish deInIS
Delhi dElI2
Djibouti dZIb'u:tI
Egyptian IdZ'IpS@n
Eire e@r@
Geneva dZ@ni:v@
Harare h@rA:rI
Hanoi han'OI
Hawaii h@w'aIi:
Hawaiian h@w'aI@n
Hebrew hi:bru:
Hebrides hEbr@di:z
Honduras h0nd'jU@ra2s
Houston hju:st@n
Idaho $1
Illinois Il@n'OI
Indochina IndoUtS'aIn@
Israeli Izr'eIlI2
Istanbul ,Ist,anb'Ul
Italia It'alI2@ // Italian(s)
Jakarta $2
Jerusalem dZ@ru:s@l@m
Johannesburg $2
Kalgoorlie kalgU@lI2
Karachi k@rA@tSI2
Kiev ki:Ev
Khmer kmi@
Korea kOr'i:@
Korean kOr'i:@n
Kuala kwA:la2
Lagos leIg0s
Leone li:'oUn
Lesotho l@s'u:tu:
Liberia laIb'i@ri:@
Lima li:ma2
Luxembourg lVks@mb3:g
?5 Luxembourg lVks@mbVRg
Madagascar mad@g'ask3
Madras m@draas
Madrid m@drId
Malawi ma2lA:wI2
Maldives mO:ld'i:v
Mali mA:lI2
Manhatten $2
Massachusetts $3
Maya maI@
Mayan maI@n
Melbourne mElb3n
Memphis mEmfIs
Mexico $1
Milan $2
Mindanao mInd@n'aU
Minneapolis mIni:'ap@lI2s
Missouri mIs'U@rI
Montreal m0ntrI'O:l
Morocco m@r0koU
Munich mju:nIk
Nairobi naIr'oUbI
Nauru naUru:
Nepal nEp'O:l
Noumea nu:m'eI@
Oahu oU'A:hu:
Ohio oUh'aIoU
Oman oUm'an
Oregon 0rIg@n
Pacific pa2sIfIk
Palestine pal@staIn
Palestinian pal@st'Ini:@n
Panama pan@mA:
Paris parIs
Peking pi:k'IN
Peru p@ru:
Phillipine fIlIpi:n
Philipine fIlIpi:n // misspell
Poland poUl@nd
Polish poUlIS $capital $only
Portuguese po@tju:g'i:z
Prague prA:g
Pyrenees pIr@n'i:z
Qatar katA@
Quebec kwI2bEk
Rico ri:koU
Saigon saIg'0n
Santiago santI'A:goU
Savannah $2
Savoy sa2vOI
Seattle si:'at@L
Seychelle seIS'El
Slovak sloUvak
Seoul soUl
(sri lanka) sr,i:||l'anka2
Sudan su:d'an
Suez su:Iz
Sulawesi su:la2w'eIsI
Suriname sU@rIn'am
Taipei t,aIp'eI
Taiwan taI'wan
(tel aviv) t,El||a2v'i:v
Tibet tIb'Et
Totonto t@r0ntoU
Timor ti:mo@
Tokyo toUkIoU
Toulouse tu:l'u:z
Tripoli trIp@lI2
Ukraine ju:kr'eIn
Ural ju:@r@L
Utah ju:tA:
Utrecht ju:trECt
Vancouver $2
Vegas veIg@s
Vienna vI'En@
Winnipeg wInI2pEg
Wisconsin wIsk'0nsIn
Wyoming waI'oUmI2N
Xhosa kO:s@
zaire zaI'i@
zimbabwe zI2mbA:bwI2
Aaron e@r@n
Abe eIb
Abu abu:
Abraham eIbr@ham
Ada eId@ $onlys
Adrian eIdri@n
Agnes agn@s
Ahab eIhab
Ahmed axmEd
Alan al@n
Alec alIk
Alex alIks
Alfred alfrId
Alice alIs
Allen al@n
Alison alIs@n
Amanda $2
Amy eImI2
Andre 0ndreI
Anthony ant@nI2
Anton ant0n
Ares e@ri:z
Astley astlI2
Barbara bA@b@r@
Boris b0rIs
Brien braI@n
Carol kar@l
Calliope ka2laI@pI
Canberra kanb@r@
Cassandra k@sandr@
Cassey keIsI2
Catherine kaTrIn
Chris krIs
Connor k0n3
Daphne dafnI2
Darryl dar@L
Davie deIvI2
Davis deIvIs
Denise d@ni:s
Derek dErIk
Dinah daIn@
Dominic d0mInIk
Donald d0n@Ld
Dougall du:g@L
Dylan dIl@n
Edith i:dIT
Elizabeth I2lIz@b@T
Emma Em@
Evan Ev@n
Gary garI2
Geraint gEraInt
Gilbert gIlb3t
Giles gaIlz
Glynn glIn
Graeme greI@m
Graham greI@m
Hadrian heIdri:@n
Hugh hju:
Hughes hju:z
Huw hju:
Iain i:@n
Ian i:@n
Igor i:go@
Imogen Im@dZ@n
Irene aIri:n
Isaac aIs@k
Isabel Iz@bEl
Isiah aIz'aI@
Ivan aIv@n
Jacob dZeIk@b
Jamie dZeImI2
Jesus dZi:z@s
José hoUs'eI
Jose hoUs'eI
Juan hwA:n
Judy dZu:dI2
Karen kar@n
Karene ka2ri:n
Katherine kaTrIn
Kieran ki@r@n
Laurence l0r@ns
Lawrence l0r@ns
Lenore lEn'o@
Leroy li:rOI
Liam li:@m
Louis lu:I
Louise lu:w'i:z
Mahmoud maxm'u:d
Malcolm malk@m
Maria ma2ri:@
Marie ma2ri:
Margaret mA@gr@t
Marilyn mar@lIn
Matilda ma2tIld@
Matthew maTju:
Maurice m0rIs
Mavis meIvIs
Melissa $2
Miami maI'amI
Michael maIk@L
Michelle mI2SEl
Miguel mi:Q'El
Mohammad moUh'amId
Muhammad moUh'amId
Moira mOIr@
Neville nEvIl
Nicholas nIk@l@s
Nicosia nIk@s'i:@
Nigel naIdZ@L
Nguyen nu:jEn
Omar oUmA@
Oscar 0sk3
Ottawa 0ta2w@
Pamela pam@l@
Pandora $2
Penelope p@nEl@pI2
Phoebe fi:bi:
Rachel reItS@L
Rica ri:ka2
Robert r0b3t
Roderick r0drIk
Samantha s@manT@
Sarah se@r@
Seamus SeIm@s
Sean SO:n
Sebastian $2
Sheila Si:l@
Sonia s0nj@
Sophie soUfI2
Stephen sti:v@n
Stewart stju:3t
Stuart stju:3t
Theresa t@ri:z@
Thomas t0m@s
Tina ti:n@
Tracy treIsI2
Tricia trIS@
Wally w0lI2
Yvonne $2
Zoe zoUI
Andromeda andr'0mId@
Buchannan bju:k'an@n
Campbell kamb@l
Disney dIznI2
Patel p@t'El
Prentice prEntIs
Reuter rOIt3
Ubuntu u:b'u:ntu:
Yaesu jeIsu:
zhivago ZI2vA:goU
Memphis mEmfIs
Mexico $1
Miami maI'amI
Milan $2
Mindanao mInd@n'aU
Minneapolis mIni:'ap@lI2s
Missouri mIs'U@rI
Montreal m0ntrI'O:l
Morocco m@r0koU
Munich mju:nIk
Nairobi naIr'oUbI
Nauru naUru:
Nebraska $2
Nepal nEp'O:l
Noumea nu:m'eI@
Oahu oU'A:hu:
Ohio oUh'aIoU
Oman oUm'an
Oregon 0rIg@n
Pacific pa2sIfIk
Palestine pal@staIn
Palestinian pal@st'Ini:@n
Panama pan@mA:
Paris parIs
Peking pi:k'IN
Peru p@ru:
Phillipine fIlIpi:n
Philipine fIlIpi:n // misspell
Poland poUl@nd
Polish poUlIS $capital $only
Portuguese po@tju:g'i:z
Prague prA:g
Pyrenees pIr@n'i:z
Qatar katA@
Quebec kwI2bEk
Saigon saIg'0n
Santiago santI'A:goU
Savannah $2
Savoy sa2vOI
Seattle si:'at@L
Seychelle seIS'El
Slovak sloUvak
Seoul soUl
(sri lanka) sr,i:||l'anka2
Sudan su:d'an
Suez su:Iz
Sulawesi su:la2w'eIsI
Suriname sU@rIn'am
Taipei t,aIp'eI
Taiwan taI'wan
(tel aviv) t,El||a2v'i:v
Tibet tIb'Et
Totonto t@r0ntoU
Timor ti:mo@
Tokyo toUkIoU
Toulouse tu:l'u:z
Tripoli trIp@lI2
Ukraine ju:kr'eIn
Ural ju:@r@L
Utah ju:tA:
Utrecht ju:trECt
Vancouver $2
Vegas veIg@s
Vienna vI'En@
Winnipeg wInI2pEg
Wisconsin wIsk'0nsIn
Wyoming waI'oUmI2N
Xhosa kO:s@
zaire zaI'i@
zimbabwe zI2mbA:bwI2
Aaron e@r@n
Abe eIb
Abu abu:
Abraham eIbr@ham
Ada eId@ $onlys
Adrian eIdri@n
Agnes agn@s
Ahab eIhab
Ahmed axmEd
Alan al@n
Alec alIk
Alex alIks
Alfred alfrId
Alice alIs
Allen al@n
Alison alIs@n
Amanda $2
Amy eImI2
Andre 0ndreI
Anthony ant@nI2
Anton ant0n
Ares e@ri:z
Astley astlI2
Barbara bA@b@r@
Boris b0rIs
Brien braI@n
Carol kar@l
Calliope ka2laI@pI
Canberra kanb@r@
Cassandra k@sandr@
Cassey keIsI2
Catherine kaTrIn
Chris krIs
Connor k0n3
Daphne dafnI2
Darryl dar@L
Davie deIvI2
Davis deIvIs
Denise d@ni:s
Derek dErIk
Dinah daIn@
Dominic d0mInIk
Donald d0n@Ld
Dougall du:g@L
Dylan dIl@n
Edith i:dIT
Elizabeth I2lIz@b@T
Emma Em@
Evan Ev@n
Gary garI2
Geraint gEraInt
Gilbert gIlb3t
Giles gaIlz
Glynn glIn
Graeme greI@m
Graham greI@m
Hadrian heIdri:@n
Hugh hju:
Hughes hju:z
Huw hju:
Iain i:@n
Ian i:@n
Igor i:go@
Imogen Im@dZ@n
Irene aIri:n
Isaac aIs@k
Isabel Iz@bEl
Isiah aIz'aI@
Ivan aIv@n
Jacob dZeIk@b
Jamie dZeImI2
Jesus dZi:z@s
José hoUs'eI
Jose hoUs'eI
Juan hwA:n
Judy dZu:dI2
Karen kar@n
Karene ka2ri:n
Katherine kaTrIn
Kieran ki@r@n
Laurence l0r@ns
Lawrence l0r@ns
Lenore lEn'o@
Leroy li:rOI
Liam li:@m
Louis lu:I
Louise lu:w'i:z
Mahmoud maxm'u:d
Malcolm malk@m
Maria ma2ri:@
Marie ma2ri:
Margaret mA@gr@t
Marilyn mar@lIn
Matilda ma2tIld@
Matthew maTju:
Maurice m0rIs
Mavis meIvIs
Melissa $2
Michael maIk@L
Michelle mI2SEl
Miguel mi:Q'El
Mohammad moUh'amId
Muhammad moUh'amId
Moira mOIr@
Neville nEvIl
Nicholas nIk@l@s
Nicosia nIk@s'i:@
Nigel naIdZ@L
Nguyen nu:jEn
Omar oUmA@
Oscar 0sk3
Ottawa 0ta2w@
Pamela pam@l@
Pandora $2
Penelope p@nEl@pI2
Phoebe fi:bi:
Rachel reItS@L
Rhys ri:s
Robert r0b3t
Roderick r0drIk
Samantha s@manT@
Sarah se@r@
Seamus SeIm@s
Sean SO:n
Sebastian $2
Sheila Si:l@
Sonia s0nj@
Sophie soUfI2
Stephen sti:v@n
Stewart stju:3t
Stuart stju:3t
Theresa t@ri:z@
Thomas t0m@s
Tina ti:n@
Tracy treIsI2
Tricia trIS@
Wally w0lI2
Yvonne $2
Zoe zoUI
Andromeda andr'0mId@
Buchannan bju:k'an@n
Campbell kamb@l
Disney dIznI2
Patel p@t'El
Prentice prEntIs
Reuter rOIt3
Ubuntu u:b'u:ntu:
Yaesu jeIsu:
zhivago ZI2vA:goU



@@ -2524,7 +2525,7 @@ became bI,keIm $strend2

we're %wi@
you're %jO@
?7 you're %jU@
?6 you're %jU@
they're %DeI3
it'd %It@d
that'd %Dat@d
@@ -2575,7 +2576,7 @@ its %Its $nounf
our %aU@ $nounf $only
?3 our %aU3 $nounf $only
your %jO@ $nounf $only
?7 your %jU@ $nounf $only
?6 your %jU@ $nounf $only
their %De@ $nounf $only
theirs De@z


+ 22
- 43
dictsource/en_rules View File

@@ -37,8 +37,7 @@
_) a's (_ eIz
D_) a (_ eI
a a
_C) a (_ A:
_CC) a (_ A:
XC) a (_ A:
a (Be# eI
a (BeCo_ a
a (BerC a
@@ -47,8 +46,7 @@
@) a (Biu 'eI
a (Bet a
a (Bing E
_C) a (By_ eI
_CC) a (By_ eI
XC) a (By_ eI
a (Ca_ 'A:
a (Cable 'eI
a (Cably 'eI
@@ -66,8 +64,7 @@
aa) aa a:
aar 'A@
a (Bo_ 'A:
_C) a (ble eI
_CC) a (ble eI
XC) a (ble eI
CCC) a (ble eI
_en) a (bl 'eI
_dis) a (ble 'eI
@@ -875,8 +872,7 @@
qu) ar (t O@
ar (til %A@
ary (_ @rI2
_C) ary e@rI2
_CC) ary e@rI2
XC) ary e@rI2
w) ar O@
wh) ar O@
w) ar (r 0
@@ -1604,11 +1600,8 @@
.group e
e E
&) e (_
_C) e (_N i:
_CC) e (_N i:
_C) e (Be_ i:
_CC) e (Be_ i:
_CCC) e (Be_ i:
XC) e (_N i:
XC) e (Be_ i:
@) e (Cia_ 'i:
e (Bo_ 'i:
e (Boe_ 'i:
@@ -1766,8 +1759,7 @@
p) ean (_ 'i@n
_l) ea (mi E
b) ea (n i:
_C) ea (n_ i:
_CC) ea (n_ i:
XC) ea (n_ i:
ear i@
_) ear (l 3:
_) ear (n 3:
@@ -2081,8 +2073,7 @@
_) er (A I2r
_) er 3:
_) err (A Er
_C) err Er
_CC) err Er
XC) err Er
erre 'e@
erred (_ '3:d
er (_ 3:
@@ -2105,15 +2096,13 @@
m) er (c 3:
p) er (cen 3
exp) eri (en i@rI2
_C) er 3:
XC) er 3:
_h) er (A Er
_CC) er 3:
_CC) er (A Er
_qu) er 3:
c) er (am I2r
&) ere (_ 3
_C) ere (_ i@
_CC) ere (_ i@
XC) ere (_ i@
sph) ere (_ i@
c) ere (_ 'i@
i) ere (_ I2e@
@@ -2327,8 +2316,7 @@
&) ey (_ I2
@) ey (C@ I
Cv) ey (_ eI
_C) ey eI
_CC) ey eI
XC) ey eI
_ab) ey eI
_k) ey (+ i:
ey aI
@@ -2430,8 +2418,7 @@
.group i
i I
_) i' %aI
_C) i (_ aI
_CC) i (_ aI
XC) i (_ aI
b) i (_ aI
c) i (_ aI
c) is (_ Is
@@ -2439,14 +2426,14 @@
h) i (_ =aI
&sk) i (_ =I2
i (CCi_ 'I
_C) i (Ca_ i:
XC) i (Ca_ i:
XC) i (Co_ i:
i (Be# aI
i (Bee I
i (Bel_ I
i (Bet_ I
@) i (Cer I
_C) i (Cer_ aI
_CC) i (Cer_ aI
XC) i (Cer_ aI
i (ani_ I
i (ber_ aI
i (der+_ aI
@@ -2454,9 +2441,8 @@
&) i (Cent I
&) i (Cenc I
_) i (Cy_ aI
_C) i (Cy_ aI
XC) i (Cy_ aI
_p) i (ty_ I
_CC) i (Cy_ aI
ntell) i I
_) i (a aI
_) i (b aI
@@ -2635,8 +2621,7 @@
p) izz (a i:t|s

.group ia
_C) ia aI|@
_CC) ia aI|@
XC) ia aI|@
&) iac (_ =Iak
C) iar aI@
iar (iC Iar
@@ -3088,16 +3073,14 @@
r) iv (en Iv
r) iv (et Iv
_l) iv (el aIv
_C) iv (el Iv
_CC) iv (el Iv
XC) iv (el Iv
_g) iv (e Iv
_l) iv (e Iv
r) iv (er Iv
dr) iv (er aIv
sh) iv (er Iv
v) iv (e aIv
_CC) iv (en Iv
_CCC) iv (en Iv
XCC) iv (en Iv
iv (or_ aIv

.group j
@@ -3334,15 +3317,13 @@
o (Bing oU
o (BiA 'oU
_) o (Bal oU
_C) o (Bal oU
_CC) o (Bal oU
XC) o (Bal oU
o (_ oU
@@C) o (_ =oU
ig) o (_ oU
o (Ba_ 'oU
o (Beon 'oU
_C) o (Bus_ oU
_CC) o (Bus_ oU
XC) o (Bus_ oU
@) o (Ci_ 'oU
o (Co_ 'oU
@) o (lo_ 0
@@ -3645,8 +3626,7 @@
w) on (t 0n
_) only oUnlI2
&) ony (_ @nI2
_C) ony oUnI2
_CC) ony oUnI2
XC) ony oUnI2
onymous '0nIm@s

.group oo
@@ -4871,7 +4851,6 @@
_C) y (ph aI
_C) y (st I
XC) y aI
_CCC) y aI
CC) y (n_ I
// Cr) y I2
_sC) y aI

+ 1
- 0
docs/commands.html View File

@@ -159,6 +159,7 @@ Speaks the names of punctuation characters when they are encountered in the text
<strong>--voices[=&lt;language code&gt;]</strong><br>
<dd>Lists the available voices.<br>
If =&lt;language code&gt; is present then only those voices which are suitable for that language are listed.<br>
<code>--voices=variant</code> lists the voice variants (voice modifiers).

</dl>
<p>&nbsp;<hr>

+ 5
- 3
docs/languages.html View File

@@ -67,10 +67,12 @@ en-wm</strong><br>
<h3>3.3 Voice Variants</h3>
To make alternative voices for a language, you can make additional voice files in espeak-data/voices which contains commands to change various voice and pronunciation attributes. See <a href="voices.html">voices.html</a>.
<p>
Alternatively there are some preset voice variants which can be applied to any of the language voices, by appending <code>+</code> and a number. Their effects are defined by files in <code>espeak-data/voices/!v</code>.
Alternatively there are some preset voice variants which can be applied to any of the language voices, by appending <code>+</code> and a variant name. Their effects are defined by files in <code>espeak-data/voices/!v</code>.
<p>
The variant numbers are <code> +1 +2 +3 +4 +5 </code> for male voices and <code> +11 +12 +13 +14 </code> for female voices. For example:
<pre> espeak -ven+3</pre>
The variants are <code> +m1 +m2 +m3 +m4 +m5 </code> for male voices, <code> +f1 +f2 +f3 +f4 </code> for female voices, and <code> +croak +wisper</code> for other effects. For example:
<pre> espeak -ven+m3</pre>
The available voice variants can be listed with:<br>
<pre> espeak --voices=variant</pre>
<h3>3.4 Other Languages</h3>
The eSpeak speech synthesizer does text to speech for the following additional langauges.
<ul>

+ 3
- 1
espeak-data/voices/zhy View File

@@ -5,4 +5,6 @@ dictionary zhy
gender male

// interpret English letters as 1=English words, 2=jyutping
dictrules 2
dictrules 1

words 1

+ 25
- 21
phsource/compile_report View File

@@ -10,7 +10,7 @@
en_wm 30 144
af 38 128
cy 29 122
de 32 123
de 33 123
eo 13 108
fi 40 127
fr 34 118
@@ -36,7 +36,7 @@
no 28 122
is 32 121
vi 41 133
zhy 33 125
zhy 40 129
sw 14 105

3 b/b base hi ro
@@ -95,6 +95,7 @@
1 j/je base
1 j/ji base
1 j/jo base
1 j/_j_short de
1 j/ju base
6 j/xj base
1 l^/j2@ base
@@ -157,14 +158,14 @@
1 n/ni base
1 nn/inn base
4 n/nj base ro
3 nn/_nn base en zhy
3 nn/nn_ base en zhy
2 nn/_nn base en
2 nn/nn_ base en
1 nn/nn@ base
1 nn/nn#_ is
1 nn/nna base
1 nn/nne base
1 nn/nni base
2 nn/nnj base zhy
1 nn/nnj base
1 nn/nno base
1 nn/nnu base
1 n^/n^o base
@@ -242,20 +243,20 @@
4 ufric/x2 af nl pt
1 ufric/x_hr hr
1 ustop/c base
5 ustop/k base en fr hi sw
6 ustop/k base en fr hi zhy sw
10 ustop/k_ base base2 en fi fr hi hu sk el sw
14 ustop/ki base base2 en af fi fr hi hu sk mk is sw
11 ustop/kl base base2 en fi fr hi hu sk el sw
12 ustop/kr base base2 en fi fr hi hu sk el sw
10 ustop/k_unasp base base2 fi hi hu sk el
3 ustop/p base fr hi
15 ustop/ki base base2 en af fi fr hi hu sk mk is zhy ++
12 ustop/kl base base2 en fi fr hi hu sk el zhy sw
14 ustop/kr base base2 en fi fr hi hu sk el zhy sw
11 ustop/k_unasp base base2 fi hi hu sk el zhy
4 ustop/p base fr hi zhy
3 ustop/p_ base fr hi
1 ustop/percus10 base
10 ustop/pl base base2 fi fr hi hu sk la ro
9 ustop/pr base base2 fi hi hu la ro
9 ustop/p_unasp base base2 fi fr hi hu sk la ro
7 ustop/p_unasp_ base2 fi hi hu sk la ro
6 ustop/t base en fr hi
7 ustop/t base en fr hi zhy
8 ustop/t_ base en fr hi sk el
22 ustop/t_dnt base base2 en fi hi hu pl hr ru ro vi sw
1 ustop/t_dnt2 vi
@@ -312,17 +313,16 @@
2 vdiph/ai_5 de la
1 vdiph/ai_6 en_rp
5 vdiph/ai_7 en_sc is
1 vdiph/ai_en en
1 vdiph/ai_en2 en
3 vdiph/au en af vi
1 vdiph/au# en_sc
2 vdiph/au_2 en_us zhy
1 vdiph/au_3 en_rp
6 vdiph/au_4 base2 cy eo sk it is
1 vdiph/ee-e hi
4 vdiph/eei en de pt vi
5 vdiph/eei en de nl pt vi
3 vdiph/eei_2 en_us eo fi
2 vdiph/eei_3 en_rp sk
1 vdiph/eei_4 nl
3 vdiph/eeu pt vi zhy
2 vdiph/eeu_2 la pt_pt
2 vdiph/eeu_3 en_n en_wm
@@ -469,9 +469,8 @@
10 vowel/ii en_wm cy de fr_ca nl is zhy
3 vowel/ii# cy pl ru
1 vowel/ii_2 la
7 vowel/ii_3 en_rp fi hi sk hr sv no
2 vowel/ii_4 en_rp
6 vowel/ii_en en en_n
8 vowel/ii_3 en en_rp fi hi sk hr sv no
7 vowel/ii_4 en en_n en_rp
5 vowel/@_low hi ro no
11 vowel/o base2 en en_wm de hi it la pt_pt sv
4 vowel/o_2 cy hi hu no
@@ -503,7 +502,7 @@
5 vowel/u_2 fi fr sk hr ro
1 vowel/u#_2 sv
2 vowel/u_3 en_us ro
1 vowel/u#_3 en_n
1 vowel/u_4 en_n
2 vowel/u#_4 en_sc
1 vowel/u_5 sw
3 vowel/u_6 en_rp pt_pt
@@ -514,8 +513,8 @@
1 vowel/uu_3 af
2 vowel/uu_4 fi sv
7 vowel/uu_bck fr_ca hi hu pt no zhy
2 vowel/V en en_sc
3 vowel/V_2 af ru
1 vowel/V en_sc
4 vowel/V_2 en af ru
3 vowel/V_3 en_rp hi vi
1 vowel/V_4 en_sc
6 vowel/y en de fi hu nl zhy
@@ -601,6 +600,11 @@
1 vwl_ru/u#u ru
1 vwl_sv/r_sv3 sv
1 vwl_zh/aang zhy
1 vwl_zh/ang zhy
1 vwl_zh/eng zhy
1 vwl_zh/ing zhy
1 vwl_zh/ng zhy
1 vwl_zh/oeng zhy
1 vwl_zh/ong zhy
1 vwl_zh/ung zhy
2 w/w base fr

BIN
phsource/j/_j_short View File


BIN
phsource/j/ja View File


BIN
phsource/j/je View File


BIN
phsource/j/jo View File


BIN
phsource/l/L2_oL View File


+ 1
- 1
phsource/ph_dutch View File

@@ -104,7 +104,7 @@ endphoneme
phoneme EI
vowel starttype (a) endtype (i)
length 210
formants vdiph/eei_4
formants vdiph/eei
endphoneme

phoneme Wy

+ 7
- 7
phsource/ph_english View File

@@ -136,7 +136,7 @@ endphoneme
phoneme I
vowel starttype (i) endtype (i)
length 130
formants vowel/ii_en
formants vowel/ii_4
linkout ;
endphoneme

@@ -144,15 +144,15 @@ phoneme I2
vowel starttype (i) endtype (i)
unstressed
length 140
formants vowel/ii_en
formants vowel/ii_4
linkout ;
endphoneme


phoneme i // optional variant of [I] for end of words
vowel starttype (i) endtype (i)
length 220
formants vowel/ii_en
length 140
formants vowel/ii_3
linkout ;
endphoneme

@@ -168,7 +168,7 @@ endphoneme
phoneme V
vowel starttype (a) endtype (@)
length 140
formants vowel/V
formants vowel/V_2
reduceto @ 0
endphoneme

@@ -241,7 +241,7 @@ endphoneme

phoneme O
vowel starttype (o) endtype (o)
length 150
length 200
formants vowel/oo_en
reduceto @ 0
endphoneme
@@ -272,7 +272,7 @@ endphoneme
phoneme aI
vowel starttype (a) endtype (i)
length 230
formants vdiph/ai_en
formants vdiph/ai_en2
endphoneme



+ 4
- 4
phsource/ph_english_n View File

@@ -25,14 +25,14 @@ endphoneme
phoneme I
vowel starttype (i) endtype (i)
length 130
formants vowel/ii_en
formants vowel/ii_4
linkout ;
endphoneme

phoneme i // optional variant of [I] for end of words
vowel starttype (i) endtype (i)
length 220
formants vowel/ii_en
formants vowel/ii_4
linkout ;
endphoneme

@@ -64,7 +64,7 @@ phoneme I2
vowel starttype (i) endtype (i)
unstressed
length 140
formants vowel/ii_en
formants vowel/ii_4
linkout ;
endphoneme

@@ -156,7 +156,7 @@ endphoneme
phoneme u:
vowel starttype (u) endtype (u)
length 200
formants vowel/u#_3
formants vowel/u_4
before _ vwl_en_n/u_
before l/2 vwl_en/u_L-40+l/L2_uL
endphoneme

+ 12
- 1
phsource/ph_german View File

@@ -69,7 +69,7 @@ endphoneme

phoneme O
vowel starttype (o) endtype (o)
length 140
length 120
formants vowel/oo
before * DFT+40
endphoneme
@@ -248,6 +248,17 @@ phoneme l/ // used for [l] when not before a vowel
beforevowel l
endphoneme

phoneme j
liquid
palatal
length 100
beforenotvowel j/
formants NULL
after _ j/_j_short
lengthmod 7
endphoneme



// This is actually the ENGLISH "rolling r". For german, we now use * in the dictionary,
// so this phoneme will only be used in english words in german texts.

+ 74
- 21
phsource/ph_zh_yue View File

@@ -63,27 +63,53 @@ phoneme c // [tS]
switchvoicing dZ
endphoneme


phoneme ng // synonym for [N]
vcd vel nasal
starttype N endtype N
vowelout f1=3 f2=2300 300 400 f3=-200 80 len=40 rms=20 brk
length 100
formants NULL
after _ nn/_nn
before _ nn/nn_
before (r) nn/nnj
lengthmod 8 // longer than 'n'
phoneme k
vls vel stop
vowelin f1=0 f2=2300 200 300 f3=-200 80
vowelout f1=0 f2=2300 300 400 f3=-200 80 rms=20
lengthmod 2
wave ustop/k
before _ NULL
before r ustop/kr
before R ustop/kr
before @- ustop/k_unasp%70
before l ustop/kl
before (i) ustop/ki
switchvoicing g
endphoneme

phoneme p
vls blb stop
vowelin f1=0 f2=1000 -50 -100 f3=-200 80 rms=30
vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22
lengthmod 2
wave ustop/p
before _ NULL
endphoneme

phoneme t
vls alv stop
vowelin f1=0 f2=1700 -300 300 f3=100 80
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
wave ustop/t
before _ NULL
lengthmod 2
endphoneme

//phoneme ng // synonym for [N]
// vcd vel nasal
// starttype N endtype N
// vowelout f1=3 f2=2300 300 400 f3=-200 80 len=40 rms=20 brk
// after _ nn/_nn
// before _ nn/nn_
// before (r) nn/nnj
// lengthmod 8 // longer than 'n'
//endphoneme

//====================================================
// Vowels and Diphtnongs
//====================================================



phoneme aa
vowel starttype (a) endtype (a)
length 230
@@ -102,14 +128,18 @@ phoneme aau
formants vdiph/aau_2
endphoneme

phoneme ang
vowel starttype (a) endtype (a)
length 220
formants vwl_zh/ang
endphoneme

phoneme aang
vowel starttype (a) endtype (a)
length 270
formants vwl_zh/aang
endphoneme



phoneme a
vowel starttype (@) endtype (@)
length 150
@@ -128,7 +158,6 @@ phoneme au
formants vdiph/au_2
endphoneme


phoneme e
vowel starttype (e) endtype (e)
length 220
@@ -141,13 +170,18 @@ phoneme ei
formants vdiph/ei
endphoneme

phoneme eng
vowel starttype (e) endtype (e)
length 220
formants vwl_zh/eng
endphoneme

phoneme eu
vowel starttype (e) endtype (u)
length 260
formants vdiph/eeu
endphoneme


phoneme i
vowel starttype (i) endtype (i)
length 190
@@ -158,13 +192,28 @@ phoneme i
linkout ;
endphoneme

phoneme ing
vowel starttype (i) endtype (i)
length 220
formants vwl_zh/ing
endphoneme

phoneme iu
vowel starttype (i) endtype (u)
length 200
formants vdiph2/iu
endphoneme


phoneme ng // synonym for [N]
vowel starttype ng endtype ng
// vowelout f1=3 f2=2300 300 400 f3=-200 80 len=40 rms=20 brk
length 350
formants vwl_zh/ng
beforevowel N
// before (@) vnasal/
// before o vnasal/nn-
// lengthmod 8
endphoneme

phoneme o
vowel starttype (o) endtype (o)
@@ -172,6 +221,12 @@ phoneme o
formants vowel/oo
endphoneme

phoneme oeng
vowel starttype (o) endtype (e)
length 280
formants vwl_zh/oeng
endphoneme

phoneme oi
vowel starttype (o) endtype (i)
length 200
@@ -185,7 +240,7 @@ phoneme ou
endphoneme

phoneme ong
vowel starttype (o) endtype (o)
vowel starttype (o) endtype (o)
length 220
formants vwl_zh/ong
endphoneme
@@ -231,8 +286,6 @@ phoneme eoi
formants vdiph/y#y_2
endphoneme



phoneme yu
vowel starttype (u) endtype (u)
length 220

BIN
phsource/vdiph/ai_2 View File


BIN
phsource/vdiph/ai_en2 View File


BIN
phsource/vdiph/eei View File


BIN
phsource/vdiph/eei_4 View File


BIN
phsource/vdiph/vowelchart.png View File


BIN
phsource/vowel/V_2 View File


BIN
phsource/vowel/vowelchart.png View File


BIN
phsource/vwl_en_us/ar2 View File


+ 22
- 3
platforms/windows/make_espeak.iss View File

@@ -2,7 +2,8 @@
[Setup]
AppName=eSpeak
AppVerName=eSpeak version 1.27
AppVerName=eSpeak version 1.29
DefaultDirName={pf}\eSpeak
DefaultGroupName=eSpeak
OutputBaseFilename=setup_espeak
@@ -25,6 +26,7 @@ Source: "dictsource2\*"; DestDir: "{app}\dictsource"
Source: "docs\*"; DestDir: "{app}\docs"; Flags: recursesubdirs
Source: "command_line\*"; DestDir: "{app}\command_line"
Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme
Source: "License.txt"; DestDir: "{app}";
[Registry]
Root: HKLM; Subkey: "Software\Microsoft\Speech\Voices\Tokens\eSpeak"; Flags: deletekey uninsdeletekey
@@ -39,6 +41,7 @@ Root: HKLM; Subkey: "Software\Microsoft\Speech\PhoneConverters\Tokens\eSpeak"; F
[Languages]
Name: "en"; MessagesFile: "compiler:Default.isl"
Name: "af"; MessagesFile: "compiler:Languages\Afrikaans.isl"
Name: "bs"; MessagesFile: "compiler:Languages\Bosnian.isl"
Name: "cs"; MessagesFile: "compiler:Languages\Czech.isl"
Name: "de"; MessagesFile: "compiler:Languages\German.isl"
Name: "el"; MessagesFile: "compiler:Languages\Greek.isl"
@@ -59,12 +62,23 @@ Name: "sr"; MessagesFile: "compiler:Languages\Serbian.isl"
[CustomMessages]
v1=Select which voices to install
v2=or press Enter to accept defaults
v3=Enter voice names, eg: (for Portuguese) pt, or with a variant, eg: pt+13
v3=Enter voice names, eg: (for Portuguese) pt, or with a variant, eg: pt+f3
bs.v1=Odaberite jezik kojeg �elite instalirati
bs.v2=ili pritisnite Enter za prihvat zadanih.
bs.v3=Upi�ite, npr. bs (za Bosanski) ili s varjantom: bs+f3
hr.v1=Odaberite jezik kojeg �elite instalirati
hr.v2=ili pritisnite Enter za prihvat zadanih.
hr.v3=Upi�ite, npr. hr (za Hrvatski) ili s varjantom: hr+f3
pt.v1=Seleccione as vozes que pretende instalar
pt.v2=ou precione enter para aceitar as predefinidas.
pt.v3=Introduza os nomes das vozes, ex: (Brazil) pt (ou Portugal) pt-pt, ou com outras caracter�sticas, ex: pt+13
pt.v3=Introduza os nomes das vozes, ex: (Brazil) pt (ou Portugal) pt-pt, ou com outras caracter�sticas, ex: pt+f3
sr.v1=Molimo vas da odaberete glasove, koje �elite da instalirate
sr.v2=ili pritisnite Enter za instalaciju podrazumevanih glasova.
sr.v3=Da odaberetd glas, unesite ime glasa koje �elite instalirati, na primer sr, ili sr+f3
[Code]
@@ -108,6 +122,7 @@ begin
$1b: Result := 'sk';
$1d: Result := 'sv';
$2a: Result := 'vi';
$2f: Result := 'mk';
$36: Result := 'af';
$39: Result := 'hi';
$41: Result := 'sw';
@@ -117,8 +132,10 @@ begin
// is there a match on the full language code?
case language of
$816: Result := 'pt-pt';
$41a: Result := 'hr';
$81a: Result := 'sr';
$c1a: Result := 'sr';
$141a: Result := 'bs';
end;
end;
@@ -142,6 +159,7 @@ begin
case lang1 of
'af': value := $436;
'bs': value := $141a;
'cs': value := $405;
'cy': value := $452;
'de': value := $407;
@@ -155,6 +173,7 @@ begin
'hu': value := $40e;
'is': value := $40f;
'it': value := $410;
'mk': value := $42f;
'nl': value := $413;
'no': value := $414;
'pl': value := $415;

+ 3
- 1
platforms/windows/make_espeakedit.iss View File

@@ -1,7 +1,7 @@
[Setup]
AppName=eSpeakEdit
AppVerName=eSpeakEdit version 1.27
AppVerName=eSpeakEdit version 1.29
DefaultDirName={pf}\eSpeak
DefaultGroupName=eSpeak
OutputBaseFilename=setup_espeakedit
@@ -16,12 +16,14 @@ Source: "dictsource\*"; DestDir: "{app}\dictsource"; Flags: recursesubdirs
Source: "espeakedit\*"; DestDir: "{app}\espeakedit"; Flags: recursesubdirs
Source: "phsource\*"; DestDir: "{app}\phsource"; Flags: recursesubdirs
Source: "docs\*"; DestDir: "{app}\docs"; Flags: recursesubdirs
Source: "License.txt"; DestDir: "{app}";
;Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme
[Languages]
Name: "en"; MessagesFile: "compiler:Default.isl"
Name: "af"; MessagesFile: "compiler:Languages\Afrikaans.isl"
Name: "bs"; MessagesFile: "compiler:Languages\Bosnian.isl"
Name: "cs"; MessagesFile: "compiler:Languages\Czech.isl"
Name: "de"; MessagesFile: "compiler:Languages\German.isl"
Name: "el"; MessagesFile: "compiler:Languages\Greek.isl"

+ 2
- 3
src/compiledata.cpp View File

@@ -77,7 +77,6 @@ extern void MakeVowelLists(void);
extern void FindPhonemesUsed(void);
extern void DrawEnvelopes();
extern int CompileDictionary(const char *dsource, const char *dict_name, FILE *log, char *fname);
extern char voice_name[];

static int markers_used[8];

@@ -2099,7 +2098,7 @@ wxString CompileAllDictionaries()
return(_T(" No dictionaries"));
}

strcpy(save_voice_name,voice_name);
strcpy(save_voice_name,voice_name2);

sprintf(fname_log,"%s%s",path_dsource,"dict_log");
log = fopen(fname_log,"w");
@@ -2274,7 +2273,7 @@ fprintf(f_errors,"Refs %d, Reused %d\n",count_references,duplicate_references);
fclose(f_phcontents);

LoadPhData();
LoadVoice(voice_name,0);
LoadVoice(voice_name2,0);
Report();
DrawEnvelopes();


+ 10
- 7
src/espeakedit.cpp View File

@@ -65,7 +65,6 @@ extern void MakeVowelLists(void);
extern void MakeWordFreqList();

extern const char *dict_name;
extern char voice_name[];

MyFrame *myframe = NULL;
SpectDisplay *currentcanvas = NULL;
@@ -197,6 +196,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxMDIParentFrame)
EVT_MENU(MENU_SPEAK_STOP, MyFrame::OnSpeak)
EVT_MENU(MENU_SPEAK_PAUSE, MyFrame::OnSpeak)
EVT_MENU(MENU_SPEAK_VOICE, MyFrame::OnSpeak)
EVT_MENU(MENU_SPEAK_VOICE_VARIANT, MyFrame::OnSpeak)
EVT_MENU(MENU_LOAD_WAV, MyFrame::OnTools)
EVT_MENU(MENU_VOWELCHART1, MyFrame::OnTools)
EVT_MENU(MENU_VOWELCHART2, MyFrame::OnTools)
@@ -266,7 +266,7 @@ wxSashLayoutWindow *win;


// if(LoadVoice(voice_name,0) == NULL)
if(SetVoiceByName(voice_name) != EE_OK)
if(SetVoiceByName(voice_name2) != EE_OK)
{
if(error_flag==0)
wxLogError(_T("Failed to load voice data"));
@@ -274,7 +274,7 @@ wxSashLayoutWindow *win;
}
else
{
SetVoiceTitle(voice_name);
SetVoiceTitle(voice_name2);
}
WavegenSetVoice(voice);

@@ -531,10 +531,13 @@ void MyFrame::OnSpeak(wxCommandEvent& event)
break;

case MENU_SPEAK_VOICE:
transldlg->ReadVoice();
// if(voicedlg != NULL)
// voicedlg->WriteParams();
SetVoiceTitle(voice_name);
transldlg->ReadVoice(0);
SetVoiceTitle(voice_name2);
break;

case MENU_SPEAK_VOICE_VARIANT:
transldlg->ReadVoice(1);
SetVoiceTitle(voice_name2);
break;
}
}

+ 3
- 1
src/main.h View File

@@ -18,6 +18,7 @@ extern int progress_max;
extern int gui_flag;

extern char *WavFileName();
extern char voice_name2[40];

class SpectDisplay;

@@ -90,7 +91,7 @@ public:

void OnKey(wxKeyEvent& event);
void SpeakFile(void);
void ReadVoice(void);
void ReadVoice(int variant);
void OnCommand(wxCommandEvent& event);

private:
@@ -141,6 +142,7 @@ enum {
MENU_SPEAK_PAUSE,
MENU_SPEAK_STOP,
MENU_SPEAK_VOICE,
MENU_SPEAK_VOICE_VARIANT,
MENU_LOAD_WAV,

MENU_VOWELCHART,

+ 1
- 0
src/menus.cpp View File

@@ -80,6 +80,7 @@ wxMenuBar *MakeMenu(int type)
// VOICE MENU
voice_menu = new wxMenu;
voice_menu->Append(MENU_SPEAK_VOICE, _("Select &Voice"));
voice_menu->Append(MENU_SPEAK_VOICE_VARIANT, _("Select Voice Va&riant"));

// DATA MENU
data_menu = new wxMenu;

+ 3
- 3
src/options.cpp View File

@@ -37,7 +37,6 @@ extern void strncpy0(char *to,const char *from, int size);
extern int GetNumeric(wxTextCtrl *t);
extern void SetNumeric(wxTextCtrl *t, int value);
extern int samplerate;
extern char voice_name[40];

wxString path_spectload;
wxString path_spectload2;
@@ -53,6 +52,7 @@ wxString path_dir1;
int option_speed=160;

char path_dsource[sizeof(path_home)+20];
char voice_name2[40];

BEGIN_EVENT_TABLE(Options, wxDialog)
EVT_BUTTON(wxID_SAVE,Options::OnCommand)
@@ -174,7 +174,7 @@ void ConfigInit()
pConfig->Read(_T("/wavepath"),&path_wave,wxEmptyString);
pConfig->Read(_T("/speechpath"),&path_speech,wxEmptyString);
pConfig->Read(_T("/voicename"),&string,wxEmptyString);
strcpy(voice_name,string.mb_str(wxConvLocal));
strcpy(voice_name2,string.mb_str(wxConvLocal));
pConfig->Read(_T("/phsource"),&path_phsource,basedir+_T("/phsource"));
pConfig->Read(_T("/phfile"),&path_phfile,path_phsource+_T("/phonemes"));
pConfig->Read(_T("/dictsource"),&path_dictsource,basedir+_T("/dictsource"));
@@ -199,7 +199,7 @@ void ConfigSave(int exit)
pConfig->Write(_T("/pitchpath"),path_pitches);
pConfig->Write(_T("/wavepath"),path_wave);
pConfig->Write(_T("/speechpath"),path_speech);
pConfig->Write(_T("/voicename"),wxString(voice_name,wxConvLocal));
pConfig->Write(_T("/voicename"),wxString(voice_name2,wxConvLocal));
pConfig->Write(_T("/phsource"),path_phsource);
pConfig->Write(_T("/phfile"),path_phfile);
pConfig->Write(_T("/dictsource"),path_dictsource);

+ 1
- 1
src/spect.cpp View File

@@ -384,7 +384,7 @@ void SpectFrame::ApplyVoiceMods()
int pk;
char voice_name1[40];

strcpy(voice_name1, voice_name); // remember current voice name
strcpy(voice_name1, voice_name2); // remember current voice name

if(LoadVoice(path_modifiervoice.mb_str(wxConvLocal),0x13) == NULL)
{

+ 2
- 2
src/synthdata.cpp View File

@@ -35,8 +35,8 @@
#include "translate.h"
#include "wave.h"

const char *version_string = "1.28.07 21.Aug.07";
const int version_phdata = 0x012801;
const char *version_string = "1.29 27.Aug.07";
const int version_phdata = 0x012901;

int option_device_number = -1;


+ 1
- 1
src/tr_languages.cpp View File

@@ -646,7 +646,7 @@ SetLengthMods(tr,3); // all equal
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
tr->langopts.tone_numbers = 9;
tr->langopts.ideographs = 1;
tr->langopts.word_gap = 0x4; // length of a final vowel is less dependent on the next consonant
tr->langopts.word_gap = 0x5; // length of a final vowel is less dependent on the next consonant, don't merge consonant with next word
}
break;


+ 36
- 8
src/transldlg.cpp View File

@@ -243,24 +243,52 @@ void TranslDlg::SpeakFile(void)



void TranslDlg::ReadVoice()
{//========================
void TranslDlg::ReadVoice(int variant)
{//===================================
wxString path;
wxString filename;
char *p;
char vname[40];
char fname[sizeof(path_home)+10];

sprintf(fname,"%s/voices",path_home);
path = wxFileSelector(_T("Load voice"),wxString(fname,wxConvLocal),_T(""),_T(""),_T("*"),wxOPEN);
if(path.IsEmpty())
return;
if(variant)
{
// remove variant from the previous voice name
if((p = strchr(voice_name2,'+')) != NULL)
*p = 0;

filename = path.Mid(strlen(fname)+1);
strcpy(fname,filename.mb_str(wxConvLocal));
sprintf(fname,"%s/voices/!v",path_home);
path = wxFileSelector(_T("Load voice variant"),wxString(fname,wxConvLocal),_T(""),_T(""),_T("*"),wxOPEN);
if(path.IsEmpty())
{
strcpy(fname,voice_name2);
}
else
{
filename = path.Mid(strlen(fname)+1);
strcpy(vname,filename.mb_str(wxConvLocal));
sprintf(fname,"%s+%s",voice_name2,vname);
}
}
else
{
sprintf(fname,"%s/voices",path_home);
path = wxFileSelector(_T("Load voice"),wxString(fname,wxConvLocal),_T(""),_T(""),_T("*"),wxOPEN);
if(path.IsEmpty())
return;

filename = path.Mid(strlen(fname)+1);
strcpy(fname,filename.mb_str(wxConvLocal));
}

if(SetVoiceByName(fname) != EE_OK)
{
wxLogError(_T("Failed to load voice data"));
}
else
{
strcpy(voice_name2,fname);
}
WavegenSetVoice(voice);
}


+ 17
- 5
src/voices.cpp View File

@@ -66,7 +66,6 @@ static int len_path_voices;

espeak_VOICE *voice_selected = NULL;
espeak_VOICE *first_voice = NULL;
char voice_name[40];



@@ -870,7 +869,6 @@ voice_t *LoadVoice(const char *vname, int control)
if(!tone_only)
{
translator = new_translator;
strcpy(voice_name,voicename);
}

// relative lengths of different stress syllables
@@ -978,7 +976,7 @@ static int __cdecl VoiceScoreSorter(const void *p1, const void *p2)

if((ix = v2->score - v1->score) != 0)
return(ix);
return(strcmp(v2->name,v1->name));
return(strcmp(v1->name,v2->name));
}


@@ -1525,6 +1523,8 @@ ESPEAK_API const espeak_VOICE **espeak_ListVoices(espeak_VOICE *voice_spec)
{//========================================================================
#ifndef PLATFORM_RISCOS
int ix;
int j;
espeak_VOICE *v;
static espeak_VOICE *voices[N_VOICES_LIST];
char selected_voice_id[80];
char path_voices[sizeof(path_home)+12];
@@ -1570,9 +1570,21 @@ ESPEAK_API const espeak_VOICE **espeak_ListVoices(espeak_VOICE *voice_spec)
{
// select the voices which match the voice_spec, and sort them by preference
SetVoiceScores(voice_spec,voices,1);
return((const espeak_VOICE **)voices);
}

else
{
// omit variant voices
j = 0;
for(ix=0; (v = voices_list[ix]) != NULL; ix++)
{
if((v->languages[0] != 0) && (strcmp(&v->languages[1],"variant") != 0))
{
voices[j++] = v;
}
}
voices[j] = NULL;
}
return((const espeak_VOICE **)voices);
#endif
return((const espeak_VOICE **)voices_list);
} // end of espeak_ListVoices

+ 1
- 2
src/vowelchart.cpp View File

@@ -40,7 +40,6 @@
/* Read a file of vowel symbols and f1,f2 formants, and produce a vowel diagram
*/
extern wxString path_phsource;
extern char voice_name[];

extern char *spects_data;
extern int n_phoneme_tables;
@@ -503,7 +502,7 @@ void MakeVowelLists(void)

VowelChart(1,fname); // draw the vowel chart
}
LoadVoice(voice_name,0); // reset the original phoneme table
LoadVoice(voice_name2,0); // reset the original phoneme table
delete progress;
}


Loading…
Cancel
Save