Fix crash when embedded control codes are followed by numbers of 5 or more digits. Fix lang=hu, First character of an abbreviation is missed after an ordinal number (eg."2. cd") Fix XML tag not recognized after "..." when announce punctuation is enabled. Fix lang=zh-yue, 'p' 't' 'k' after a vowel give a long pause. Fix lang=ru, "o" missing in unstressed syllables. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@241 d46cf337-b52f-0410-862d-fd96e6ae7743master
| appeal _^_EN | appeal _^_EN | ||||
| apple _^_EN | apple _^_EN | ||||
| bbc _^_EN | bbc _^_EN | ||||
| beat _^_EN | |||||
| beachbuggy _^_EN | |||||
| beachvolley _^_EN | |||||
| browser _^_EN | browser _^_EN | ||||
| byte _^_EN | byte _^_EN | ||||
| camcorder _^_EN | camcorder _^_EN | ||||
| austin _^_EN | austin _^_EN | ||||
| bailey _^_EN | bailey _^_EN | ||||
| bronx _^_EN | bronx _^_EN | ||||
| clarence _^_EN | |||||
| cyrus _^_EN | cyrus _^_EN | ||||
| fox _^_EN | fox _^_EN | ||||
| jean _^_EN | jean _^_EN | ||||
| (union station) junj3n||steisj@n // PB | (union station) junj3n||steisj@n // PB | ||||
| chevrolet sjEvrol'e | chevrolet sjEvrol'e | ||||
| saigon sajg3-n // PB Saigon | saigon sajg3-n // PB Saigon | ||||
| managua m&n'&:gw& | |||||
| // Abbreviations | // Abbreviations | ||||
| pga pOgR'O?n'a? $hasdot // PB short for 'på grund af' | pga pOgR'O?n'a? $hasdot // PB short for 'på grund af' | ||||
| (sig til) si||tel // PB sig til ham, at han skal ... | (sig til) si||tel // PB sig til ham, at han skal ... | ||||
| (gav sig til) g&||saj||tel // PB han gav sig til at ... | (gav sig til) g&||saj||tel // PB han gav sig til at ... | ||||
| sig si $capital PB Sig = si with capital S - Sig det med blomster | sig si $capital PB Sig = si with capital S - Sig det med blomster | ||||
| // avoid [staj] as in "flæskesteg" | |||||
| (han steg) h&n||st'e | |||||
| (hun steg) hOn||st'e | |||||
| (vi steg) vi||st'e | |||||
| (de steg) di||st'e |
| | |||||
| // This file is UTF8 encoded | // This file is UTF8 encoded | ||||
| // Spelling-to-phoneme rules for Danish | // Spelling-to-phoneme rules for Danish | ||||
| a (nt '& // PB stressed a in words with -ant - interessant | a (nt '& // PB stressed a in words with -ant - interessant | ||||
| Ah) a (nd '& // PB stressed a in words with -hand - behendling | Ah) a (nd '& // PB stressed a in words with -hand - behendling | ||||
| ok) a (l '& // PB stressed a in 'vokal, lokal, bifokal' | ok) a (l '& // PB stressed a in 'vokal, lokal, bifokal' | ||||
| v) a (nlig '& // PB usædvanlig - stressed a | |||||
| bl) a a // PB blad | bl) a a // PB blad | ||||
| fr) a A // PB fra, fratage | fr) a A // PB fra, fratage | ||||
| gr) a A // PB gratis | gr) a A // PB gratis | ||||
| a (L03K &: // PB alle, anden | a (L03K &: // PB alle, anden | ||||
| h) a (CK & // PB han | h) a (CK & // PB han | ||||
| hvabeh) ar 'A // PB hvabehar | |||||
| a (L03 &: // PB foran halvvokal | a (L03 &: // PB foran halvvokal | ||||
| a (v+ A // PB tavs | a (v+ A // PB tavs | ||||
| L08) a (v & // PB stav | L08) a (v & // PB stav | ||||
| ri) d (e D | ri) d (e D | ||||
| si) d (e D | si) d (e D | ||||
| ti) d (e D | ti) d (e D | ||||
| ur) d (e d | |||||
| // ur) d (e d | |||||
| vi) d (e D | vi) d (e D | ||||
| æl) d (e | æl) d (e | ||||
| Coe) d (e // PB boede without d | Coe) d (e // PB boede without d | ||||
| ral) d (e | ral) d (e | ||||
| sag) d (e | sag) d (e | ||||
| snu) d (e D | snu) d (e D | ||||
| A) de (N_ D@ // PB change to D? | |||||
| A) de (_ D@ // PB change to D? | |||||
| in) d (eks d | in) d (eks d | ||||
| mo) d (el 'd | mo) d (el 'd | ||||
| or) d (el d | or) d (el d | ||||
| afl) e 3 // PB aflevere | afl) e 3 // PB aflevere | ||||
| ov) e (r 3 // PB over | ov) e (r 3 // PB over | ||||
| l) e (r 3 // PB forhandlere | l) e (r 3 // PB forhandlere | ||||
| fl) e (r e // PB flere | |||||
| e (lse @ // PB fornøjelse | e (lse @ // PB fornøjelse | ||||
| sk) e (t_ e // PB sket | sk) e (t_ e // PB sket | ||||
| r) eau o // PB bureaukratiske | r) eau o // PB bureaukratiske | ||||
| nt) e @ // PB tante, hente | nt) e @ // PB tante, hente | ||||
| nt) e (r V // PB tanter, henter | nt) e (r V // PB tanter, henter | ||||
| mont) e (r e // PB montere | mont) e (r e // PB montere | ||||
| e (r_++ V // PB changed from [e (rK] - 'vers' mispronounced | |||||
| v) e (r+ e // PB vers, verden | |||||
| e (rK+ V // PB efter | |||||
| k) e (r+ e // PB forkert | |||||
| er (ne V // PB kammeraterne | |||||
| _) e (r_++ er // PB er | _) e (r_++ er // PB er | ||||
| h) e (r++ e // PB her, herhen | h) e (r++ e // PB her, herhen | ||||
| _sk) er (_ er // PB sker | _sk) er (_ er // PB sker | ||||
| fr) e (L03 a // PB fremme, frende, frelse | fr) e (L03 a // PB fremme, frende, frelse | ||||
| fr) e (d e // PB fred fredag | fr) e (d e // PB fred fredag | ||||
| l) e (t e // PB toilet | l) e (t e // PB toilet | ||||
| _l) e (r_ e // PB ler | |||||
| _l) er (_++ er // PB ler | |||||
| hv) e (r e // PB hver | hv) e (r e // PB hver | ||||
| el) e (r V // PB hellere | el) e (r V // PB hellere | ||||
| mm) e (l @ // PB gammel | mm) e (l @ // PB gammel | ||||
| s) e (_ @ // PB rose, skose | s) e (_ @ // PB rose, skose | ||||
| _s) e (_ e? // PB se | _s) e (_ e? // PB se | ||||
| L06) er (_ &r // PB per | L06) er (_ &r // PB per | ||||
| L06L06) (er V // PB klipper | |||||
| L06L06) er V // PB klipper | |||||
| L03L06) er (_ V // PB bomber | |||||
| _) er (_ &r // PB er | _) er (_ &r // PB er | ||||
| _a) e (_ 3 // PB ae | _a) e (_ 3 // PB ae | ||||
| pl) e (men 3 // PB supplement | pl) e (men 3 // PB supplement | ||||
| e (gn a // PB tegne , hegn | e (gn a // PB tegne , hegn | ||||
| bl) e (m 3 // PB møblement | bl) e (m 3 // PB møblement | ||||
| probl) e (m 'e // PB stressed e | probl) e (m 'e // PB stressed e | ||||
| C) e (ring 'e // PB stressed e in words with -ering (1.000) - likvidering | |||||
| e (ndig 'e // PB stressed e in words with -endig - elendig, nødvendig | |||||
| ni) e (n e | ni) e (n e | ||||
| ani) e (l e | ani) e (l e | ||||
| lini) e @ // PB changed from [e] to [@] | lini) e @ // PB changed from [e] to [@] | ||||
| r) e (_N 3_: // PB mere | r) e (_N 3_: // PB mere | ||||
| // r) e (_T e // PB for words in the list file with -ere | |||||
| r) e (nd a // PB rend | r) e (nd a // PB rend | ||||
| n) e (r V // PM klovner | n) e (r V // PM klovner | ||||
| hvab) e (har_ 3 // PB hvabehar | |||||
| _r) e e | _r) e e | ||||
| // r) e ( | // r) e ( | ||||
| r) e (l e | r) e (l e | ||||
| gourm) e 'e // PB gourmet | gourm) e 'e // PB gourmet | ||||
| @) e (kt 'e: // PB stressed e in words with -ekt - konfekt | @) e (kt 'e: // PB stressed e in words with -ekt - konfekt | ||||
| L06) eg (e aj // PB p) changed to L06 to include b | L06) eg (e aj // PB p) changed to L06 to include b | ||||
| L08) eg aj // PB steg, spegepølse | |||||
| L08) eg aj // PB steg, spegepølse - problem with the verb stige/steg | |||||
| best) eg (_ 'e // PB besteg | |||||
| jav) e (l 'e // PB stressed e in 'javel' | jav) e (l 'e // PB stressed e in 'javel' | ||||
| m) eg (a eg | m) eg (a eg | ||||
| eg (et a:j | eg (et a:j | ||||
| Ad) en (@ '@-n // udenlandsk, udenad | Ad) en (@ '@-n // udenlandsk, udenad | ||||
| &) ene (_ @-n@ | &) ene (_ @-n@ | ||||
| &) ende (_ @-nn@ | &) ende (_ @-nn@ | ||||
| &) ere (_T 'e:3 // PB can't get 'vurdere' to work with -ere words in list file | |||||
| &) eren (_ 3r3n | &) eren (_ 3r3n | ||||
| &) ere (_T 'er3 // PB stressed - manipulere, protestere - words in list file | |||||
| &) ere (NT_ 'e:3 // PB stressed - manipulere, protestere - words in list file | |||||
| &) erede (NS2_ =D3 // PB stressed - manipulerede, protesterede - words in list file | &) erede (NS2_ =D3 // PB stressed - manipulerede, protesterede - words in list file | ||||
| &) eres (TNS1_ =s // PB stressed - manipuleres, protesteres - words in list file | |||||
| &) eret (TNS1_ =3D // PB stressed - manipuleret, protestet 1.810 words in list file | |||||
| &) eres (NS1_ =s // PB stressed - manipuleres, protesteres - words in list file | |||||
| &) erer (NS1_ =V // PB stressed - manipuleres, protesteres - words in list file | |||||
| &) eret (S1_ =3D // PB stressed - manipuleret, protestet 1.810 words in list file | |||||
| _sen) ere er3 // PB senere | _sen) ere er3 // PB senere | ||||
| &) eren (s_ 3r3n | &) eren (s_ 3r3n | ||||
| &) es (_ @s | &) es (_ @s | ||||
| ir) e (n 'e | ir) e (n 'e | ||||
| yr) e (n 'e | yr) e (n 'e | ||||
| ork) e (ster 'e // PB stressed e in 'orkester' | ork) e (ster 'e // PB stressed e in 'orkester' | ||||
| forur) e (ne 'e // PB stressed - forurene | |||||
| st) e (ret // PB orkesteret | st) e (ret // PB orkesteret | ||||
| b) ea (t i: // PB beat, beatorkester | |||||
| ompet) en (ce aN | ompet) en (ce aN | ||||
| ress) en (timent aN // PB ressentiment | ress) en (timent aN // PB ressentiment | ||||
| bl) e (g aj // PB bleg | bl) e (g aj // PB bleg | ||||
| g) g (e | g) g (e | ||||
| g (ent g | g (ent g | ||||
| g (entl j // PB egentlig | g (entl j // PB egentlig | ||||
| ami) g (o g // PB amigo | |||||
| &) g (r g | &) g (r g | ||||
| g (ård g | g (ård g | ||||
| g (ment g | g (ment g | ||||
| ser) gent 'sjant // PB sergent | ser) gent 'sjant // PB sergent | ||||
| gjorde gjo:3 // PB gjorde | gjorde gjo:3 // PB gjorde | ||||
| ki) g k // PB kig, udkig | ki) g k // PB kig, udkig | ||||
| a) g (C ?w | |||||
| // a) g (C ?w | |||||
| a) g (e | a) g (e | ||||
| a) g (en g | a) g (en g | ||||
| a) g (i g | a) g (i g | ||||
| a) g (urk 'g | a) g (urk 'g | ||||
| g) g | g) g | ||||
| //e) g (e | //e) g (e | ||||
| ste) g j // PB steg, stegefedt | |||||
| e) g (o g | e) g (o g | ||||
| i) g (t g | i) g (t g | ||||
| i) g (t_ | i) g (t_ | ||||
| bor) g u | bor) g u | ||||
| bud) g (et S | bud) g (et S | ||||
| gti) g | gti) g | ||||
| gti) g (ere // PB vigtigere | |||||
| hol) g (er g | hol) g (er g | ||||
| jer) g (A w | jer) g (A w | ||||
| jer) g (C w | jer) g (C w | ||||
| ige (_ i;@ | ige (_ i;@ | ||||
| iew j'u | iew j'u | ||||
| i (nK i | i (nK i | ||||
| r) i (nK e // PB ring | |||||
| am) i (go 'i // PB amigo | |||||
| i (nn e | i (nn e | ||||
| i (mK e | i (mK e | ||||
| i (k e // PB ikke, pik | i (k e // PB ikke, pik | ||||
| l) i (k i // PB likvid | |||||
| pr) i (+ i // PB privat | pr) i (+ i // PB privat | ||||
| i (kk+ e // PB skiderikker | i (kk+ e // PB skiderikker | ||||
| i (r+ i // PB Irland, irrationel | i (r+ i // PB Irland, irrationel | ||||
| L02) i (L03 e // PB foran halvvokal - til | |||||
| // L02) i (L03 e // PB foran halvvokal - til | |||||
| t) i (me i: // PB time | |||||
| s) i (dA+ i: // PB siden | s) i (dA+ i: // PB siden | ||||
| // s) i (d_ e // PB sid | |||||
| s) i (d_ e // PB sid | |||||
| s) i (dd+ e: // PB sidde | s) i (dd+ e: // PB sidde | ||||
| s) i (gA+ i // PB siger | s) i (gA+ i // PB siger | ||||
| s) i (n e // PB tusind | s) i (n e // PB tusind | ||||
| t) i (d+ i // PB tiden | t) i (d+ i // PB tiden | ||||
| t) i (l e // PB til | |||||
| t) i (n e // PB tin, ting | |||||
| l) i (p e // PB slippe | l) i (p e // PB slippe | ||||
| //L03) i (L03K i // PB mellem to halvvokaler midt, vil, til SHOULD BE e FIND A RULE FOR Camilla with | //L03) i (L03K i // PB mellem to halvvokaler midt, vil, til SHOULD BE e FIND A RULE FOR Camilla with | ||||
| i | i | ||||
| L03) i (L03L03 e // PB middag | L03) i (L03L03 e // PB middag | ||||
| L03) i (L03 i //PB vide | L03) i (L03 i //PB vide | ||||
| L03) i (g+ i // PB ligne | |||||
| L03) i (gt+ e // vigtig | |||||
| L03) i (L03L02 e // PB spille | L03) i (L03L02 e // PB spille | ||||
| v) i (l+ e // PB vil | v) i (l+ e // PB vil | ||||
| ) i (l e // PB til | |||||
| t) i (l e // PB til | |||||
| to) i (l // PB toilet | to) i (l // PB toilet | ||||
| ju) i (ce // juice - skip the i | ju) i (ce // juice - skip the i | ||||
| soft) i (ce aj // PB softice | soft) i (ce aj // PB softice | ||||
| fr) i e // PB fri | |||||
| fr) i i // PB fri | |||||
| fr) i (L08 e // PB friste | |||||
| s) i (kC e // PB sikker, sikre | s) i (kC e // PB sikker, sikre | ||||
| p) is es // PB pis | p) is es // PB pis | ||||
| p) i (L08+ i // PB pisk, pistol | p) i (L08+ i // PB pisk, pistol | ||||
| perfid) i 'i // PB perfidi | perfid) i 'i // PB perfidi | ||||
| rapsod) i 'i // PB rapsodi | rapsod) i 'i // PB rapsodi | ||||
| ortopæd) i 'i // PB ortopædi | ortopæd) i 'i // PB ortopædi | ||||
| v) i (sk e // PB viskelæder | |||||
| v) i (L08 e // PB viskelæder | |||||
| l) i (e j | l) i (e j | ||||
| n) i (e i | n) i (e i | ||||
| r) i (g i | r) i (g i | ||||
| r) i (gt e // PB rigtigt | |||||
| s) i (e j | s) i (e j | ||||
| t) i (e j | t) i (e j | ||||
| t) i (on // i ommitted because of sj | t) i (on // i ommitted because of sj | ||||
| k k | k k | ||||
| kk k | kk k | ||||
| k) (oordinat oVdi'nat | |||||
| k (oordinat oVdi'nat | |||||
| s) k g | s) k g | ||||
| pun) k (t N | pun) k (t N | ||||
| run) k (en N | run) k (en N | ||||
| n n | n n | ||||
| // nn n | // nn n | ||||
| band) (er n? // PB takes away the d in 'bander' = 'gangs' - n => n? | |||||
| ba) nd (er n? // PB takes away the d in 'bander' = 'gangs' - n => n? | |||||
| ka) n_ // no n - kan | ka) n_ // no n - kan | ||||
| nd (K n | nd (K n | ||||
| nd (ow nd | nd (ow nd | ||||
| o (sse V // PB tosse, nosse | o (sse V // PB tosse, nosse | ||||
| j) o (b V // PB job | j) o (b V // PB job | ||||
| o (vA+ Vu // PB over, oven | o (vA+ Vu // PB over, oven | ||||
| o (v++ V // PB sjov, lov, skov | |||||
| o (v+ V // PB sjov, lov, skov | |||||
| l) o (ve+ Vu // PB love | |||||
| h) o (v+ o // hov, sove | h) o (v+ o // hov, sove | ||||
| telef) o (n 'o // PB telefon | telef) o (n 'o // PB telefon | ||||
| L08j) o (l V // PB skjold | L08j) o (l V // PB skjold | ||||
| tr) o o // PB tro | tr) o o // PB tro | ||||
| bistr) o 'o // PB stressed o in 'bistro' | bistr) o 'o // PB stressed o in 'bistro' | ||||
| pist) o (l 'o // PB stressed o - pistol | |||||
| _m) o (C o // PB m + o + 2 consonants: mor, mord, | _m) o (C o // PB m + o + 2 consonants: mor, mord, | ||||
| L08) o (L03 o: // PB exception from the rule above - skole, spole | |||||
| L08) o (l o: // PB skole, spole | |||||
| o (L03A o // PB - romantisk, hoved | o (L03A o // PB - romantisk, hoved | ||||
| // L02) o (L03_ V // PB consonant + o + semivowel + end of word - kom, som | // L02) o (L03_ V // PB consonant + o + semivowel + end of word - kom, som | ||||
| _C) o (_ o // PB jo, ko, lo, so | _C) o (_ o // PB jo, ko, lo, so | ||||
| o (f V // PB ofte | o (f V // PB ofte | ||||
| l) o (f V | l) o (f V | ||||
| r) o (f o // PB profil | r) o (f o // PB profil | ||||
| r) o (tt V // PB rotte | |||||
| spr) o (g o // PB sprog | spr) o (g o // PB sprog | ||||
| k) ors V:s // PB kors, korsage | k) ors V:s // PB kors, korsage | ||||
| c) o (rs V // PB corsage | c) o (rs V // PB corsage | ||||
| ou 'u // PB poussin, toupe | ou 'u // PB poussin, toupe | ||||
| ough Vf // PB tough, rough - only 2 words | ough Vf // PB tough, rough - only 2 words | ||||
| oun aVn // PB discount | oun aVn // PB discount | ||||
| nark) o (tik 'o // PB narkotika, narkotisk | |||||
| ul) o (v 'V // PB stressed o - ulovlig | |||||
| .group or | .group or | ||||
| _f) or (kammer 'V // PB forkammer | _f) or (kammer 'V // PB forkammer | ||||
| _f) or (kant 'o // PB forkant | _f) or (kant 'o // PB forkant | ||||
| _f) or (karl 'o // PB forkarl | _f) or (karl 'o // PB forkarl | ||||
| _f) orka) (rl+ a // PB forkarl | |||||
| _f) orka (rl+ a // PB forkarl | |||||
| _f) or (klog 'o // PB forklog, forklogskab | _f) or (klog 'o // PB forklog, forklogskab | ||||
| _f) or (kontor 'o // PB forkontor | _f) or (kontor 'o // PB forkontor | ||||
| _f) or (krop 'o // PB forkrop | _f) or (krop 'o // PB forkrop | ||||
| suppo) r //PB support [s@p'@t] | suppo) r //PB support [s@p'@t] | ||||
| r (K r // not followed by a vowel | r (K r // not followed by a vowel | ||||
| e) r (_ // PB end of word: no r - lager [l&:V] | e) r (_ // PB end of word: no r - lager [l&:V] | ||||
| ve) r (+ r // PB over, overrasket | |||||
| r (e_ // PB end of word before e: no r | |||||
| r (e_T+ r | |||||
| _se) r (_ r // PB ser | _se) r (_ r // PB ser | ||||
| he) r (_ r // PB her | he) r (_ r // PB her | ||||
| e) r (es 3 // PB jeres, deres | e) r (es 3 // PB jeres, deres | ||||
| bu) rd (eK rd | bu) rd (eK rd | ||||
| // &) rd (eKK r | |||||
| &) rd (eNKK r | |||||
| ve) rd (eKK rd | ve) rd (eKK rd | ||||
| &) rd (e_ r | &) rd (e_ r | ||||
| o) rd (el++ rd | o) rd (el++ rd | ||||
| o) rd (en++ d // PB exception - pronounce d in 'orden, ordentlig' | o) rd (en++ d // PB exception - pronounce d in 'orden, ordentlig' | ||||
| o) rd (rin d | o) rd (rin d | ||||
| A) r (eT // PB bære without r | |||||
| A) r (e_T // PB hellere | |||||
| // A) r (eN // PB bære without r | |||||
| A) r (eN_ // PB hellere | |||||
| transpo) r (t //PB transport | transpo) r (t //PB transport | ||||
| s (C s | s (C s | ||||
| s (A s | s (A s | ||||
| s (ie s | s (ie s | ||||
| s (ion S | |||||
| s (ion S' // PB stress added | |||||
| s (j s | s (j s | ||||
| sch S // PB changed from [s(ch] - casch | sch S // PB changed from [s(ch] - casch | ||||
| al) s (ace 's // PB Alsace (French region) | al) s (ace 's // PB Alsace (French region) | ||||
| p) t t // PB toptitel | p) t t // PB toptitel | ||||
| s) t d // PB stor | s) t d // PB stor | ||||
| A) t (er d // PB Peter, efter, alter | A) t (er d // PB Peter, efter, alter | ||||
| A) t (ere t // PB invitere | |||||
| teress tr@s // PB interessant | teress tr@s // PB interessant | ||||
| L03) t t // PB garanteret | L03) t t // PB garanteret | ||||
| r) t d // PB kuffert | r) t d // PB kuffert | ||||
| t (ie t | t (ie t | ||||
| t (ion+ sj' | t (ion+ sj' | ||||
| t (iøs+ sj' | t (iøs+ sj' | ||||
| &) tt t | |||||
| // &) tt t | |||||
| .group u | .group u | ||||
| u u: // PB u => u: - u couldn't be heard in 'umuligt' | u u: // PB u => u: - u couldn't be heard in 'umuligt' | ||||
| le) v (et // PB blevet, levet | le) v (et // PB blevet, levet | ||||
| la) v (A // PB no v - laver | la) v (A // PB no v - laver | ||||
| la) v (ement @ // PB lavement | la) v (ement @ // PB lavement | ||||
| ve (lse @ // PB øvelse | |||||
| ve (lse v3 // PB øvelse | |||||
| &A) v v | &A) v v | ||||
| &r) v v | &r) v v | ||||
| al) v (A v | al) v (A v | ||||
| y (nK W // PB changed from Y to W - synge, ynde | y (nK W // PB changed from Y to W - synge, ynde | ||||
| l) y (n y // PB lyn | l) y (n y // PB lyn | ||||
| whisk) y i // PB whisky | whisk) y i // PB whisky | ||||
| y (nde 'W // PB begynde - stressed | |||||
| y (nd 'W // PB begynde - stressed | |||||
| best) y (r 'y // PB bestyre - stressed | |||||
| y (mK Y | y (mK Y | ||||
| d) y (_ i | d) y (_ i | ||||
| b) y (A y | b) y (A y | ||||
| .group æ | .group æ | ||||
| æ E | æ E | ||||
| æ (CK E | |||||
| æ (CK E: | |||||
| æ (bK E // PB dræb, slæb | æ (bK E // PB dræb, slæb | ||||
| æ (bt ae? // PB dræbt - FIND A BETTER VOWEL | æ (bt ae? // PB dræbt - FIND A BETTER VOWEL | ||||
| f) æ (re 'E: // PB affære, atmosfære, sfære | f) æ (re 'E: // PB affære, atmosfære, sfære | ||||
| g) ø (r @: | g) ø (r @: | ||||
| h) ø (j V | h) ø (j V | ||||
| ø (je V3 // PB øje | ø (je V3 // PB øje | ||||
| ø (jn V3 // PB øjne | |||||
| h) ø (r W: | h) ø (r W: | ||||
| //k) ø (r W: | //k) ø (r W: | ||||
| l) øg (n 'Vj | l) øg (n 'Vj |
| // 2006-11-18 Gilles Casse <[email protected]> | // 2006-11-18 Gilles Casse <[email protected]> | ||||
| // | // | ||||
| // Updated: 2010-03-05 Michel Such <[email protected]> | |||||
| // Updated: 2010-03-08 Michel Such <[email protected]> | |||||
| // | // | ||||
| // Letter classes: | // Letter classes: | ||||
| a (ils_ a | a (ils_ a | ||||
| a (il_ a | a (il_ a | ||||
| aie (me E2 // paiement | aie (me E2 // paiement | ||||
| ai E2 // aile | |||||
| ai E // aile | |||||
| ai (L06 E // aile | ai (L06 E // aile | ||||
| ai (CAX E // aile | ai (CAX E // aile | ||||
| am (b A~ // jambon | am (b A~ // jambon | ||||
| vin) gt (_neuvi t | vin) gt (_neuvi t | ||||
| gt (_ // vingt doigts | gt (_ // vingt doigts | ||||
| gt t // vingtaine doigté | |||||
| vin) gt (A t // vingtaine doigté | |||||
| gu (i g // anguille | gu (i g // anguille | ||||
| ai) gui (l gw^i // aiguillage | ai) gui (l gw^i // aiguillage | ||||
| C) ill ij // famille | C) ill ij // famille | ||||
| a) il (_ j // bail | a) il (_ j // bail | ||||
| e) il (_ j | e) il (_ j | ||||
| gt) i (m aj | |||||
| u) il (_ j // deuil | u) il (_ j // deuil | ||||
| L01_f) ils (_ is // fils (enfant) | L01_f) ils (_ is // fils (enfant) | ||||
| in (C E~ // vingt | in (C E~ // vingt | ||||
| in (_ W~ // vin | in (_ W~ // vin | ||||
| ing (_ iN | ing (_ iN | ||||
| _) infra (_P5 E~fra | |||||
| _) infra (sP5 E~fra | |||||
| _) inter (@@P5 E~tEr | _) inter (@@P5 E~tEr | ||||
| _) interr (A E~tEr | _) interr (A E~tEr | ||||
| _) inter (_ E~t'Er | _) inter (_ E~t'Er | ||||
| oû u // coûter | oû u // coûter | ||||
| oyes (_ ua // troyes | oyes (_ ua // troyes | ||||
| oy (A uaj // noyer voyelles | oy (A uaj // noyer voyelles | ||||
| _b) oy (co oi- // boycott | |||||
| _c) oy (o oi // coyote | |||||
| _y) o (y o | _y) o (y o | ||||
| oy ua // roy | oy ua // roy | ||||
| o (_ o // zorro allégro | o (_ o // zorro allégro |
| _#-étől e:tY:l $alt2 | _#-étől e:tY:l $alt2 | ||||
| _#-ét e:t $alt2 | _#-ét e:t $alt2 | ||||
| _#-át a:t $alt2 | _#-át a:t $alt2 | ||||
| _#-ének e:nEk | |||||
| _#-ának a:nAk | |||||
| (1-e) elseje $text $alt2 | (1-e) elseje $text $alt2 | ||||
| (1-én) elsején $text $alt2 | (1-én) elsején $text $alt2 | ||||
| (1-jére) elsejére $text $alt2 | (1-jére) elsejére $text $alt2 | ||||
| (1-jétől) elsejétől $text $alt2 | (1-jétől) elsejétől $text $alt2 | ||||
| (1-jéig) elsejéig $text $alt2 | (1-jéig) elsejéig $text $alt2 | ||||
| (1-ének) elsejének $text $alt2 | |||||
| (2-i) másodikai $text $alt2 | (2-i) másodikai $text $alt2 | ||||
| (2-ig) másodikáig $text $alt2 | (2-ig) másodikáig $text $alt2 | ||||
| (3-i) hAR2_mAdikAi $alt2 | (3-i) hAR2_mAdikAi $alt2 |
| kavi) cs (zátony tS | kavi) cs (zátony tS | ||||
| har) c (cselek ts | har) c (cselek ts | ||||
| külön) c (sé ts | külön) c (sé ts | ||||
| mala) c (sül ts | |||||
| mala) c (sül ts | |||||
| .group ch | .group ch | ||||
| ötö) dsz (ör ts: | ötö) dsz (ör ts: | ||||
| ezre) d (szin d | ezre) d (szin d | ||||
| ha) d (szin d | ha) d (szin d | ||||
| hor) d (szí d | |||||
| ezre) d (szá d | |||||
| kó) d (sor d | |||||
| máso) d (szin d | |||||
| hor) d (szí d | |||||
| ezre) d (szá d | |||||
| kó) d (sor d | |||||
| máso) d (szin d | |||||
| .group dz | .group dz | ||||
| é) gh (ajla kh | é) gh (ajla kh | ||||
| se) gg (fe g | se) gg (fe g | ||||
| se) gg (be g | se) gg (be g | ||||
| pro) g (gyak g | |||||
| pro) g (gyak g | |||||
| .group gy | .group gy | ||||
| gy J | gy J | ||||
| e) gy (aránt J: | e) gy (aránt J: | ||||
| e) gy (enrang J: | e) gy (enrang J: | ||||
| e) gy (előre J: | e) gy (előre J: | ||||
| e) gy (enként J: | |||||
| félmege) gy (ez J: | |||||
| e) gy (enként J: | |||||
| félmege) gy (ez J: | |||||
| .group h | .group h | ||||
| kossutht koSu:t: | kossutht koSu:t: | ||||
| készségg ke:SSe:g: | készségg ke:SSe:g: | ||||
| _a) kk (reditál k | _a) kk (reditál k | ||||
| _) köztük kYstyk | |||||
| _) köztük kYstyk | |||||
| .group l | .group l | ||||
| l l | l l | ||||
| me) ll (kas l | me) ll (kas l | ||||
| inte) ll (ige l | inte) ll (ige l | ||||
| e) ll (ipsz l | e) ll (ipsz l | ||||
| _) e) lj (ár lj | |||||
| _) e) lj (ár lj | |||||
| egye) n (jogú n | egye) n (jogú n | ||||
| beto) n (járda n | beto) n (járda n | ||||
| verse) ny (jog n^ | verse) ny (jog n^ | ||||
| irá) ny (jel n^ | |||||
| .group o | .group o | ||||
| o o | o o | ||||
| rádió) ssz (ob Ss | rádió) ssz (ob Ss | ||||
| jelzé) ssz (erű Ss | jelzé) ssz (erű Ss | ||||
| kitöré) ssz (erű Ss | kitöré) ssz (erű Ss | ||||
| hatá) ssz (üne Ss | |||||
| hatá) ssz (üne Ss | |||||
| .group sz | .group sz | ||||
| sz s | sz s | ||||
| néme) t (juhá t | néme) t (juhá t | ||||
| pó) t (je t | pó) t (je t | ||||
| halo) tt (ba t | halo) tt (ba t | ||||
| éle) t (jel t | |||||
| éle) t (jel t | |||||
| .group ts | .group ts | ||||
| ts (_S2 tS //general rule with word end of ts letters | ts (_S2 tS //general rule with word end of ts letters | ||||
| zsz z|s //general exception. Need difference first z and second sz phoneme. For example, rajzszög, rajzszeg, mézszín words. | zsz z|s //general exception. Need difference first z and second sz phoneme. For example, rajzszög, rajzszeg, mézszín words. | ||||
| pén) z (t s | pén) z (t s | ||||
| rende) z (ked s | rende) z (ked s | ||||
| kocká) z (ta s | |||||
| kocká) z (ta s | |||||
| hibá) z (tat s | hibá) z (tat s | ||||
| különbö) z (tet s | különbö) z (tet s | ||||
| válto) z (tat s | válto) z (tat s | ||||
| búcsú) z (ko s | búcsú) z (ko s | ||||
| nyújtó) z (ko s | nyújtó) z (ko s | ||||
| ő) z (sörét z | ő) z (sörét z | ||||
| szedelő) z (kö s | |||||
| alkalma) z (ko s | |||||
| egye) z (ke s | |||||
| egye) z (te s | |||||
| szedelő) z (kö s | |||||
| alkalma) z (ko s | |||||
| egye) z (ke s | |||||
| egye) z (te s | |||||
| .group | .group |
| _11 Od;'innVttsVt; | _11 Od;'innVttsVt; | ||||
| _12 dv;In'AttsVt; | _12 dv;In'AttsVt; | ||||
| _13 tR;In'AttsVt; | _13 tR;In'AttsVt; | ||||
| _14 ts;It'y@-*nVttsVt; | |||||
| _14 tS;It'y@-*nVttsVt; | |||||
| _15 p;Itn'AttsVt; | _15 p;Itn'AttsVt; | ||||
| _16 SE#stn'AttsVt; | _16 SE#stn'AttsVt; | ||||
| _17 s;Imn'AttsVt; | _17 s;Imn'AttsVt; | ||||
| _0C st'o | _0C st'o | ||||
| _2C dv;'es;t;I | _2C dv;'es;t;I | ||||
| _3C tr;'ista | _3C tr;'ista | ||||
| _4C ts;It'yr;E2sta | |||||
| _4C tS;It'yr;E2sta | |||||
| _5C p;,It;s'ot | _5C p;,It;s'ot | ||||
| _6C S,E#s;t;s'ot | _6C S,E#s;t;s'ot | ||||
| _7C s;,Ims'ot | _7C s;,Ims'ot | ||||
| _8C vOs;Ims'ot | _8C vOs;Ims'ot | ||||
| _9C dev;Vn'ostO | _9C dev;Vn'ostO | ||||
| _1MA1 t'ys;Its;V // no '1' before thousand | |||||
| _0MA1 t'ys;Its;i | |||||
| _0M1 t'ys;Vts; | |||||
| _1MA1 t'ys;ItS;V // no '1' before thousand | |||||
| _0MA1 t'ys;ItS;i | |||||
| _0M1 t'ys;VtS; | |||||
| _1MA2 m;,IlI;'on | _1MA2 m;,IlI;'on | ||||
| _0MA2 m;,IlI;'ona | _0MA2 m;,IlI;'ona | ||||
| _0M2 m;,IlI;'onof | _0M2 m;,IlI;'onof |
| [W] fr | [W] fr | ||||
| [Y] fr | [Y] fr | ||||
| [l/] fr | [l/] fr | ||||
| l/l@ [L] base | |||||
| [¼ÈÔ] base | |||||
| l/l@ [] base | |||||
| [L] base | |||||
| [W] fr | [W] fr | ||||
| [Y] fr | [Y] fr | ||||
| [l] fr | [l] fr | ||||
| l/L2_uL [l/2] base | l/L2_uL [l/2] base | ||||
| l/l_3 [l/] de | l/l_3 [l/] de | ||||
| l/l_4 [ll] sq | l/l_4 [ll] sq | ||||
| l/la [L] base | |||||
| [¼ÈÔ] base | |||||
| l/la [] base | |||||
| [L] base | |||||
| [a] fr | [a] fr | ||||
| [l] fr | [l] fr | ||||
| l/l_a [l/3] base | l/l_a [l/3] base | ||||
| [l/] fr | [l/] fr | ||||
| l/le [L] base | |||||
| [¼ÈÔ] base | |||||
| l/le [] base | |||||
| [L] base | |||||
| [l] fr | [l] fr | ||||
| l/l_e [l/3] base | l/l_e [l/3] base | ||||
| [l/] fr | [l/] fr | ||||
| [&:] af | [&:] af | ||||
| l/l_front [L] sq | l/l_front [L] sq | ||||
| l/l_front_ [l/4] sq | l/l_front_ [l/4] sq | ||||
| l/li [L] base | |||||
| [¼ÈÔ] base | |||||
| l/li [] base | |||||
| [L] base | |||||
| [l] fr | [l] fr | ||||
| [l] zh | [l] zh | ||||
| l/l_i [l/3] base | l/l_i [l/3] base | ||||
| [i] sq | [i] sq | ||||
| l/l_long [l] base | l/l_long [l] base | ||||
| [l] fr | [l] fr | ||||
| l/lo [L] base | |||||
| [¼ÈÔ] base | |||||
| l/lo [] base | |||||
| [L] base | |||||
| [l] fr | [l] fr | ||||
| l/l_o [l/3] base | l/l_o [l/3] base | ||||
| [l/] fr | [l/] fr | ||||
| [o2] fr | [o2] fr | ||||
| l^/l_rfx [l.] base | l^/l_rfx [l.] base | ||||
| l/lu [L] base | |||||
| [¼ÈÔ] base | |||||
| l/lu [] base | |||||
| [L] base | |||||
| [l] fr | [l] fr | ||||
| [w^i] fr | [w^i] fr | ||||
| l/l_u [l/3] base | l/l_u [l/3] base | ||||
| vwl_fr/_r [r] fr | vwl_fr/_r [r] fr | ||||
| vwl_fr/r_ [r/2] fr | vwl_fr/r_ [r/2] fr | ||||
| vwl_fr/r_@ [r/2] fr | vwl_fr/r_@ [r/2] fr | ||||
| vwl_fr/r@ [‰g] fr | |||||
| vwl_fr/r@ [Ég] fr | |||||
| vwl_fr/@R [x] pt_pt | vwl_fr/@R [x] pt_pt | ||||
| vwl_fr/_r2 [r] fr | vwl_fr/_r2 [r] fr | ||||
| vwl_fr/@R2 [R] fr_ca | vwl_fr/@R2 [R] fr_ca | ||||
| vwl_fr/ra [‰g] fr | |||||
| vwl_fr/ra [Ég] fr | |||||
| vwl_fr/r_a [r/2] fr | vwl_fr/r_a [r/2] fr | ||||
| vwl_fr/raa [A~] fr | vwl_fr/raa [A~] fr | ||||
| vwl_fr/r_an [A~] fr | vwl_fr/r_an [A~] fr | ||||
| vwl_fr/re [‰g] fr | |||||
| vwl_fr/re [Ég] fr | |||||
| vwl_fr/r_e [r/2] fr | vwl_fr/r_e [r/2] fr | ||||
| vwl_fr/ri [‰g] fr | |||||
| vwl_fr/ri [Ég] fr | |||||
| vwl_fr/r_i [r/2] fr | vwl_fr/r_i [r/2] fr | ||||
| vwl_fr/ro [‰g] fr | |||||
| vwl_fr/ro [Ég] fr | |||||
| vwl_fr/r_o [o] fr | vwl_fr/r_o [o] fr | ||||
| [o2] fr | [o2] fr | ||||
| [r/2] fr | [r/2] fr | ||||
| vwl_fr/ru [‰g] fr | |||||
| vwl_fr/ru [Ég] fr | |||||
| vwl_fr/r_u [r/2] fr | vwl_fr/r_u [r/2] fr | ||||
| vwl_fr/ry [y] fr | vwl_fr/ry [y] fr | ||||
| [w^i] fr | [w^i] fr | ||||
| vwl_ru/ja [ja] ru | vwl_ru/ja [ja] ru | ||||
| vwl_ru/ju [ju] ru | vwl_ru/ju [ju] ru | ||||
| vwl_ru/o [o] ru | vwl_ru/o [o] ru | ||||
| vwl_ru/oo [O] ru | |||||
| vwl_ru/u [u] ru | vwl_ru/u [u] ru | ||||
| vwl_ru/u# [u#] ru | vwl_ru/u# [u#] ru | ||||
| vwl_ru/u#u [u"] ru | vwl_ru/u#u [u"] ru |
| //==================================================== | //==================================================== | ||||
| // French | // French | ||||
| //==================================================== | //==================================================== | ||||
| // Updated 2010-02-25 Michel Such <[email protected]> | |||||
| // Updated 2010-03-12 Michel Such <[email protected]> | |||||
| phoneme #l virtual | phoneme #l virtual | ||||
| // Used for l and l/ | // Used for l and l/ | ||||
| ENDIF | ENDIF | ||||
| IF nextPh(isStressed) THEN | IF nextPh(isStressed) THEN | ||||
| length 45 | |||||
| length 40 | |||||
| ENDIF | ENDIF | ||||
| VowelEnding(vwl_fr/xr) | VowelEnding(vwl_fr/xr) | ||||
| IF prevPh(isPause) OR prevPhW(r/2) THEN | IF prevPh(isPause) OR prevPhW(r/2) THEN | ||||
| FMT(vwl_fr/_r) | FMT(vwl_fr/_r) | ||||
| ELIF prevPhW(p) OR prevPhW(k) THEN | ELIF prevPhW(p) OR prevPhW(k) THEN | ||||
| length 50 | |||||
| IF nextPh(isNotStressed) THEN | |||||
| length 50 | |||||
| ENDIF | |||||
| FMT(vwl_fr/tr) | FMT(vwl_fr/tr) | ||||
| ELIF prevPhW(t) THEN | ELIF prevPhW(t) THEN | ||||
| length 45 | |||||
| IF nextPh(isNotStressed) THEN | |||||
| length 60 | |||||
| ENDIF | |||||
| FMT(vwl_fr/tr) addWav(r3/rx,30) | FMT(vwl_fr/tr) addWav(r3/rx,30) | ||||
| ELIF prevPhW(f) OR prevPhW(g) OR prevPhW(v) THEN | |||||
| ELIF prevPhW(f) OR prevPhW(v) THEN | |||||
| length 40 | length 40 | ||||
| ELIF prevPhW(g) OR prevPh(b) THEN | |||||
| IF nextPh(isNotStressed) THEN | |||||
| length 60 | |||||
| ENDIF | |||||
| ENDIF | ENDIF | ||||
| IF thisPh(isWordStart) THEN | IF thisPh(isWordStart) THEN | ||||
| VowelEnding(vwl_fr/r_u) | VowelEnding(vwl_fr/r_u) | ||||
| EndSwitch | EndSwitch | ||||
| IF prevPh(t) OR prevPh(p) OR prevPh(k) OR prevPh(d) THEN | |||||
| IF prevPh(t) OR prevPh(p) OR prevPh(k) THEN | |||||
| FMT(vwl_fr/trr) | FMT(vwl_fr/trr) | ||||
| ENDIF | ENDIF | ||||
| IF thisPh(isWordEnd) THEN | IF thisPh(isWordEnd) THEN | ||||
| FMT(vwl_fr/r_) addWav(r3/rx, 20) | |||||
| IF prevPhW(v) THEN | |||||
| length 40 | |||||
| ELIF prevPhW(f) THEN | |||||
| length 60 | |||||
| ELIF prevPhW(d) THEN | |||||
| length 80 | |||||
| ENDIF | |||||
| FMT(vwl_fr/r_) addWav(r3/rx, 15) | |||||
| ENDIF | ENDIF | ||||
| IF prevPh(isVowel) THEN | IF prevPh(isVowel) THEN | ||||
| IF nextPh(isPause2) OR nextPh(isPause) THEN | IF nextPh(isPause2) OR nextPh(isPause) THEN | ||||
| FMT(d/d_) addWav(x/d_, 50) | FMT(d/d_) addWav(x/d_, 50) | ||||
| // ELIF nextPh(#r) THEN | // ELIF nextPh(#r) THEN | ||||
| // FMT(d/dr) addWav(x/d, 50) | |||||
| // FMT(d/dr) addWav(x/d, 30) | |||||
| ELIF prevPh(isPause) THEN | ELIF prevPh(isPause) THEN | ||||
| FMT(d/d) addWav(x/d, 50) | FMT(d/d) addWav(x/d, 50) | ||||
| ENDIF | ENDIF | ||||
| ELIF nextPh(#l) THEN | ELIF nextPh(#l) THEN | ||||
| WAV(ustop/pl, 30) | WAV(ustop/pl, 30) | ||||
| ELIF nextPh(#r) THEN | ELIF nextPh(#r) THEN | ||||
| length 50 | |||||
| WAV(ustop/pr, 30) | |||||
| WAV(ustop/pr, 25) | |||||
| ENDIF | ENDIF | ||||
| WAV(ustop/p_unasp_, 90) | WAV(ustop/p_unasp_, 90) | ||||
| endphoneme | endphoneme | ||||
| vcd lbd frc | vcd lbd frc | ||||
| voicingswitch f | voicingswitch f | ||||
| lengthmod 6 | lengthmod 6 | ||||
| length 90 | |||||
| Vowelin f1=0 f2=1000 -300 -200 f3=-300 100 | Vowelin f1=0 f2=1000 -300 -200 f3=-300 100 | ||||
| Vowelout f1=0 f2=1000 -500 -300 f3=-300 60 len=50 | Vowelout f1=0 f2=1000 -500 -300 f3=-300 60 len=50 | ||||
| IF thisPh(isMaxStress) THEN | IF thisPh(isMaxStress) THEN | ||||
| ChangePhoneme(o) | ChangePhoneme(o) | ||||
| ENDIF | ENDIF | ||||
| FMT(vwl_ru/oo) | |||||
| endphoneme | endphoneme | ||||
| vls vel stop | vls vel stop | ||||
| lengthmod 2 | lengthmod 2 | ||||
| Vowelin f1=0 f2=2300 200 300 f3=-200 80 | Vowelin f1=0 f2=2300 200 300 f3=-200 80 | ||||
| Vowelout f1=0 f2=2300 300 400 f3=-200 80 rms=20 | |||||
| Vowelout f1=1 f2=2300 300 400 f3=-200 80 rms=20 | |||||
| IF nextPh(isPause2) THEN | IF nextPh(isPause2) THEN | ||||
| WAV(NULL) | WAV(NULL) | ||||
| vls blb stop | vls blb stop | ||||
| lengthmod 2 | lengthmod 2 | ||||
| Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 rms=30 | Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 rms=30 | ||||
| Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22 | |||||
| Vowelout f1=1 f2=1000 -500 -350 f3=-300 80 rms=22 | |||||
| IF nextPh(isPause2) THEN | IF nextPh(isPause2) THEN | ||||
| WAV(NULL) | WAV(NULL) | ||||
| ENDIF | ENDIF | ||||
| vls alv stop | vls alv stop | ||||
| lengthmod 2 | lengthmod 2 | ||||
| Vowelin f1=0 f2=1700 -300 300 f3=100 80 | Vowelin f1=0 f2=1700 -300 300 f3=100 80 | ||||
| Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 | |||||
| Vowelout f1=1 f2=1700 -300 250 f3=-100 80 rms=20 | |||||
| IF nextPh(isPause2) THEN | IF nextPh(isPause2) THEN | ||||
| WAV(NULL) | WAV(NULL) | ||||
| ENDIF | ENDIF |
| c1 = 0x2026; | c1 = 0x2026; | ||||
| c2 = ' '; | c2 = ' '; | ||||
| } | } | ||||
| UngetC(c_next); | |||||
| if(c1 == 0x2026) | |||||
| c2 = c_next; | |||||
| else | |||||
| UngetC(c_next); | |||||
| } | } | ||||
| punct_data = 0; | punct_data = 0; | ||||
| if((punct = lookupwchar(punct_chars,c1)) != 0) | if((punct = lookupwchar(punct_chars,c1)) != 0) | ||||
| { | { |
| #include "translate.h" | #include "translate.h" | ||||
| #include "wave.h" | #include "wave.h" | ||||
| const char *version_string = "1.43.10 12.Mar.10"; | |||||
| const char *version_string = "1.43.12 13.Mar.10"; | |||||
| const int version_phdata = 0x014300; | const int version_phdata = 0x014300; | ||||
| int option_device_number = -1; | int option_device_number = -1; |
| amp2 = (amp2 * 32)/100; | amp2 = (amp2 * 32)/100; | ||||
| } | } | ||||
| seq_len_adjust=0; | |||||
| len = DoSample2(phdata->sound_addr[pd_WAV], 2, phdata->pd_param[pd_LENGTHMOD]*2, phdata->pd_control, length_mod, amp2); | |||||
| seq_len_adjust=0; | |||||
| if(phdata->sound_addr[pd_WAV] == 0) | |||||
| { | |||||
| len = 0; | |||||
| } | |||||
| else | |||||
| { | |||||
| len = DoSample2(phdata->sound_addr[pd_WAV], 2, phdata->pd_param[pd_LENGTHMOD]*2, phdata->pd_control, length_mod, amp2); | |||||
| } | |||||
| last_frame = NULL; | last_frame = NULL; | ||||
| return(len); | return(len); | ||||
| } // end of DoSample3 | } // end of DoSample3 |
| length=0; | length=0; | ||||
| while(wordx[length] != ' ') length++; | while(wordx[length] != ' ') length++; | ||||
| if(length > 0) | |||||
| wordx[-1] = ' '; // prevent this affecting the pronunciation of the pronuncable part | |||||
| } | } | ||||
| SetSpellingStress(tr,unpron_phonemes,0,posn); | SetSpellingStress(tr,unpron_phonemes,0,posn); | ||||
| // anything left ? | // anything left ? | ||||
| if(*wordx != ' ') | if(*wordx != ' ') | ||||
| { | { | ||||
| if(unpron_phonemes[0] != 0) | |||||
| { | |||||
| // letters which have been spoken individually from affecting the pronunciation of the pronuncable part | |||||
| wordx[-1] = ' '; | |||||
| } | |||||
| // Translate the stem | // Translate the stem | ||||
| end_type = TranslateRules(tr, wordx, phonemes, N_WORD_PHONEMES, end_phonemes, wflags, dictionary_flags); | end_type = TranslateRules(tr, wordx, phonemes, N_WORD_PHONEMES, end_phonemes, wflags, dictionary_flags); | ||||
| for(j=1; j<=nw; j++) | for(j=1; j<=nw; j++) | ||||
| { | { | ||||
| num_wtab[j].flags &= ~FLAG_MULTIPLE_SPACES; // don't use this flag for subsequent parts when splitting a number | |||||
| num_wtab[j].flags &= ~(FLAG_MULTIPLE_SPACES | FLAG_EMBEDDED); // don't use these flags for subsequent parts when splitting a number | |||||
| } | } | ||||
| // include the next few characters, in case there are an ordinal indicator or other suffix | // include the next few characters, in case there are an ordinal indicator or other suffix |