Don't omit <marker> event for words which are recognized as pairs (such as "of the"). Lang=Spanish, fix missing "y" in numbers such as "21". Lang=EN-US, Don't add 'intrusive r' between phoneme [i@] and a following vowel. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@268 d46cf337-b52f-0410-862d-fd96e6ae7743master
@@ -538,7 +538,7 @@ bronchie $alt | |||
changier SaNZ'i:r | |||
ciao tSaU | |||
clique kli:k@ | |||
clique klIk@ | |||
coup ku: | |||
dahlie $alt |
@@ -500,6 +500,7 @@ | |||
_) faks (i f%akz | |||
_) farb (C@P4 f'arp | |||
_) farb (l@P4 f'arb | |||
_) farc fars | |||
_) fein (@P4 f'aIn | |||
_) fertig (C@P6 f'ErtiC | |||
_) fest (@P4 f'Est | |||
@@ -1365,6 +1366,7 @@ formal) ie =I@ | |||
_) zigaretten (@P10 tsi:gar'Et@n | |||
_) zigeu tsi:g'OY | |||
_) zu (C@P2 ts%u: | |||
_) zu (ck tsU | |||
_) zu (eP2 ts%u: | |||
_) zu (g@ tsu: | |||
_) zu (gu@P2 ts%u: |
@@ -66,7 +66,7 @@ s S t T tS v w x | |||
z Z | |||
Dictionary hu_dict 2011-05-13 | |||
Dictionary hu_dict 2011-06-25 | |||
a A a: E e: i i: o | |||
o: u u: Y y y: Y: | |||
@@ -77,7 +77,7 @@ n n^ p r R R2 s S | |||
s2 t t2 tS ts v z Z | |||
Dictionary de_dict 2011-05-23 | |||
Dictionary de_dict 2011-06-14 | |||
3 @ @- a A A: aI aU | |||
A~ E E2 E: e: EI i I | |||
@@ -101,14 +101,14 @@ p Q r R s s; t T | |||
ts v x z | |||
Dictionary en_dict 2011-05-24 | |||
Dictionary en_dict 2011-06-21 | |||
0 3 3: @ @- @2 @5 @L | |||
a a# A: A@ aa aI aI@ aU | |||
aU@ A~ E e: e@ eI i I | |||
I2 i: i@ i@3 IR O O: o: | |||
O@ o@ OI oU O~ U u: U@ | |||
V VR | |||
I# I2 i: i@ i@3 IR O O: | |||
o: O@ o@ OI oU O~ U u: | |||
U@ V VR | |||
: ; ? b C d D d# | |||
dZ f g h j k l l# | |||
@@ -201,7 +201,7 @@ q r r. s S s. t T | |||
t. th th. v w x z | |||
Dictionary ta_dict 2011-05-23 | |||
Dictionary ta_dict 2011-06-25 | |||
a a: aI aU e E e: i | |||
I i: o o: u U u2 u: | |||
@@ -326,7 +326,7 @@ k l m n p R s S | |||
t tS v w x | |||
Dictionary nl_dict 2011-05-18 | |||
Dictionary nl_dict 2011-06-08 | |||
8 @ @- a A a: A~ e | |||
E e# E2 e: EI eU i I | |||
@@ -690,7 +690,7 @@ t. th th. tS v w x z | |||
Z | |||
Dictionary kn_dict 2011-04-06 | |||
Dictionary kn_dict 2011-06-25 | |||
a a: aI aU e E e: i | |||
I i: o o: r- u u: |
@@ -37,7 +37,7 @@ _1M3 EJmillia:R2d | |||
_2M3 ke:tmillia:R2d | |||
_0M4 billio: | |||
_1M4 billio: | |||
_1M4 EJbillio: | |||
_2M4 ke:tbillio: | |||
_dpt ||Ege:s //Not need the pause before this word | |||
@@ -1764,7 +1764,15 @@ hangoztatta $unstressend | |||
jogok $unstressend | |||
felelt $unstressend | |||
állította $unstressend | |||
járó $unstressend | |||
jelenség $unstressend | |||
nyertesei $unstressend | |||
tartására $unstressend | |||
eset $unstressend | |||
fajták $unstressend | |||
körülményei $unstressend | |||
bízva $unstressend | |||
száma $unstressend | |||
// word pairs | |||
(hogy a) h,oJ,A |
@@ -56,7 +56,6 @@ | |||
csz ts|s | |||
papu) cs tS | |||
ar) c (cson ts | |||
mala) c (sá ts | |||
pá) c (só ts | |||
@@ -530,6 +529,7 @@ harmince) gy (edik J: | |||
nem-e) gy (ik J: | |||
e) gy (összeg J: | |||
e) gys (ík J|S //for example egysíkú word need spokening single J and S phoneme | |||
_e) gy (öntet J: | |||
.group h | |||
h h | |||
@@ -1172,6 +1172,9 @@ helyze) tj (el tj | |||
spor) tj (áték tj | |||
rokkan) tj (áradék tj | |||
interne) tj (egy tj | |||
álla) tj (ólét tj | |||
dolgoza) tj (avít tj | |||
természe) tj (ár tj | |||
.group ts | |||
ts (_S2 tS //general rule with word end of ts letters | |||
@@ -1570,6 +1573,8 @@ szellő) z (tet s | |||
magyará) z (kod s | |||
kalau) z (ság z | |||
pofo) z (kod s | |||
ezkö) z (sáv z | |||
eszkö) z (sáv z | |||
.group | |||
$ dolla:R2 |
@@ -79,6 +79,9 @@ U+c83 ah | |||
U+cbc nukta | |||
U+cbd avagraha | |||
U+ccd vattu | |||
ಫ಼್ if | |||
ಜ಼್ iz | |||
// combining vowels, precede by a click so they can be distinguished from stand-alone vowels | |||
ಾ #X2a:: | |||
@@ -245,6 +248,7 @@ _dpt _d'as.a:ms.a | |||
// abbreviations | |||
(http ://) e:tSti:ti:'pi:_ | |||
pvt praIvat | |||
// English words |
@@ -50,6 +50,8 @@ | |||
.group ಜ | |||
ಜ Ja | |||
ಜ (B J | |||
ಜ಼ za // nukta | |||
ಜ಼ (B z | |||
.group ಝ | |||
ಝ Jha | |||
@@ -106,6 +108,8 @@ | |||
.group ಫ | |||
ಫ pha | |||
ಫ (B ph | |||
ಫ಼ fa // nukta | |||
ಫ಼ (B f | |||
.group ಬ | |||
ಬ ba |
@@ -1476,6 +1476,8 @@ verderop $3 | |||
volledig $2 | |||
vrouwengek $alt3 | |||
waarschijnlijk $2 | |||
wanen v#a:n@n | |||
wangen v#AN@n | |||
ziekenhuisbevalling zi:k@nhWysb@vAlIN | |||
@@ -1,5 +1,9 @@ | |||
// translation rules for Dutch | |||
// This file is UTF-8 encoded | |||
.L01 g k | |||
.group a | |||
a a: | |||
a (CK A | |||
@@ -332,7 +336,7 @@ | |||
ie (ren_ 'i | |||
ie (rd_ 'i | |||
@) ig (_S2dq @x | |||
@) ige (_ @Q@ | |||
@) ige (_S3dq @Q@ | |||
@) igen (_ @Q@n | |||
@) iger (_ @Q@r | |||
@) igere (_ @Q@r@ | |||
@@ -520,6 +524,8 @@ _) inn (@P2 'I // ?? inneren | |||
s s | |||
s (s | |||
A) s (A z | |||
s (b z | |||
s (g z | |||
sc s | |||
sch sx | |||
sch (_ s | |||
@@ -634,6 +640,9 @@ _) inn (@P2 'I // ?? inneren | |||
w (CK w | |||
_) wan (@P3 v#'An | |||
_) wan (L01@P3 v#'AN | |||
_) wan (del v#An | |||
_) wan (kel v#AN | |||
_) weg (@P3 v#'EQ | |||
_) weg (en v#e:Q | |||
_) weg (e_ v#e:Q // bewegelijk |
@@ -182,7 +182,8 @@ _1M3 orUko:d.ie: | |||
_dpt _pul.l.i | |||
_#ம் a:m // ordinal suffix | |||
_#-ம் a:m // ordinal suffix | |||
// English words | |||
@@ -301,6 +302,9 @@ tamil தமிழ் $text | |||
பூட் $alt | |||
படுக $alt | |||
படுகா $alt | |||
பந்தா $alt | |||
பிரா bra: | |||
ப்ரா $alt | |||
(பி . ஏ) bije: | |||
@@ -361,6 +365,7 @@ tamil தமிழ் $text | |||
தடிக்க $alt | |||
தின $alt | |||
தில் $alt | |||
தன $alt | |||
// initial ட |
@@ -184,7 +184,9 @@ | |||
_) கி (ரிகோரிய g | |||
_) க (ிரிஜா g | |||
_) க (ிரிதர g | |||
_) கி (ரித்த k | |||
_) கிரிஸ்டோப (ர krist.o:fV | |||
_) கி (ரிஸ்த k | |||
_) கி (ரீட k | |||
_) கி (ரீன g | |||
_) கி (ரீன்லாந்த g | |||
@@ -217,6 +219,7 @@ | |||
_) கிளியோபாட் (ரா klijo:pa:t | |||
_) கி (ளீன k | |||
_) கி (ளேச k | |||
_) கி (ளைமாக்ஸ k | |||
_) கி (ளௌ k | |||
_) க (ீதல k | |||
_) க (ீத்த k | |||
@@ -250,6 +253,7 @@ _மன்மதக்) க (ுகை g | |||
_) குண்டாந்த (டி gun.d.a:ntV | |||
_) க (ுண்டாய g | |||
_) க (ுண்டு g | |||
_) க (ுண்டூசி g | |||
_) க (ுண்டை g | |||
_) க (ுண்டோதர g | |||
_) க (ுதிக் g | |||
@@ -289,6 +293,10 @@ _மன்மதக்) க (ுகை g | |||
_) க (ுருவுடை g | |||
_) க (ுருவை g | |||
_) க (ுருவோட g | |||
_) க (ுலாப g | |||
_) க (ுலாம g | |||
_) க (ுலேபா g | |||
_) கு (லோபல g | |||
_) க (ுவஹாத்தி g | |||
_) குவாலிட(ி kwa:lit. | |||
_) குவ (ாலிபிகேஷன kw | |||
@@ -475,6 +483,7 @@ _தொன்ம) க (ால k | |||
_ம) க (ிந்த H | |||
மோ) க (ினி H | |||
_ம) க (ிமை H | |||
எக்ஸ்) கி (யூஸ k | |||
கி (ரண g | |||
_ராஜ்) க (ிரண k | |||
பொற்) கி (ரண g | |||
@@ -565,6 +574,7 @@ _வேதா) க்க (ினி gg | |||
வைரா) க்க (ிய gg | |||
அநு) க்கி (ர gg | |||
அனு) க்கி (ர gg | |||
_நவ) க்கி (ரL06 gg | |||
L03) க்கி (ரக gg // a,i | |||
_வி) க்க (ிரக gg | |||
சத்தியா) க்கி (ரக gg | |||
@@ -652,6 +662,8 @@ _துப்பாக்கி) க்க (ுண்ட gg | |||
_ஹட்) ச (ன sV | |||
_வாட்) ச (ன sV | |||
_டேவிட்) ச (ன sV | |||
_பாவவிமோ) ச (ன tSV | |||
_விமோ) ச (ன tSV | |||
_) ச (ப்பா tSV | |||
_) ச (ப்பி tSV | |||
_) ச (ப்பு tSV | |||
@@ -673,6 +685,7 @@ _தணிகா) ச (ல tSV | |||
_) சாந்த (ின tSa:nd | |||
_தே) ச (ாந்திர s | |||
_) சாந்த (ில tSa:nd | |||
_) சா (னல tSe: | |||
_) ச (ான்ஸ tS | |||
_) சாப் (ளின tSa:p | |||
_) ச (ாமுண்ட tS | |||
@@ -702,7 +715,7 @@ _தணிகா) ச (ல tSV | |||
_) சிக் (லெட் tSik | |||
_) ச (ிட்டாக tS | |||
_) ச (ிட்டாட்ட tS | |||
_) ச (ிட்டி tS | |||
_) ச (ிட்டிபாபு tS | |||
_) ச (ிட்டு tS | |||
_) ச (ிட்ல tS | |||
_) ச (ிதம்பர tS | |||
@@ -717,6 +730,7 @@ _தணிகா) ச (ல tSV | |||
_) ச (ித்ரா tS | |||
சு) சித (்ரா tSit | |||
_) சி (நே s | |||
_ச) ச (ின tS | |||
_) சி (னே s | |||
_) ச (ின் tS | |||
_) சிப் (கள tSip | |||
@@ -850,6 +864,7 @@ _ரிப்போர்) ட t.V# | |||
_) ட (யரில t.V | |||
_) ட (யரு t.V | |||
_) ட (யர் t.V | |||
_செண்) ட (ர t.V | |||
_ப்ரிண்) ட (ர t.V | |||
_ஷெல்) ட (ர t.V | |||
_ஸ்கூ) ட (ர t.V | |||
@@ -886,6 +901,7 @@ _ரிப்போர்) ட t.V# | |||
அண்) டார்டிக t.a:rt.ikV# | |||
_) ட (ாலமி t. | |||
_) ட (ால்ஸ்டாய t. | |||
பெண்) டாஸ்டிக் t.a:st.ik | |||
_) ட (ாஸ்மாக் t. | |||
_டியூ) ட (ி t. | |||
_ட்யூ) ட (ி t. | |||
@@ -953,6 +969,7 @@ _நாவல்) ட (ி t. | |||
_) டி (ரை_பண் t. | |||
_) டி (ரைவ d. | |||
கண்) டி (ரோல t. | |||
_நெக) ட (ிவ t. | |||
_) ட (ிவிக t. | |||
_) டிவிங்க (ிள t.wiNk | |||
_) ட (ிவிய t. | |||
@@ -969,6 +986,7 @@ _நாவல்) ட (ி t. | |||
_) டெக் (னாலஜி t.ek | |||
_) டெக்னிக (ல t.eknikV | |||
_) ட (ெக்ஸாஸ t. | |||
_) ட (ெண்டர t. | |||
_) ட (ெண்டுல்கர t. | |||
_) டென்டுல்க (ர t.ent.UlkV | |||
_டேபிள்_) ட (ென்னிஸ t. | |||
@@ -1020,6 +1038,7 @@ _லான்_) ட (ென்னிஸ t. | |||
ஆ) ட் (ரா t. | |||
_) ட்ராஃபிக் t.ra:fik | |||
_) ட்ராக் t.ra:k | |||
அ) ட்ராக் t.ra:k | |||
_காண்) ட் (ராக்டர t. | |||
_) ட் (ராஜ t. | |||
_நியூ) ட் (ரான t. | |||
@@ -1334,7 +1353,9 @@ _நடுரோ) ட் (ல t. | |||
_) துவ (ார dv | |||
_) து (வேச d | |||
_) து (வேஷ d | |||
_) துவைத dvaItV# | |||
_) துவைத (_ dvaItV | |||
_) துவைத (த்தில dvaItV | |||
_) துவைத (ம dvaItV | |||
_) த (ுஷ் d | |||
_) த (ூச d | |||
_) த (ூசி d | |||
@@ -1417,6 +1438,7 @@ _வசந்) த tV# | |||
சுஜா) த (ா t | |||
லலி) த (ா t | |||
_சுனி) த (ா t | |||
_மம்) த (ா t | |||
_ஹரி) த (ா t | |||
_வனி) த (ா t | |||
_வினி) த (ா t | |||
@@ -1507,6 +1529,7 @@ _சிறை) த்த (ண்டனை ddV | |||
ச) த (்ய t | |||
நி) த (்ய t | |||
இ) த் (யாதி t | |||
_மி) த் (ர t | |||
_காமசூ) த் (ர t | |||
ச) த்ரபதி trVpVti | |||
சி) த (்ரா t | |||
@@ -1578,8 +1601,10 @@ _காமசூ) த் (ர t | |||
_) பக் (ரீத bVk | |||
_) ப (க்ருதீன fV | |||
_) ப (ங்கம bV | |||
_) பங்க (ர bVNkV | |||
_) ப (ங்களா bV | |||
_) ப (ங்கார bV | |||
_) ப (ங்க் bV | |||
_) ப (சவகல்யாண bV | |||
_) ப (ச்சன bV | |||
_) ப (ச்சான bV | |||
@@ -1604,11 +1629,14 @@ _சொந்த_) ப (ந்த bV | |||
_) ப (ந்தத் bV | |||
_) ப (ந்தப் bV | |||
_) ப (ந்தம bV | |||
_) ப (ந்தாவ bV | |||
_) ப (ந்துக்கள bV | |||
_) பந்த (ுலு bVnt | |||
_) ப (ந்துவ bV | |||
_) ப (ந்தோபஸ்த bV | |||
_) ப (னியன bV | |||
_) ப (ன்னாரி bV | |||
_) ப (ன்ருட்டி bV | |||
_) ப (ம்பர bV | |||
_) ப (ம்பாய bV | |||
_) ப (யங் bV | |||
@@ -1762,7 +1790,7 @@ _விளையாடு_) ப (ாம்பே p | |||
_) ப (ாராமுல்லா b | |||
_) ப (ாரிஸ்டர b | |||
_) ப (ார்L04லோனா b | |||
_) ப (ார்கவி b | |||
_) ப (ார்கவ b | |||
_) ப (ார்டர b | |||
_) பார்ப (டா ba:rbV | |||
_) ப (ார்ம f | |||
@@ -1842,7 +1870,7 @@ _ராகத்தின்_) ப (ாவ b | |||
_) ப (ிட்டடி b | |||
_) ப (ினாமி b | |||
_) ப (ினிஷ f | |||
_) பின் (_லேடன b | |||
_) ப (ின்_லேடன b | |||
_) ப (ின்லாந்த f | |||
_) பிப (ி bip | |||
_) ப (ிபிசி b // bbc | |||
@@ -1873,6 +1901,7 @@ _ராகத்தின்_) ப (ாவ b | |||
_) பி (ரச்சினை p | |||
_) பிரச (்னை prVtS | |||
_) பி (ரஜ p | |||
_) பி (ரணவ p | |||
_) பிர (ண்ட்ஸ fre | |||
_) பி (ரதம p | |||
_) பி (ரதர்_ b | |||
@@ -1971,10 +2000,12 @@ _ராகத்தின்_) ப (ாவ b | |||
_) பி (ருகு b | |||
_) பிரு (ந்தா bri | |||
_) பிரெஞ்ச fren^tSV# | |||
_) பி (ரெட் b | |||
_) பிரெட்ரிக் fred.rik | |||
_) பி (ரெண்ட்ஸ f | |||
_) பி (ரெயில b | |||
_) பி (ரெய்ல b | |||
_) பி (ரெஷ் f | |||
_) பி (ரே p | |||
_) பி (ரேக்க b | |||
_) பி (ரேசில b | |||
@@ -1982,6 +2013,7 @@ _ராகத்தின்_) ப (ாவ b | |||
_) பி (ரோகிதர p | |||
_) பி (ரௌச b | |||
_) பி (ரௌன b | |||
_) ப (ிலாஸ்பூர b | |||
_) ப (ில்டப் b | |||
_) ப (ில்டிங் b | |||
_) ப (ில்லியன b | |||
@@ -2098,6 +2130,8 @@ _பெனசீர்_) ப (ுட்டோ b | |||
_) பெஞ்ச (மின ben^dZV | |||
_) பெட்ட (ுக்கு bed.d. | |||
_) ப (ெட்ரூம b | |||
_) ப (ெண்டாஸ்டிக் f | |||
_) ப (ெதர f | |||
_) ப (ெனசீர b | |||
_) ப (ெப்ரவரி f | |||
_) ப (ெர்னாட்ஷா b | |||
@@ -2190,9 +2224,11 @@ _சந்திர_) ப (ோஸ b | |||
_) ப் (ராவ b | |||
_) ப்ரிஸ்ப (ேன brisb | |||
_) ப் (ரெஞ்ச் f | |||
_) ப் (ரெட் b | |||
_) ப்ரெட்ரிக் fred.rik | |||
_) ப் (ரெயில b | |||
_) ப் (ரெய்ல b | |||
_) ப் (ரெஷ் f | |||
_) ப் (ரேக்க b | |||
_) ப் (ரேசில b | |||
_) ப் (ரைல b | |||
@@ -2212,6 +2248,7 @@ _சந்திர_) ப (ோஸ b | |||
_பிரதீ) ப pV# | |||
ஒலிம்) ப pV# | |||
சங்கல்) ப pV# | |||
_சொல்) ப pV# | |||
_பயன்) ப pV | |||
_விகல்) ப pV# | |||
அடால்) ப fV# | |||
@@ -2301,12 +2338,15 @@ _சொந்த) ப (ந்த bV | |||
கரம்) ப (ற் pV | |||
ப (ற்றி_ pV | |||
_பக்க) ப (ல bV | |||
ஆத்ம) ப (ல bV | |||
_பக்கப்) ப (ல bV | |||
ஆன்ம) ப (ல bV | |||
படைப்) ப (ல bV | |||
_முனிசி) ப (ல pV | |||
ஆயுதப்) ப (ல bV | |||
_மகா) ப (லி bV | |||
_மூடு) ப (ல்லக் pV | |||
_க) ப (ளிகர bV | |||
வேலைப்) ப (ளு bV | |||
வட) ப (ழ pV | |||
வீண்) ப (ழி pV | |||
@@ -2351,6 +2391,8 @@ _வெளிப்) ப (ாக b | |||
ஔரங்கா) ப (ாத b | |||
ஜிந்தா) ப (ாத் b | |||
ச) பாபதி ba:pVti | |||
_) பாபவிமோசன pa:bVvimo:tSV | |||
_சாய்) பாப (ா ba:b | |||
அ) பாயிண்ட்மெண்ட pa:jin.t.ment.V# | |||
_டீ) ப (ாய் p | |||
எதிர்) ப (ார p | |||
@@ -2554,8 +2596,10 @@ _மைக்ரோசா) ப் (ட f | |||
_ஜ) ப்ப (ார bb | |||
அ) ப்ப (ாஸ bb | |||
உ) ப்ப (ி_ bb | |||
உ) ப்ப (ின_ bb | |||
உ) ப்ப (ிப் bb | |||
உ) ப்ப (ிய bb | |||
அ) ப்ப (ியாச bb | |||
அதிக) ப்பி (ரசங்க pp | |||
_நில) ப்பி (ரபு pp | |||
மன) ப்பி (ரமை bb | |||
@@ -2646,6 +2690,7 @@ _சந்தேக) ப்ப (ுத்தி bb | |||
ம (B m | |||
_சL07) மி (ய m | |||
.group ய | |||
ய jV | |||
ய (B j | |||
@@ -2655,6 +2700,8 @@ _சந்தேக) ப்ப (ுத்தி bb | |||
ர rV | |||
ர (B r | |||
_விம) ரி (ச r | |||
_நித) ரி (சன r | |||
.group ற | |||
ற RV | |||
@@ -2686,6 +2733,13 @@ _சந்தேக) ப்ப (ுத்தி bb | |||
_) வி (யா v | |||
வி (யூக v | |||
D_) வ (து_ a:vV | |||
D_) வ (தும்_ a:vV | |||
D_) வ (துமாக_ a:vV | |||
-) வ (து_ a:vV | |||
-) வ (தும்_ a:vV | |||
-) வ (துமாக_ a:vV | |||
.group ஶ | |||
ஶ SV | |||
@@ -2730,8 +2784,12 @@ _சந்தேக) ப்ப (ுத்தி bb | |||
இ (ரசிக | |||
இ (ரசிக்க | |||
இ (ரசித்த | |||
இ (ரத_ | |||
இ (ரதங்கள | |||
இ (ரதத்த | |||
இ (ரதம | |||
இ (ரத்த | |||
இரப்ப (ர irVbbV | |||
இரப்ப (ர rVbbV | |||
இ (ரயில | |||
இ (ராக | |||
இ (ராச |
@@ -1,5 +1,5 @@ | |||
name armenian-west | |||
language hy | |||
language hy-west | |||
gender male | |||
// change consonants for West Armenian pronunciation |
@@ -1,4 +1,4 @@ | |||
name swahihi-test | |||
name swahili-test | |||
language sw | |||
gender male | |||
@@ -3,13 +3,13 @@ | |||
base 107 107 | |||
consonants 10 116 | |||
base2 26 123 | |||
en 50 150 | |||
en-n 32 150 | |||
en-us 37 151 | |||
en-sc 39 152 | |||
en-rp 33 150 | |||
en-wm 30 150 | |||
en-wi 30 150 | |||
en 52 152 | |||
en-n 32 152 | |||
en-us 38 153 | |||
en-sc 39 154 | |||
en-rp 33 152 | |||
en-wm 30 152 | |||
en-wi 30 152 | |||
af 39 136 | |||
cy 29 132 | |||
de 41 139 | |||
@@ -959,6 +959,7 @@ vdiph2/ie [i@] en-wi | |||
vdiph2/ie_2 [ie] lv | |||
vdiph2/ii@ [i@] en | |||
[i@3] en | |||
[i@] en-us | |||
[ja] ru | |||
vdiph2/ii@_3 [i@] vi | |||
vdiph2/iioo [io] zh | |||
@@ -1341,7 +1342,8 @@ vowel/@_2 [@] vi | |||
[@] sq | |||
[V] sq | |||
[@/] sq | |||
vowel/@_3 [@] en-sc | |||
vowel/@_3 [@#] en | |||
[@] en-sc | |||
[I] en-sc | |||
[@2] en-sc | |||
[@5] en-sc |
@@ -87,14 +87,14 @@ endphoneme | |||
phoneme a // ?? suggested by aegis, but seems too short | |||
vowel starttype #a endtype #a | |||
length 140 | |||
length 150 | |||
FMT(vowel/a_2) | |||
endphoneme | |||
phoneme A | |||
vowel starttype #a endtype #a | |||
length 140 | |||
length 150 | |||
IF thisPh(isUnstressed) THEN | |||
FMT(vowel/a#_2) | |||
ENDIF |
@@ -224,6 +224,14 @@ phoneme I2 | |||
FMT(vowel/ii_4) | |||
endphoneme | |||
phoneme I# // used for [I] which may be [@] in some accents | |||
vowel starttype #i endtype #i | |||
unstressed | |||
length 130 | |||
IfNextVowelAppend(;) | |||
ChangePhoneme(I2) | |||
endphoneme | |||
phoneme i // optional variant of [I] for end of words | |||
vowel starttype #i endtype #i | |||
ipa ɪ | |||
@@ -483,3 +491,10 @@ phoneme e: | |||
endphoneme | |||
phoneme @# // TEST: [@] which is slightly more 'front' | |||
vowel starttype #i endtype #i | |||
unstressed | |||
length 130 | |||
FMT(vowel/@_3) | |||
endphoneme | |||
@@ -279,6 +279,13 @@ phoneme e@ | |||
endphoneme | |||
phoneme i@ | |||
vowel starttype #i endtype #@ | |||
length 250 | |||
FMT(vdiph2/ii@) // don't append [r] before a vowel | |||
endphoneme | |||
phoneme i@3 | |||
vowel starttype #i endtype #@ | |||
length 280 |
@@ -478,6 +478,7 @@ void DecodePhonemes(const char *inptr, char *outptr) | |||
PHONEME_TAB *ph; | |||
static const char *stress_chars = "==,,'* "; | |||
sprintf(outptr,"* "); | |||
while((phcode = *inptr++) > 0) | |||
{ | |||
if(phcode == 255) | |||
@@ -2464,9 +2465,9 @@ int TranslateRules(Translator *tr, char *p_start, char *phonemes, int ph_size, c | |||
if((option_phonemes == 2) && ((word_flags & FLAG_NO_TRACE)==0)) | |||
{ | |||
char wordbuf[120]; | |||
int ix; | |||
unsigned int ix; | |||
for(ix=0; ((c = p_start[ix]) != ' ') && (c != 0); ix++) | |||
for(ix=0; ((c = p_start[ix]) != ' ') && (c != 0) && (ix < (sizeof(wordbuf)-1)); ix++) | |||
{ | |||
wordbuf[ix] = c; | |||
} | |||
@@ -3168,7 +3169,7 @@ static const char *LookupDict2(Translator *tr, const char *word, const char *wor | |||
} | |||
if(dictionary_flags2 & FLAG_NOUN) | |||
{ | |||
if(!tr->expect_noun) | |||
if((!tr->expect_noun) || (end_flags & SUFX_V)) | |||
{ | |||
/* don't use the 'noun' pronunciation unless we are | |||
expecting a noun */ |
@@ -1302,7 +1302,7 @@ static int LookupNum2(Translator *tr, int value, int control, char *ph_out) | |||
{ | |||
Lookup(tr, "_0and", ph_and); | |||
if(tr->langopts.numbers2 & NUM2_MULTIPLE_ORDINAL) | |||
if((control & 1) && (tr->langopts.numbers2 & NUM2_MULTIPLE_ORDINAL)) | |||
ph_and[0] = 0; | |||
if(tr->langopts.numbers & NUM_SWAP_TENS) |
@@ -1376,11 +1376,12 @@ int AddNameData(const char *name, int wide) | |||
if(namedata_ix+len >= n_namedata) | |||
{ | |||
// allocate more space for marker names | |||
if((vp = realloc(namedata, namedata_ix+len + 300)) == NULL) | |||
if((vp = realloc(namedata, namedata_ix+len + 1000)) == NULL) | |||
return(-1); // failed to allocate, original data is unchanged but ignore this new name | |||
// !!! Bug?? If the allocated data shifts position, then pointers given to user application will be invalid | |||
namedata = (char *)vp; | |||
n_namedata = namedata_ix+len + 300; | |||
n_namedata = namedata_ix+len + 1000; | |||
} | |||
memcpy(&namedata[ix = namedata_ix],name,len); | |||
namedata_ix += len; | |||
@@ -2218,6 +2219,17 @@ f_input = f_in; // for GetC etc | |||
else | |||
if((c2 == '/') || iswalpha(c2)) | |||
{ | |||
// check for space in the output buffer for embedded commands produced by the SSML tag | |||
if(ix > (n_buf - 20)) | |||
{ | |||
// Perhaps not enough room, end the clause before the SSML tag | |||
UngetC(c2); | |||
ungot_char2 = c1; | |||
buf[ix] = ' '; | |||
buf[ix+1] = 0; | |||
return(CLAUSE_NONE); | |||
} | |||
// SSML Tag | |||
n_xml_buf = 0; | |||
c1 = c2; |
@@ -35,7 +35,7 @@ | |||
#include "translate.h" | |||
#include "wave.h" | |||
const char *version_string = "1.45.28 24.May.11"; | |||
const char *version_string = "1.45.31 25.Jun.11"; | |||
const int version_phdata = 0x014500; | |||
int option_device_number = -1; |
@@ -1209,12 +1209,14 @@ void DoMarker(int type, int char_posn, int length, int value) | |||
{//========================================================== | |||
// This could be used to return an index to the word currently being spoken | |||
// Type 1=word, 2=sentence, 3=named marker, 4=play audio, 5=end | |||
wcmdq[wcmdq_tail][0] = WCMD_MARKER; | |||
wcmdq[wcmdq_tail][1] = type; | |||
wcmdq[wcmdq_tail][2] = (char_posn & 0xffffff) | (length << 24); | |||
wcmdq[wcmdq_tail][3] = value; | |||
WcmdqInc(); | |||
if(WcmdqFree() > 5) | |||
{ | |||
wcmdq[wcmdq_tail][0] = WCMD_MARKER; | |||
wcmdq[wcmdq_tail][1] = type; | |||
wcmdq[wcmdq_tail][2] = (char_posn & 0xffffff) | (length << 24); | |||
wcmdq[wcmdq_tail][3] = value; | |||
WcmdqInc(); | |||
} | |||
} // end of DoMarker | |||
@@ -1354,12 +1356,12 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) | |||
p = &phoneme_list[ix]; | |||
if(p->type == phPAUSE) | |||
free_min = 5; | |||
free_min = 10; | |||
else | |||
if(p->type != phVOWEL) | |||
free_min = 10; // we need less Q space for non-vowels, and we need to generate phonemes after a vowel so that the pitch_length is filled in | |||
free_min = 15; // we need less Q space for non-vowels, and we need to generate phonemes after a vowel so that the pitch_length is filled in | |||
else | |||
free_min = MIN_WCMDQ; // 22 | |||
free_min = MIN_WCMDQ; // 25 | |||
if(WcmdqFree() <= free_min) | |||
return(1); // wait |
@@ -455,8 +455,8 @@ extern unsigned char pitch_adjust_tab[MAX_PITCH_VALUE+1]; | |||
#define N_WCMDQ 160 | |||
#define MIN_WCMDQ 22 // need this many free entries before adding new phoneme | |||
#define N_WCMDQ 170 | |||
#define MIN_WCMDQ 25 // need this many free entries before adding new phoneme | |||
extern long wcmdq[N_WCMDQ][4]; | |||
extern int wcmdq_head; |
@@ -1243,6 +1243,7 @@ SetLengthMods(tr,3); // all equal | |||
#endif | |||
case L('t','r'): // Turkish | |||
case L('a','z'): // Azerbaijan | |||
{ | |||
static const unsigned char stress_amps_tr[8] = {18,16, 20,21, 20,21, 21,20 }; | |||
static const short stress_lengths_tr[8] = {190,180, 200,230, 0,0, 240,250}; | |||
@@ -1253,7 +1254,14 @@ SetLengthMods(tr,3); // all equal | |||
tr->langopts.stress_rule = 7; // stress on the last syllable, before any explicitly unstressed syllable | |||
tr->langopts.stress_flags = 0x20; //no automatic secondary stress | |||
tr->langopts.numbers = NUM_SINGLE_STRESS | NUM_DECIMAL_COMMA | NUM_OMIT_1_HUNDRED | NUM_OMIT_1_THOUSAND | NUM_DFRACTION_2; | |||
if(name2 == L('a','z')) | |||
{ | |||
tr->langopts.numbers = NUM_SINGLE_STRESS | NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_OMIT_1_HUNDRED | NUM_OMIT_1_THOUSAND | NUM_DFRACTION_2; | |||
} | |||
else | |||
{ | |||
tr->langopts.numbers = NUM_SINGLE_STRESS | NUM_DECIMAL_COMMA | NUM_OMIT_1_HUNDRED | NUM_OMIT_1_THOUSAND | NUM_DFRACTION_2; | |||
} | |||
tr->langopts.max_initial_consonants = 2; | |||
} | |||
break; |
@@ -1550,10 +1550,14 @@ static void SetPitchFormants() | |||
if((pitch_value = embedded_value[EMBED_P]) > MAX_PITCH_VALUE) | |||
pitch_value = MAX_PITCH_VALUE; | |||
factor = 256 + (25 * (pitch_value - 50))/50; | |||
for(ix=0; ix<=5; ix++) | |||
if(pitch_value > 50) | |||
{ | |||
wvoice->freq[ix] = (wvoice->freq2[ix] * factor)/256; | |||
// only adjust if the pitch is higher than normal | |||
factor = 256 + (25 * (pitch_value - 50))/50; | |||
for(ix=0; ix<=5; ix++) | |||
{ | |||
wvoice->freq[ix] = (wvoice->freq2[ix] * factor)/256; | |||
} | |||
} | |||
factor = embedded_value[EMBED_T]*3; | |||
wvoice->height[0] = (wvoice->height2[0] * (256 - factor*2))/256; |