AdjustFormants(): adjust the F2 target by a factor which depends on the voice pitch. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@55 d46cf337-b52f-0410-862d-fd96e6ae7743master
| eg fO@Egz'aamp@L | eg fO@Egz'aamp@L | ||||
| est $abbrev | est $abbrev | ||||
| etc Et'sEtr@ | etc Et'sEtr@ | ||||
| eu $abbrev | |||||
| eur jU@ | eur jU@ | ||||
| hmm h@m | hmm h@m | ||||
| (http ://) eItSti:ti:'pi:_ | (http ://) eItSti:ti:'pi:_ |
| évident evid'A~ | évident evid'A~ | ||||
| évident evidt2 $verb | évident evidt2 $verb | ||||
| couvent k'uvt2 $verb | couvent k'uvt2 $verb | ||||
| concurrent kO~kyR'A~ | |||||
| récurrent rekyR'A~ | |||||
| // MAIN WORD DICTIONARY | // MAIN WORD DICTIONARY | ||||
| sens sA~s | sens sA~s | ||||
| c'est sEt2 $u | |||||
| c'est sEt2 $u+ | |||||
| qu'à ka | qu'à ka | ||||
| qu'y ki | qu'y ki | ||||
| s'y si | s'y si |
| _0 nullA | _0 nullA | ||||
| _1 EJ | _1 EJ | ||||
| _2 kEttY: | _2 kEttY: | ||||
| _3 ha:Rom | |||||
| _3 ha:R2om | |||||
| _4 ne:J | _4 ne:J | ||||
| _5 Yt | _5 Yt | ||||
| _6 hAt | _6 hAt | ||||
| _1X tizEn | _1X tizEn | ||||
| _20 hu:s | _20 hu:s | ||||
| _2X huson | _2X huson | ||||
| _3X hARmints | |||||
| _3X hAR2mints | |||||
| _4X nEJvEn | _4X nEJvEn | ||||
| _5X YtvEn | _5X YtvEn | ||||
| _6X hAtvAn | _6X hAtvAn | ||||
| _0C sa:z | _0C sa:z | ||||
| _1C sa:z | _1C sa:z | ||||
| _0M1 EzER | |||||
| _1M1 EzER | |||||
| _2M1 ke:tEzER | |||||
| _0M1 EzER2 | |||||
| _1M1 EzER2 | |||||
| _2M1 ke:tEzER2 | |||||
| _0M2 millio: | _0M2 millio: | ||||
| _1M2 millio: | _1M2 millio: | ||||
| _2M2 ke:tmillio: | _2M2 ke:tmillio: | ||||
| _0M3 millia:Rd | |||||
| _1M3 millia:Rd | |||||
| _1M3 ke:tmillia:Rd | |||||
| _0M3 millia:R2d | |||||
| _1M3 millia:R2d | |||||
| _1M3 ke:tmillia:R2d | |||||
| _0M4 billio: | _0M4 billio: | ||||
| _1M4 billio: | _1M4 billio: | ||||
| _2M4 ke:tbillio: | _2M4 ke:tbillio: | ||||
| // Abbreviations | // Abbreviations | ||||
| km kilo:me:tER | |||||
| mm milime:tER | |||||
| km kilo:me:tER2 | |||||
| mm milime:tER2 | |||||
| a.m An^n^i||m'int $dot | a.m An^n^i||m'int $dot | ||||
| dr doktoR $dot | |||||
| dr doktoR2 $dot | |||||
| gpu $abbrev | gpu $abbrev | ||||
| id idY:SEb: $dot | id idY:SEb: $dot | ||||
| ill illEdvE $dot | ill illEdvE $dot | ||||
| vö v'EZd||_'Yss2E | vö v'EZd||_'Yss2E | ||||
| ii kEttY: $abbrev | ii kEttY: $abbrev | ||||
| iii ha:Rom $abbrev | |||||
| iii ha:R2om $abbrev | |||||
| iv ne:J $abbrev | iv ne:J $abbrev | ||||
| vi hAt $abbrev | vi hAt $abbrev | ||||
| vii he:t $abbrev | vii he:t $abbrev | ||||
| viii n^olts $abbrev | viii n^olts $abbrev | ||||
| ix kilEnts $abbrev | |||||
| xi tizEnEJ $abbrev | |||||
| xii tizEnkEttY: $abbrev | |||||
| xiii tizEnha:Rom $abbrev | |||||
| xiv tizEnne:J $abbrev | |||||
| xv tizEnYt $abbrev | |||||
| xvi tizEnhAt $abbrev | |||||
| xvii tizEnhe:t $abbrev | |||||
| xviii tizEnn^olts $abbrev | |||||
| xix tizEnkilEnts $abbrev | |||||
| xx hu:s $abbrev | |||||
| xxi husonEJ $abbrev | |||||
| xxii husonkEttY: $abbrev | |||||
| xxiii husonha:Rom $abbrev | |||||
| xxiv husonne:J $abbrev | |||||
| xxv husonYt $abbrev | |||||
| xxvi husonhAt $abbrev | |||||
| xxvii husonhe:t $abbrev | |||||
| xxviii husonn^olts $abbrev | |||||
| xxix husonkilEnts $abbrev | |||||
| xxx hARmints $abbrev | |||||
| // Articles | // Articles | ||||
| közé $u | közé $u | ||||
| között $u | között $u | ||||
| ba $u | |||||
| ba $u // into | |||||
| be $u | be $u | ||||
| ra $u | |||||
| ra $u // onto | |||||
| re $u | re $u | ||||
| ik $u | ik $u | ||||
| as $u | as $u | ||||
| os $u | os $u | ||||
| ós $u | ós $u | ||||
| ös $u | ös $u | ||||
| ból $u | |||||
| ból $u // from inside | |||||
| ből $u | ből $u | ||||
| ról $u | ról $u | ||||
| ről $u | ről $u | ||||
| án $u | án $u | ||||
| én $u | én $u | ||||
| on $u | |||||
| on $u // on | |||||
| en $u | en $u | ||||
| ön $u | ön $u | ||||
| szor $u | |||||
| szor $u // times | |||||
| szer $u | szer $u | ||||
| ször $u | ször $u | ||||
| sem $u $pause // nor | sem $u $pause // nor | ||||
| miatt $u $pause // because | miatt $u $pause // because | ||||
| ban $u | |||||
| ban $u // in | |||||
| ben $u | ben $u | ||||
| hoz $u | hoz $u | ||||
| hez $u | hez $u | ||||
| höz $u | höz $u | ||||
| ig $u | |||||
| nál $u | |||||
| ig $u // up to | |||||
| nál $u // by | |||||
| nél $u | nél $u | ||||
| tól $u | |||||
| tól $u // from | |||||
| től $u | től $u | ||||
| be $u //into | |||||
| ki $u // out of | |||||
| le $u // down | |||||
| fel $u // up | |||||
| föl $u // up | |||||
| meg $u // finish an action | |||||
| el $u // away | |||||
| át $u //through | |||||
| rá $u //onto | |||||
| ide $u // here | |||||
| oda $u // there | |||||
| szét $u //apart | |||||
| össze $u //connect with | |||||
| vissza $u //back | |||||
| ellen $u //against | |||||
| volna $u // would | |||||
| részén $u //on ... part of | |||||
| // word pairs | // word pairs | ||||
| _. pont | _. pont | ||||
| % sa:zAle:k | % sa:zAle:k | ||||
| @ kukAts | @ kukAts | ||||
| € EuRo | |||||
| € EuR2o | |||||
| + plus | + plus | ||||
| § pRARAgRAfuS | |||||
| § pR2AR2AgR2AfuS | |||||
| bb b: | bb b: | ||||
| biz (A b'iz, // bizalmas etc. | biz (A b'iz, // bizalmas etc. | ||||
| biedermeier bi:dER2ma:jER2 | |||||
| .group c | .group c | ||||
| c ts | c ts | ||||
| cc ts: | cc ts: | ||||
| mün) ch (en C | mün) ch (en C | ||||
| maso) ch (istA C | maso) ch (istA C | ||||
| szé) ch tS | szé) ch tS | ||||
| _zi) ch (y tS | |||||
| kilen) c (sz ts | kilen) c (sz ts | ||||
| kvar) c (sz ts | kvar) c (sz ts | ||||
| _szé) ché (ny tSe: | _szé) ché (ny tSe: | ||||
| _sto) ck (holm k | _sto) ck (holm k | ||||
| _) church tSYRtS | |||||
| _) church tSYR2tS | |||||
| .group d | .group d | ||||
| l l | l l | ||||
| ly j | ly j | ||||
| lly jj | lly jj | ||||
| lj jj | |||||
| lj lj | |||||
| C) ly (_ li | C) ly (_ li | ||||
| _kéth) ly li | _kéth) ly li | ||||
| qu kv | qu kv | ||||
| .group r | .group r | ||||
| r R | |||||
| A) r (A R | |||||
| C) r (A R | |||||
| r (C R | |||||
| r (ó_ R2 | |||||
| r R2 | |||||
| rr RR | rr RR | ||||
| _) richa (rd RiCa: | |||||
| _) richá (rd RiCa: | |||||
| _) richa (rd R2iCa: | |||||
| _) richá (rd R2iCa: | |||||
| .group s | .group s | ||||
| va) s (zabl S|| | va) s (zabl S|| | ||||
| _) semmelweiss sEmmElvEjs | _) semmelweiss sEmmElvEjs | ||||
| engel) s s | engel) s s | ||||
| mu) ss (olini ss2 | |||||
| _) saar sa:R2 | |||||
| _) saar sa:R | |||||
| _wa) sh (ing S | |||||
| .group t | .group t | ||||
| A) tyj (A c: | A) tyj (A c: | ||||
| _ka) ty (n ti | _ka) ty (n ti | ||||
| vörösmar) ty ti | |||||
| .group u | .group u | ||||
| x ks | x ks | ||||
| .group y | .group y | ||||
| y j | |||||
| _) y j | |||||
| y i | |||||
| K) y (K i | K) y (K i | ||||
| .group z | .group z | ||||
| tű) z (sz z | tű) z (sz z | ||||
| ví) z (sz z | ví) z (sz z | ||||
| tor) z (szülött z | tor) z (szülött z | ||||
| tor) z (ság z | |||||
| _vité) z z | |||||
| ga) zs (ág zS | ga) zs (ág zS | ||||
| _gá) zsz (ámla zs: | _gá) zsz (ámla zs: | ||||
| .group | .group | ||||
| $ dolla:R | |||||
| $ dolla:R2 | |||||
| ä e | ä e | ||||
| æ e | æ e | ||||
| ß s | ß s |
| _3 tR'e | _3 tR'e | ||||
| _4 kw2'at:Ro | _4 kw2'at:Ro | ||||
| _5 tS'inkw2e | _5 tS'inkw2e | ||||
| _6 s'ej | |||||
| _6 s'Ej | |||||
| _7 s'Et:e | _7 s'Et:e | ||||
| _8 'Ot:o | _8 'Ot:o | ||||
| _9 n'Ove | _9 n'Ove | ||||
| _17 ditSas:'Et:e | _17 ditSas:'Et:e | ||||
| _18 ditS'Ot:o | _18 ditS'Ot:o | ||||
| _19 ditSann'ove | _19 ditSann'ove | ||||
| _2X v'ente | |||||
| _2X v'entj | |||||
| _3X t@-*'enta | _3X t@-*'enta | ||||
| _4X kw2aR'anta | _4X kw2aR'anta | ||||
| _5X tSinkw2'anta | _5X tSinkw2'anta | ||||
| // words that double the following consonant | // words that double the following consonant | ||||
| qualche $double | |||||
| come $double | |||||
| qualche // $double | |||||
| come // $double | |||||
| // possessive adjectives | // possessive adjectives | ||||
| mio $u | mio $u | ||||
| // conjunctions | // conjunctions | ||||
| e $u $pause $double // and | |||||
| e $u $pause // $double // and | |||||
| ed $u $pause | ed $u $pause | ||||
| o $u $pause $double // or | |||||
| o $u $pause // $double // or | |||||
| se $pause // if | se $pause // if | ||||
| ma $pause // but | ma $pause // but | ||||
| perché $pause // because | perché $pause // because | ||||
| // prepositions | // prepositions | ||||
| a $u $double | |||||
| a $u // $double | |||||
| al $u | al $u | ||||
| allo $u | allo $u | ||||
| alla $u | alla $u | ||||
| nelle $u $brk | nelle $u $brk | ||||
| ne $u $brk | ne $u $brk | ||||
| su $u $double // on | |||||
| su $u //$double // on | |||||
| sul $u | sul $u | ||||
| sullo $u | sullo $u | ||||
| sulla $u // on the | sulla $u // on the | ||||
| // aux verb, to be | // aux verb, to be | ||||
| sono $u | sono $u | ||||
| sei $u | sei $u | ||||
| è E $u $double | |||||
| è E $u //$double | |||||
| siamo $u | siamo $u | ||||
| siete $u | siete $u | ||||
| sono $u | sono $u | ||||
| fui $u | fui $u | ||||
| fosti $u | fosti $u | ||||
| fu $u $double | |||||
| fu $u //$double | |||||
| fummo $u | fummo $u | ||||
| foste $u | foste $u | ||||
| furono $u | furono $u | ||||
| sarebbero $u | sarebbero $u | ||||
| // aux verb, to have | // aux verb, to have | ||||
| ho $u $double | |||||
| hai $u $double | |||||
| ha $u $double | |||||
| ho $u //$double | |||||
| hai $u //$double | |||||
| ha $u //$double | |||||
| abbiamo $u | abbiamo $u | ||||
| avete $u | avete $u | ||||
| hanno $u | hanno $u | ||||
| vent vEnt $stem | vent vEnt $stem | ||||
| celsius tsElsj'us | celsius tsElsj'us | ||||
| conoscerla $1 | |||||
| conoscerla $2 | |||||
| no nO | no nO | ||||
| posta pOsta | posta pOsta | ||||
| tesser tess'ER | tesser tess'ER | ||||
| uomini $1 | uomini $1 | ||||
| internet 'internet |
| // ?2 Brazilian Portuguese | // ?2 Brazilian Portuguese | ||||
| // Letters | |||||
| // If a letter has a "word" pronunciation which is different from its | |||||
| // "letter" name, then include the letter name here, with the letter | |||||
| // prefixed by a _ character. | |||||
| // character names | // character names | ||||
| _á ,a&g'udU | |||||
| _à ,agR'avi | |||||
| _â ,asirkuNfl'EksU | |||||
| _ã ,atS'iU | |||||
| _ç s,esed'elj& | |||||
| _é ,e&g'udU | |||||
| _ê ,asirkuNfl'EksU | |||||
| _í ,i&g'udU | |||||
| _ó ,o&g'udU | |||||
| _ô ,osirkuNfl'EksU | |||||
| _õ ,otS'iU | |||||
| _ú ,u&g'udU | |||||
| _ü ,utR'em& | |||||
| _cap maI'uskulU | _cap maI'uskulU | ||||
| _?A l'etR& | _?A l'etR& | ||||
| _?? s'imbolU | _?? s'imbolU | ||||
| usb $abbrev | usb $abbrev | ||||
| // roman numerals | // roman numerals | ||||
| ?1 ii d'oIs# $abbrev | |||||
| ?1 ii d'oIs# $abbrev | |||||
| ?1 iii tr'es# $abbrev | ?1 iii tr'es# $abbrev | ||||
| ?1 iv kw'atru $abbrev | |||||
| ?1 iv kw'atru $abbrev | |||||
| dr $dot | |||||
| dra $dot | |||||
| mr $dot | |||||
| mrs $dot | |||||
| prof pr'Of $dot | |||||
| sr $dot | |||||
| ?1 sra ,Es;'Errj'a $dot | |||||
| ?2 sra $dot | |||||
| dr $dot | |||||
| dra $dot | |||||
| mr $dot | |||||
| mrs $dot | |||||
| prof pr'Of $dot | |||||
| sr $dot | |||||
| ?1 sra ,Es;'Errj'a $dot | |||||
| ?2 sra $dot | |||||
| // articles | // articles | ||||
| o $u+ | o $u+ | ||||
| // Letter names | // Letter names | ||||
| // If a letter has a "word" pronunciation which is different from its | |||||
| // "letter" name, then include the letter name here, with the letter | |||||
| // prefixed by a _ character. | |||||
| // a e o à é can also be words | |||||
| _a a | _a a | ||||
| _e E | _e E | ||||
| _o O | _o O | ||||
| _à ,agR'avi | |||||
| _é ,e&g'udU | |||||
| a a $atend | a a $atend | ||||
| e E $atend // assume letter-e at end of sentence | e E $atend // assume letter-e at end of sentence | ||||
| o O $atend | o O $atend | ||||
| à a $atend | |||||
| é E $atend | |||||
| _á ,a||&g'udU | |||||
| _â ,a||sirkuNfl'EksU | |||||
| _ã ,atS'iU | |||||
| _ç s,esed'elj& | |||||
| _è ,egR'avi | |||||
| _ê ,e||sirkuNfl'EksU | |||||
| _í ,i&g'udU | |||||
| _ó ,o&g'udU | |||||
| _ô ,o||sirkuNfl'EksU | |||||
| _õ ,otS'iU | |||||
| _ú ,u&g'udU | |||||
| _ü ,utR'em& | |||||
| // some common adjectives and adverbs | // some common adjectives and adverbs | ||||
| ?1 end 'end | ?1 end 'end | ||||
| ?1 escape Sk'eIpy | ?1 escape Sk'eIpy | ||||
| ?1 explorer ,ekspl'O:r&r- | ?1 explorer ,ekspl'O:r&r- | ||||
| ?2 explorer ekspl'O*er | |||||
| ?2 Explorer ekspl'O*er | |||||
| ?1 eyes 'aiz | ?1 eyes 'aiz | ||||
| ?1 frame fr'eImy | ?1 frame fr'eImy | ||||
| ?2 frame fR'eImi | ?2 frame fR'eImi | ||||
| ?2 maior maI'Or | ?2 maior maI'Or | ||||
| ?1 menor myn'Or- | ?1 menor myn'Or- | ||||
| ?2 menor men'Or | ?2 menor men'Or | ||||
| ?2 mouse m'aUzi | |||||
| ?2 mouse m'aUzi | |||||
| ?1 menu menu | ?1 menu menu | ||||
| ?1 next n'Ekst | ?1 next n'Ekst | ||||
| ok Ok'eI | ok Ok'eI | ||||
| ?1 scroll sk:r'ol | ?1 scroll sk:r'ol | ||||
| ?1 site s'aIt | ?1 site s'aIt | ||||
| ?2 site s'aItSi | ?2 site s'aItSi | ||||
| ?1 software s'Oft,w'Er- | |||||
| ?2 software s'Oftwe@- | |||||
| ?1 software s'Oft,w'Er- | |||||
| ?2 software s'Oftwe@- | |||||
| ?1 space sp'eIsy | ?1 space sp'eIsy | ||||
| ?1 sporting sp'Ort,ing | ?1 sporting sp'Ort,ing | ||||
| ?1 tab t'ab | ?1 tab t'ab | ||||
| espeak isp'i:k | espeak isp'i:k | ||||
| ?1 espeakedit isp'i:kEd,it | ?1 espeakedit isp'i:kEd,it | ||||
| ?1 fedora _^_EN | ?1 fedora _^_EN | ||||
| ?1 firefox f'ai&rfOks | |||||
| ?2 firefox f'ai@fOks | |||||
| ?1 firefox f'ai&rfOks | |||||
| ?2 firefox f'ai@fOks | |||||
| ?1 front fr'ont | ?1 front fr'ont | ||||
| ?1 jaws dZ'au:z | ?1 jaws dZ'au:z | ||||
| ?2 jaws dZ'Os | ?2 jaws dZ'Os | ||||
| ?1 office 'Of,is | ?1 office 'Of,is | ||||
| openoffice 'opeIN|'Ofis | openoffice 'opeIN|'Ofis | ||||
| ?1 outlook 'autl'uk | ?1 outlook 'autl'uk | ||||
| ?2 Outlook ,aUtl'uk | |||||
| ?1 paint p'aint | ?1 paint p'aint | ||||
| ?1 player pl'eI&r- | ?1 player pl'eI&r- | ||||
| ?1 point p'oint | ?1 point p'oint | ||||
| ?1 Publisher p'&bl,iS&r- | ?1 Publisher p'&bl,iS&r- | ||||
| ?1 reader r'id,&r- | ?1 reader r'id,&r- | ||||
| ?1 setup s'Et'&p | ?1 setup s'Et'&p | ||||
| ?1 scout sk'aut // Nero scout | |||||
| ?1 scout sk'aut // Nero scout | |||||
| ?1 skype sk'aip | ?1 skype sk'aip | ||||
| slackware sl'akwe@ | |||||
| ?2 Skype sk'aIp | |||||
| Slackware sl'akwe@- | |||||
| ?1 smart sm'art // nero StartSmart | ?1 smart sm'art // nero StartSmart | ||||
| speak spi:k | speak spi:k | ||||
| suse z'u:ts@ | suse z'u:ts@ |
| e (be_ E | e (be_ E | ||||
| e (bem_ E | e (bem_ E | ||||
| e (bes_ E | e (bes_ E | ||||
| e (ca_ E | |||||
| e (ca_ E | |||||
| e (ce_ E | e (ce_ E | ||||
| e (cem_ E | e (cem_ E | ||||
| e (ces_ E | e (ces_ E | ||||
| e (la_ E | e (la_ E | ||||
| e (las_ E | e (las_ E | ||||
| e (rA_ E | |||||
| e (rAm_ E | |||||
| e (rAs_ E | |||||
| e (rA_ E | |||||
| e (rAm_ E | |||||
| e (rAs_ E | |||||
| e (rsA_ E | |||||
| e (rsAm_ E | |||||
| e (rsAs_ E | |||||
| e (stA_ E | e (stA_ E | ||||
| e (stAm_ E | e (stAm_ E | ||||
| e (stAs_ E | e (stAs_ E | ||||
| eu (s eU | eu (s eU | ||||
| e (uCK e | e (uCK e | ||||
| j) e (tA_ E | |||||
| j) e (tAm_ E | |||||
| j) e (tAs_ E | |||||
| ?1 _) es (C@@ S // drop initial "e". | ?1 _) es (C@@ S // drop initial "e". | ||||
| ?1 _) e (f i // efectuar, etc. | ?1 _) e (f i // efectuar, etc. | ||||
| ?1 _n) e (nhu i // eg: nenhum, nenhuma, nenhuns, nenhumas. | ?1 _n) e (nhu i // eg: nenhum, nenhuma, nenhuns, nenhumas. | ||||
| ?1 C) oo (_ ow // eg: voo, enjoo, etc... | ?1 C) oo (_ ow // eg: voo, enjoo, etc... | ||||
| oy OI | oy OI | ||||
| o (Ca_ O | |||||
| o (g_ O | |||||
| o (gs_ O | |||||
| o (Ca_ O | |||||
| ?1 o (l_ 'O | ?1 o (l_ 'O | ||||
| ?2 ol (_ Ow | ?2 ol (_ Ow | ||||
| ?2 olh olj | ?2 olh olj | ||||
| on (K oN | on (K oN | ||||
| o (na_ o | o (na_ o | ||||
| onh on^ | onh on^ | ||||
| o (brA_ O | |||||
| o (brAm_ O | |||||
| o (brAs_ O | |||||
| o (brA_ O | |||||
| o (brAm_ O | |||||
| o (brAs_ O | |||||
| o (rCA_ O | o (rCA_ O | ||||
| o (rCAm_ O | o (rCAm_ O | ||||
| o (rCAs_ O | o (rCAs_ O |
| 37 phoneme tables | 37 phoneme tables | ||||
| new total | new total | ||||
| base 96 96 | base 96 96 | ||||
| base2 24 114 | |||||
| base2 23 114 | |||||
| en 53 144 | en 53 144 | ||||
| en_n 29 144 | en_n 29 144 | ||||
| en_us 37 144 | en_us 37 144 | ||||
| hr 19 129 | hr 19 129 | ||||
| sr 2 129 | sr 2 129 | ||||
| ru 36 124 | ru 36 124 | ||||
| it 16 117 | |||||
| it 17 117 | |||||
| la 21 114 | la 21 114 | ||||
| es 6 114 | es 6 114 | ||||
| pt 28 131 | pt 28 131 |
| // Italian | // Italian | ||||
| //==================================================== | //==================================================== | ||||
| phoneme : // Lengthen previous vowel by "length" | |||||
| virtual | |||||
| length 70 | |||||
| endphoneme | |||||
| phoneme a | phoneme a |
| // Italian | // Italian | ||||
| //==================================================== | //==================================================== | ||||
| phoneme : // Lengthen previous vowel by "length" | |||||
| virtual | |||||
| length 40 | |||||
| endphoneme | |||||
| phoneme a | phoneme a | ||||
| vowel starttype (a) endtype (a) | vowel starttype (a) endtype (a) |
| phoneme : // Lengthen previous vowel by "length" | phoneme : // Lengthen previous vowel by "length" | ||||
| virtual | virtual | ||||
| length 60 | |||||
| length 70 | |||||
| endphoneme | endphoneme | ||||
| phoneme - // Indicates the previous phoneme is a syllabic consonant | phoneme - // Indicates the previous phoneme is a syllabic consonant | ||||
| after l l/lo | after l l/lo | ||||
| after L l/lo | after L l/lo | ||||
| after l^ l^/j2o | after l^ l^/j2o | ||||
| after r r/ro-15 | |||||
| after #r r/ro-15 | |||||
| after r- r2/r2o | after r- r2/r2o | ||||
| after m m/mo | after m m/mo | ||||
| after n n/no | after n n/no | ||||
| after l l/lu | after l l/lu | ||||
| after L l/lu | after L l/lu | ||||
| after l^ l^/j2u | after l^ l^/j2u | ||||
| after r r/ru-15 | |||||
| after #r r/ru-15 | |||||
| after r- r2/r2u | after r- r2/r2u | ||||
| after m m/mu | after m m/mu | ||||
| after n n/nu | after n n/nu | ||||
| include ph_swahili | include ph_swahili | ||||
| //phonemetable basef base | |||||
| //include pf | |||||
| phonemetable basef base | |||||
| include pf | |||||
| //phonemetable f_en basef | |||||
| //include pf_english | |||||
| phonemetable f_en basef | |||||
| include pf_english |
| /*************************************************************************** | |||||
| * Copyright (C) 2004 by Jonathan Duddington * | |||||
| * [email protected] * | |||||
| * * | |||||
| * This program is free software; you can redistribute it and/or modify * | |||||
| * it under the terms of the GNU General Public License as published by * | |||||
| * the Free Software Foundation; either version 2 of the License, or * | |||||
| * (at your option) any later version. * | |||||
| * * | |||||
| * This program is distributed in the hope that it will be useful, * | |||||
| * but WITHOUT ANY WARRANTY; without even the implied warranty of * | |||||
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * | |||||
| * GNU General Public License for more details. * | |||||
| * * | |||||
| * You should have received a copy of the GNU General Public License * | |||||
| * along with this program; if not, write to the * | |||||
| * Free Software Foundation, Inc., * | |||||
| * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
| ***************************************************************************/ | |||||
| #ifndef _VOICEEDIT_H_ | |||||
| #define _VOICEEDIT_H_ | |||||
| /** | |||||
| * @short Application Main Window | |||||
| * @author Jonathan Duddington <[email protected]> | |||||
| * @version 0.1 | |||||
| */ | |||||
| class | |||||
| voiceeditapp : public wxApp | |||||
| { | |||||
| public: | |||||
| virtual bool OnInit(); | |||||
| }; | |||||
| class | |||||
| voiceeditFrame : public wxFrame | |||||
| { | |||||
| public: | |||||
| voiceeditFrame( const wxString& title, const wxPoint& pos, const wxSize& pos ); | |||||
| void OnQuit( wxCommandEvent& event ); | |||||
| void OnAbout( wxCommandEvent& event ); | |||||
| private: | |||||
| DECLARE_EVENT_TABLE() | |||||
| }; | |||||
| enum | |||||
| { | |||||
| Menu_File_Quit = 100, | |||||
| Menu_File_About | |||||
| }; | |||||
| #endif // _VOICEEDIT_H_ |
| #include "translate.h" | #include "translate.h" | ||||
| #include "wave.h" | #include "wave.h" | ||||
| const char *version_string = "1.26.10 23.Jun.07"; | |||||
| const char *version_string = "1.26.11 26.Jun.07"; | |||||
| const int version_phdata = 0x012601; | const int version_phdata = 0x012601; | ||||
| int option_device_number = -1; | int option_device_number = -1; |
| //hf_reduce = 70; // ?? using fixed amount rather than the parameter?? | //hf_reduce = 70; // ?? using fixed amount rather than the parameter?? | ||||
| target = (target * voice->formant_factor)/256; | |||||
| x = (target - fr->ffreq[2]) / 2; | x = (target - fr->ffreq[2]) / 2; | ||||
| if(x > max) x = max; | if(x > max) x = max; | ||||
| if(x < min) x = min; | if(x < min) x = min; |
| int echo_amp; | int echo_amp; | ||||
| int n_harmonic_peaks; // highest formant which is formed from adding harmonics | int n_harmonic_peaks; // highest formant which is formed from adding harmonics | ||||
| int peak_shape; // alternative shape for formant peaks (0=standard 1=squarer) | int peak_shape; // alternative shape for formant peaks (0=standard 1=squarer) | ||||
| int voicing; // 100% = 64, level of formant-synthesized sound | |||||
| int voicing; // 100% = 64, level of formant-synthesized sound | |||||
| int formant_factor; // adjust nominal formant frequencies by this because of the voice's pitch (256ths) | |||||
| // parameters used by Wavegen | // parameters used by Wavegen | ||||
| int freq[N_PEAKS]; // 100% = 256 | int freq[N_PEAKS]; // 100% = 256 |
| // default is: pitch 82,118 | // default is: pitch 82,118 | ||||
| voice->pitch_base = 0x49000; // default, 73 << 12; | voice->pitch_base = 0x49000; // default, 73 << 12; | ||||
| voice->pitch_range = 0x0f30; // default = 0x1000 | voice->pitch_range = 0x0f30; // default = 0x1000 | ||||
| voice->formant_factor = 256; | |||||
| voice->echo_delay = 0; | voice->echo_delay = 0; | ||||
| voice->echo_amp = 0; | voice->echo_amp = 0; | ||||
| break; | break; | ||||
| case V_PITCH: | case V_PITCH: | ||||
| { | |||||
| double factor; | |||||
| // default is pitch 82 118 | // default is pitch 82 118 | ||||
| n = sscanf(p,"%d %d",&pitch1,&pitch2); | n = sscanf(p,"%d %d",&pitch1,&pitch2); | ||||
| voice->pitch_base = (pitch1 - 9) << 12; | voice->pitch_base = (pitch1 - 9) << 12; | ||||
| voice->pitch_range = (pitch2 - pitch1) * 108; | voice->pitch_range = (pitch2 - pitch1) * 108; | ||||
| factor = float(pitch1 - 82)/82; | |||||
| voice->formant_factor = (1+factor/4) * 256; | |||||
| } | |||||
| break; | break; | ||||
| case V_STRESSLENGTH: // stressLength | case V_STRESSLENGTH: // stressLength |
| hswitch = 0; | hswitch = 0; | ||||
| harmspect = hspect[0]; | harmspect = hspect[0]; | ||||
| maxh2 = PeaksToHarmspect(peaks,pitch<<4,hspect[0],0); | maxh2 = PeaksToHarmspect(peaks,pitch<<4,hspect[0],0); | ||||
| // adjust amplitude to compensate for fewer harmonics at higher pitch | |||||
| amplitude2 = (amplitude * pitch)/(100 << 12); | amplitude2 = (amplitude * pitch)/(100 << 12); | ||||
| // switch sign of harmonics above about 900Hz, to reduce max peak amplitude | // switch sign of harmonics above about 900Hz, to reduce max peak amplitude |